Skip to content

v0.2.0-Beta - Second Beta Release

Pre-release
Pre-release

Choose a tag to compare

@marteinnlundi marteinnlundi released this 14 May 22:51
· 25 commits to main since this release

v0.2.0-beta – Full Discovery + Port Scanning Release

Second beta release with full scanning and enrichment pipeline

Overview

This release introduces a complete two-phase scanning pipeline, with host discovery and port scanning modules fully integrated.
It builds upon the architecture of v0.1.0-beta, adding robust batching, dynamic resource control, and full database tracking.


Major Features

Host Discovery (Phase 1)

  • New IPScanner and IPManager modules
  • Multi-probe liveness detection (ICMP, TCP SYN, TCP ACK with TTL)
  • Batched and direct scan support depending on scan size
  • WHOIS enrichment with support for RIX.is block files and live WHOIS lookups
  • Encrypted host records stored in PostgreSQL

Port Scanning (Phase 2)

  • New PortScanner and PortManager with ProbeHandler logic
  • Priority vs full-range port queues (configurable)
  • Stealth connect-scanning using Nmap and FPE IP encryption
  • Resilient handling of scan errors, closed ports, and unknown states
  • Dynamic batching: per-port workers over live IPs

Queue + Worker Framework

  • Complete RabbitMQ lifecycle:
    • Queue declaration, deletion, draining, failure routing
  • Worker orchestration with dynamic concurrency and load checking (CPU & memory thresholds)
  • Resilient error logging, fallback mechanisms, and retry support

Database Integration

  • Summary table auto-updated with scan metadata (timestamps, IP blocks, scanned ports)
  • Host and Port tables updated via dedicated worker threads
  • Automatic reconnection and retry logic for transient DB failures

Security & Config

  • Full format-preserving encryption (FPE) for all IPs at rest
  • Centralized config (scan_config.py) with support for memory/CPU limits, batch sizes, delays
  • Secrets pulled securely from .env using dotenv

Stability and Scope

This version is functionally complete for scanning, queueing, enrichment, and DB I/O.
It remains a beta release — not yet production hardened, but architecturally stable.


Tag: v0.2.0-beta
Branch: master
Base: dev


Full Changelog: https://github.com/volvan/scanner/commits/v0.2.0-beta