-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
enhancementNew feature or requestNew feature or request
Description
Summary
Add support for scanning CIDR ranges (e.g., 192.168.1.0/24) and scheduled/recurring scans for continuous network monitoring.
Motivation
- Network security assessments typically target entire subnets, not individual hosts
- CIDR notation is the standard way to specify network ranges
- Scheduled scans enable continuous monitoring and change detection
- Comparing scan results over time reveals new hosts and services (network drift)
Proposed Approach
-
CIDR range parsing:
- Support CIDR notation (10.0.0.0/8, 192.168.1.0/24)
- Support IP ranges (192.168.1.1-254)
- Support comma-separated targets and target files
- Exclude list for skipping specific IPs (--exclude, --exclude-file)
- Use ipaddress module from Python stdlib
-
Host discovery:
- ICMP ping sweep before port scanning
- ARP discovery for local network segments
- TCP SYN ping for hosts that block ICMP
- Configurable: skip discovery and scan all (--Pn equivalent)
-
Scan scheduling:
- Cron-style schedule configuration
- Persistent scan jobs with SQLite storage
- Delta reporting: highlight changes between scans
- CLI commands:
schedule add,schedule list,schedule remove
-
Diff reporting:
- Compare current scan against previous baseline
- Report new hosts, removed hosts, changed services
- Output as structured diff (JSON, text table)
Acceptance Criteria
- CIDR and range parsing with exclusion support
- Host discovery with multiple methods
- Scan scheduling with persistent job storage
- Diff reporting between consecutive scans
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request