Nmap & Port Scanning

Don't trust the default scan. The default only covers common ports 0–1000.

TCP handshake: SYN → SYN+ACK → ACK.

Part of the opening routine — see Enum-checklist.

Scan types / key flags

FlagMeaning
-sSSYN / stealth scan (default; SYN then RST)
-sTFull TCP handshake — use over proxychains (pivoting)
-sUUDP scan (Code 3 = closed; no response = open)
-sCDefault script scan (shows some vulns)
-sV / -AVersion detection / OS + scripts + traceroute
-OOS detection
-sN / -sF / -sXNull / FIN / Xmas stealth scans
-sAACK scan (firewall mapping)
-sWWindow scan (window size 0 = open)
-p-All ports 0–65535
-p 22,80,443Specific ports
-FFast — top 100 ports
--top-ports=20Top N ports
-PnSkip host-alive ping (slower)
-n / -rNo DNS / force DNS
-snHost discovery only
--min-rate 10000Packets per second
-T3/-T4Timing
-fFragment packets
-sIIdle / zombie scan
--script=NAMEScript from /usr/share/nmap/scripts/
--script vulnVulnerability scripts
-oN/-oG/-oX/-oSOutput formats
-v/-vvVerbosity

Common invocations

nmap -p- --min-rate 10000 -T4 -Pn IP -oN nmap.allports.txt
nmap -sC -sV -T4 IP -oN nmap.tcp.txt                 # TCP
nmap -sU -T4 --top-ports=100 IP                      # UDP
nmap -Pn -p445 --script vuln 192.168.232.40          # vuln scripts
nmap -sV -p 443 --script "vuln" 192.168.250.13
nmap -sn 192.168.50.1-253                            # network sweep
proxychains nmap -O -sT -T4 -Pn --min-rate 10000 10.10.79.148 --top-ports 100 -vv

Netcat port scan

nc -nvv -w 1 -z 192.168.50.152 3388-3390   # TCP range
nc -nv -u -z -w 1 192.168.50.149 120-123   # UDP (unreliable)

Helpers

./nmapAutomator.sh --host 10.1.1.1 --type All
./nmapAutomator.sh -H academy.htb -t Recon -d 1.1.1.1
# Threader3000 for fast initial port discovery