Skip to main content

Module scan

Module scan 

Source
Expand description

scan submodule. Parallel TCP connect and UDP probes (tokio + bounded concurrency).

Structs§

PortLine
PortLine — see fields for layout.
ProbeRatePacer
Global cap on how fast probe tasks may start (--max-rate, probes/sec minimum spacing).

Enums§

PortReason
PortReason — see variants.
UdpIcmpOutcome
Outcome of an ICMP error that references our UDP probe (embedded IP header + UDP).

Functions§

sleep_inter_probe_delay_sync
Blocking SYN send loop: sleep before each probe (after host-timeout check).
tcp_connect_scan
TCP connect scan: conc long-lived worker tasks drain a shared work queue via atomic index. When no proxies are configured, workers use blocking std::net::TcpStream::connect_timeout (fewer syscalls: no ioctl/fcntl non-blocking setup per probe). Falls back to async tokio connect when proxies need the async I/O path. progress is an optional atomic counter incremented after each probe completes (for --stats-every).
udp_scan
UDP scan: send a minimal datagram and treat any UDP reply as open; timeout → open|filtered.

Type Aliases§

UdpIcmpNotes
Concurrent map filled by ICMP / ICMPv6 listeners. Closed wins over Filtered if both appear.