Calibrate
Measures the target before scanning and chooses an initial timeout and worker profile.
Portis is an adaptive TCP port scanner for high-latency and unstable networks. It measures first, tunes itself, and hands confirmed ports to nmap.
Early release: Portis is under active development. New features, upgrades, broader testing, and further accuracy and performance tuning are planned for future releases.
$ ../portis -ip 10.129.18.76 -a
[portis · adaptive port scanner for slow networks]
[portis] Scan has started against 10.129.18.76
[portis] Calibrating against target network...
[portis] Profile: timeout=287.783082ms workers=628 samples=3
[portis] Worker utilization: 942/1048518 (0.09%)
[open] 21 (191.851264ms)
[open] 80 (190.741024ms)
[open] 443 (191.855388ms)
[open] 389 (194.502347ms, recovered)
[portis] 65536/65536 (100%) — 4 open, 65532 filtered, 0 closed — 2m1s elapsed
[portis] Open:21, 80, 443, 389
[portis] No closed ports found
[portis] Filtered:65532 hidden (use -vv to list)
[portis] Done in 2m1.734s
Next step:
Identify services: nmap -sC -sV -Pn -p 21,80,443,389 10.129.18.76
Portis is designed to complement nmap, not replace it.
Measures the target before scanning and chooses an initial timeout and worker profile.
Scans TCP ports concurrently, tuned for the observed network rather than a fixed preset.
Moves uncertain responses through a separate retry path and adapts when replies slow down.
Outputs the open-port set and suggests an nmap command for deeper enumeration.
Observed medians from authorized Hack The Box lab targets over a high-latency VPN.
Early benchmark data, not a universal performance claim. Full-range accuracy remains experimental; see the repository for methodology and limitations.
Linux AMD64 · IPv4 · TCP connect scanning
$ portis -ip 10.0.0.5 -port 1-1000↗