Nmap ist ein sehr mächtiges Tool zum Herausfinden ob Ports offen sind und auf eingehende Verbindungen warten. Dazu bietet nmap verschiedene Möglichkeiten einen Scan durchzuführen:
Stealth SYN-Scan
Der SYN-Scan stellt keine vollständige Verbindung zum Zielrechner her, wie es beim „Three-Way-Handshake“ üblich wäre. Dabei sendet nmap ein SYN-Paket und untersucht die Antwort des Zielrechners. Wird als Antwort ein SYN/ACK-Paket empfangen, werden Verbindungen auf diesem Port akzeptiert. Anstelle eines ACK-Paket zurückzusenden, wird die Verbindung durch nmap sofort unterbrochen, indem ein RST-Paket zum Zielrechner gesendet wird. Dies verhindert, dass der Dienst zu einem DoS Opfer wird.
sudo nmap -sS 192.168.0.1
UDP-Scan
Beim UDP-Scan sendet nmap an jeden zu prüfenden Port ein UDP-Paket, dabei ist der Paketinhalt meistens leer. Ist es jedoch ein „bekannter“ Port wie 53 oder 161 wird der Inhalt des Paketes dem Protokoll angepasst.
sudo nmap -sU 192.168.0.1
Scan mit „Lockadressen“ (Scan with decoys)
Das Scanning mit „Lockadressen“ versucht die eigene IP-Adresse, hinter mehreren aktiven IP-Adressen, zu verstecken. Dabei sendet nmap einige Pakete mit der eigenen IP-Adresse und sendet danach gefälschte Pakete mit den Lockadressen. Ein IDS kann so zwar erkennen, dass von einigen IP-Adressen einen Port-Scan durchgeführt wird, aber welche Adresse den effektiven Scan verursacht, ist nicht einfach zu bestimmen. Wichtig dabei ist, dass „decoys“ gewählt werden welche aktiv sind, damit der Zielrechner nicht Opfer eines SYN-Flooding wird.
sudo nmap -D 192.168.0.200,192.168.0.300 192.168.0.1
Im Beispiel wird der Zielrechner 192.168.0.1 gescannt. Die Lockadressen sind: 192.168.0.200 und 192.168.0.300
FIN-, X-mas- und Null-Scans
Bei diesen 3 Scans wird ein unsinniges Paket an jeden Port des Zielrechner geschickt. Wenn der Port aktiv ist, werden diese Pakete einfach ignoriert. Ist der Port jedoch geschlossen und das System reagiert wie im RFC 793 definiert, dann wird es ein RST-Paket zurückschicken. Diese Techniken funktionieren nicht auf allen Systemen, da sich nicht alle Implementierungen nach dem RFC 793 richten. Unter anderem sind das Microsoft Windows, einige Cisco-Devices, BSDI und IBM OS/400.
Null-Scan
sudo nmap -sN 192.168.0.1
Dabei ist kein einziges Flag gesetzt
FIN-Scan
sudo nmap -sF 192.168.0.1
TCP FIN-Flag ist gesetzt
X-mas-Scan
sudo nmap -sX 192.168.0.1
Da dieses Paket die Flags FIN, PSH und URG gesetzt hat, heisst die Technik xmas-scan. (Es leuchtet wie ein Weihnachtsbaum)