-sL
(Listen-Scan)
Der Listen-Scan ist eine degenerierte Form der Host-Discovery, die einfach jeden Host des/der angegebenen Netzwerks/Netzwerke auflistet, ohne Pakete an die Zielhosts zu senden. Standardmäßig führt Nmap immer noch eine Reverse-DNS-Auflösung für die Hosts durch, um ihre Namen zu erfahren. Es ist oft überraschend, wie viele nützliche Informationen einfache Hostnamen preisgeben. Zum Beispiel ist fw.chi
der Name der Chicagoer Firewall eines Unternehmens. Nmap meldet am Ende auch die Gesamtzahl der IP-Adressen. Der Listenscan ist eine gute Überprüfung, um sicherzustellen, dass Sie die richtigen IP-Adressen für Ihre Ziele haben. Wenn die Hosts Domain-Namen tragen, die Sie nicht kennen, lohnt es sich, weitere Nachforschungen anzustellen, um zu verhindern, dass das falsche Firmennetz gescannt wird.
Da die Idee darin besteht, einfach eine Liste von Ziel-Hosts zu drucken, können Optionen für Funktionen auf höherer Ebene wie Port-Scanning, Betriebssystemerkennung oder Host-Erkennung nicht damit kombiniert werden. Wenn Sie die Host-Erkennung deaktivieren und trotzdem solche höheren Funktionen ausführen wollen, lesen Sie die Option -Pn
(Host-Erkennung überspringen).
-sn
(Kein Port-Scan)
Diese Option weist Nmap an, nach der Host-Erkennung keinen Port-Scan durchzuführen und nur die verfügbaren Hosts auszudrucken, die auf die Host-Erkennungs-Sonden geantwortet haben. Dies wird oft als „Ping-Scan“ bezeichnet, aber Sie können auch verlangen, dass Traceroute und NSE-Host-Skripts ausgeführt werden. Dies ist standardmäßig eine Stufe eindringlicher als der Listenscan und kann oft für dieselben Zwecke verwendet werden. Er ermöglicht eine leichte Erkundung eines Zielnetzes, ohne viel Aufmerksamkeit zu erregen. Zu wissen, wie viele Hosts aktiv sind, ist für Angreifer wertvoller als die Liste, die der Listenscan für jede einzelne IP und jeden einzelnen Hostnamen liefert.
Systemadministratoren finden diese Option ebenfalls oft nützlich. Sie kann leicht verwendet werden, um die verfügbaren Rechner in einem Netzwerk zu zählen oder die Serververfügbarkeit zu überwachen. Dies wird oft als Ping-Sweep bezeichnet und ist zuverlässiger als das Anpingen der Broadcast-Adresse, da viele Hosts nicht auf Broadcast-Anfragen antworten.
Die standardmäßige Host-Ermittlung, die mit -sn
durchgeführt wird, besteht standardmäßig aus einer ICMP-Echo-Anforderung, TCP SYN an Port 443, TCP ACK an Port 80 und einer ICMP-Zeitstempel-Anforderung. Bei der Ausführung durch einen unprivilegierten Benutzer werden nur SYN-Pakete (mit einem connect
-Aufruf) an die Ports 80 und 443 des Ziels gesendet. Wenn ein privilegierter Benutzer versucht, Ziele in einem lokalen Ethernet-Netzwerk zu scannen, werden ARP-Anfragen verwendet, sofern nicht --send-ip
angegeben wurde. Die Option -sn
kann mit jedem der Discovery-Sondentypen (den Optionen -P*
) kombiniert werden, um eine größere Flexibilität zu erreichen. Wenn eine dieser Optionen für Sondentyp und Portnummer verwendet wird, werden die Standard-Sondierungen außer Kraft gesetzt. Wenn zwischen dem Quell-Host, auf dem Nmap läuft, und dem Zielnetz strenge Firewalls bestehen, wird die Verwendung dieser erweiterten Techniken empfohlen. Andernfalls könnten Hosts übersehen werden, wenn die Firewall Sonden oder deren Antworten verwirft.
In früheren Versionen von Nmap war -sn
als -sP
bekannt.
-Pn
(No ping)
Diese Option überspringt die Phase der Host-Erkennung ganz. Normalerweise benutzt Nmap diese Phase, um aktive Rechner für umfangreichere Scans zu bestimmen und die Geschwindigkeit des Netzwerks zu messen. Standardmäßig führt Nmap nur schweres Sondieren wie Port-Scans, Versionserkennung oder Betriebssystemerkennung bei Hosts durch, die als aktiv erkannt werden. Die Deaktivierung der Host-Erkennung mit -Pn
bewirkt, dass Nmap die angeforderten Scan-Funktionen an jeder angegebenen Ziel-IP-Adresse versucht. Wenn also in der Befehlszeile ein Netzwerk der Größe /16 angegeben wird, werden alle 65.536 IP-Adressen gescannt. Die korrekte Host-Erkennung wird wie beim Listenscan übersprungen, aber anstatt anzuhalten und die Zielliste zu drucken, fährt Nmap fort, die angeforderten Funktionen auszuführen, als ob jede Ziel-IP aktiv wäre. Es werden voreingestellte Zeitparameter verwendet, was zu langsameren Scans führen kann. Um die Host-Erkennung und den Port-Scan zu überspringen und trotzdem NSE laufen zu lassen, verwenden Sie die beiden Optionen -Pn -sn
zusammen.
Für Rechner in einem lokalen Ethernet-Netzwerk wird weiterhin ein ARP-Scan durchgeführt (sofern nicht --disable-arp-ping
oder --send-ip
angegeben ist), weil Nmap MAC-Adressen benötigt, um die Ziel-Hosts weiter zu scannen. In früheren Versionen von Nmap war -Pn
-P0
und -PN
.
-PS
(TCP SYN Ping)<port list>
Diese Option sendet ein leeres TCP-Paket mit gesetztem SYN-Flag. Der Standard-Zielport ist 80 (zur Kompilierungszeit konfigurierbar durch Ändern von DEFAULT_TCP_PROBE_PORT_SPEC
in nmap.h
). Andere Ports können als Parameter angegeben werden. Die Syntax ist die gleiche wie bei -p
, mit der Ausnahme, dass Porttyp-Spezifikationen wie T:
nicht zulässig sind. Beispiele sind -PS22
und -PS22-25,80,113,1050,35000
. Beachten Sie, dass zwischen -PS
und der Portliste kein Leerzeichen stehen darf. Wenn mehrere Probes angegeben werden, werden sie parallel gesendet.
Das SYN-Flag zeigt dem entfernten System an, dass Sie versuchen, eine Verbindung herzustellen. Normalerweise wird der Zielport geschlossen und ein RST-Paket (Reset) zurückgesendet. Wenn der Port zufällig offen ist, macht das Ziel den zweiten Schritt eines TCP-Drei-Wege-Handshakes, indem es mit einem SYN/ACK-TCP-Paket antwortet. Der Rechner, auf dem Nmap läuft, bricht dann die entstehende Verbindung ab, indem er mit einem RST-Paket antwortet, anstatt ein ACK-Paket zu senden, das den Three-Way-Handshake abschließen und eine vollständige Verbindung herstellen würde. Das RST-Paket wird vom Kernel des Rechners, auf dem Nmap läuft, als Antwort auf das unerwartete SYN/ACK gesendet, nicht von Nmap selbst.
Nmap ist es egal, ob der Port offen oder geschlossen ist. Entweder die zuvor besprochene RST- oder SYN/ACK-Antwort sagt Nmap, dass der Host verfügbar und ansprechbar ist.
Auf Unix-Rechnern kann im Allgemeinen nur der privilegierte Benutzer root
rohe TCP-Pakete senden und empfangen. Für unprivilegierte Benutzer wird automatisch ein Workaround eingesetzt, bei dem der Systemaufruf connect
gegen jeden Zielport initiiert wird. Dies hat zur Folge, dass ein SYN-Paket an den Zielhost gesendet wird, um zu versuchen, eine Verbindung herzustellen. Wenn connect
mit einem schnellen Erfolg oder einem ECONNREFUSED-Fehler zurückkehrt, muss der zugrundeliegende TCP-Stack ein SYN/ACK oder RST empfangen haben und der Host ist als verfügbar gekennzeichnet. Bleibt der Verbindungsversuch bis zum Erreichen einer Zeitüberschreitung hängen, wird der Host als nicht erreichbar gekennzeichnet.
-PA
(TCP ACK Ping)<port list>
Der TCP ACK Ping ist dem soeben besprochenen SYN Ping recht ähnlich. Der Unterschied besteht darin, dass das TCP ACK-Flag anstelle des SYN-Flags gesetzt ist, wie Sie sich wahrscheinlich denken können. Ein solches ACK-Paket gibt vor, Daten über eine bestehende TCP-Verbindung zu bestätigen, aber eine solche Verbindung existiert nicht. Daher sollten entfernte Hosts immer mit einem RST-Paket antworten und dabei ihre Existenz preisgeben.
Die Option -PA
verwendet denselben Standardport wie die SYN-Sonde (80) und kann auch eine Liste von Zielports im selben Format annehmen. Wenn ein unprivilegierter Benutzer dies versucht, wird die zuvor besprochene connect
-Umgehung verwendet. Dieser Workaround ist nicht perfekt, da connect
tatsächlich ein SYN-Paket und kein ACK sendet.
Der Grund für das Angebot von SYN- und ACK-Ping-Sonden ist die Maximierung der Chancen, Firewalls zu umgehen. Viele Administratoren konfigurieren Router und andere einfache Firewalls so, dass sie eingehende SYN-Pakete blockieren, mit Ausnahme derer, die für öffentliche Dienste wie die Unternehmenswebsite oder den Mailserver bestimmt sind. Dadurch werden andere eingehende Verbindungen zum Unternehmen verhindert, während die Benutzer ungehindert ausgehende Verbindungen zum Internet herstellen können. Dieser nichtstaatliche Ansatz beansprucht nur wenige Ressourcen auf der Firewall/dem Router und wird von vielen Hardware- und Softwarefiltern unterstützt. Die Linux-Firewall-Software Netfilter/iptables bietet die Komfortoption --syn
zur Umsetzung dieses zustandslosen Ansatzes. Wenn zustandslose Firewall-Regeln wie diese vorhanden sind, werden SYN-Ping-Probes (-PS
) wahrscheinlich blockiert, wenn sie an geschlossene Zielports gesendet werden. In solchen Fällen glänzt die ACK-Probe, da sie diese Regeln durchbricht.
Eine andere gängige Art von Firewall verwendet zustandsabhängige Regeln, die unerwartete Pakete ablehnen. Diese Funktion war anfangs vor allem in High-End-Firewalls zu finden, ist aber im Laufe der Jahre viel häufiger geworden. Das Linux Netfilter/iptables-System unterstützt dies durch die Option --state
, die Pakete auf der Grundlage des Verbindungsstatus kategorisiert. Eine SYN-Prüfung ist bei einem solchen System wahrscheinlicher, da unerwartete ACK-Pakete im Allgemeinen als gefälscht erkannt und verworfen werden. Eine Lösung für dieses Dilemma besteht darin, sowohl SYN- als auch ACK-Sonden zu senden, indem man -PS
und -PA
angibt.
-PU
(UDP Ping)<port list>
Eine weitere Option zur Host-Erkennung ist der UDP-Ping, der ein UDP-Paket an die angegebenen Ports sendet. Bei den meisten Ports ist das Paket leer, einige verwenden jedoch eine protokollspezifische Nutzlast, die mit größerer Wahrscheinlichkeit eine Antwort hervorruft (siehe Abschnitt „UDP-Payloads“): nmap-payloads
“ für eine Beschreibung der Datenbank der Nutzdaten.
Der Paketinhalt kann auch mit den Optionen --data
,--data-string
und --data-length
beeinflusst werden.
Die Portliste hat das gleiche Format wie die zuvor besprochenen Optionen -PS
und -PA
. Wenn keine Ports angegeben werden, ist der Standardwert 40125. Diese Vorgabe kann zur Kompilierungszeit konfiguriert werden, indem DEFAULT_UDP_PROBE_PORT_SPEC
in nmap.h
geändert wird. Standardmäßig wird ein sehr ungewöhnlicher Port verwendet, weil das Senden an offene Ports für diesen speziellen Scan-Typ oft unerwünscht ist.
Wenn die UDP-Sonde auf einen geschlossenen Port auf dem Zielcomputer trifft, sollte sie ein ICMP-Port-Unreachable-Paket zurücksenden. Das bedeutet für Nmap, dass der Rechner in Betrieb und verfügbar ist. Viele andere Arten von ICMP-Fehlern, wie z.B. „Host/Netzwerk unerreichbar“ oder „TTL überschritten“, deuten auf einen ausgefallenen oder unerreichbaren Host hin. Auch das Ausbleiben einer Antwort wird auf diese Weise interpretiert. Wenn ein offener Port erreicht wird, ignorieren die meisten Dienste einfach das leere Paket und geben keine Antwort zurück. Aus diesem Grund ist der Standard-Probeport 40125, der höchstwahrscheinlich nicht in Gebrauch ist. Einige wenige Dienste, wie z.B. das Character Generator (chargen)-Protokoll, antworten auf ein leeres UDP-Paket und zeigen Nmap damit an, dass der Rechner verfügbar ist.
Der Hauptvorteil dieses Scantyps ist, dass er Firewalls und Filter umgeht, die nur TCP prüfen. Ich besaß zum Beispiel einmal einen drahtlosen Breitband-Router von Linksys BEFW11S4. Die externe Schnittstelle dieses Geräts filterte standardmäßig alle TCP-Ports, aber UDP-Sonden würden immer noch Port-Unreachable-Meldungen hervorrufen und somit das Gerät verraten.
-PY
(SCTP INIT Ping)<port list>
Diese Option sendet ein SCTP-Paket, das einen minimalen INIT-Chunk enthält. Der Standard-Zielport ist 80 (konfigurierbar zur Kompilierungszeit durch Ändern von DEFAULT_SCTP_PROBE_PORT_SPEC
in nmap.h
). Andere Ports können als Parameter angegeben werden. Die Syntax ist die gleiche wie für -p
, außer dass Porttyp-Spezifikationen wie S:
nicht zulässig sind. Beispiele sind -PY22
und -PY22,80,179,5060
. Beachten Sie, dass zwischen -PY
und der Portliste kein Leerzeichen stehen darf. Wenn mehrere Probes angegeben werden, werden sie parallel gesendet.
Der INIT-Chunk zeigt dem entfernten System an, dass Sie versuchen, eine Verbindung herzustellen. Normalerweise ist der Zielport geschlossen, und es wird ein ABORT-Chunk zurückgesendet. Wenn der Port zufällig offen ist, macht das Ziel den zweiten Schritt eines SCTP-Vier-Wege-Handshakes, indem es mit einem INIT-ACK-Chunk antwortet. Wenn der Rechner, auf dem Nmap läuft, einen funktionierenden SCTP-Stack hat, dann bricht er die entstehende Verbindung ab, indem er mit einem ABORT-Chunk antwortet, anstatt ein COOKIE-ECHO-Chunk zu senden, das der nächste Schritt im Vier-Wege-Handshake wäre. Das ABORT-Paket wird vom Kernel des Rechners, auf dem Nmap läuft, als Antwort auf das unerwartete INIT-ACK gesendet, nicht von Nmap selbst.
Nmap ist es egal, ob der Port offen oder geschlossen ist. Entweder die zuvor besprochene ABORT- oder INIT-ACK-Antwort sagt Nmap, dass der Host verfügbar und ansprechbar ist.
Auf Unix-Rechnern kann im Allgemeinen nur der privilegierte Benutzer root
rohe SCTP-Pakete senden und empfangen. Die Verwendung von SCTP INIT Pings ist für unprivilegierte Benutzer derzeit nicht möglich.
-PE
;-PP
;-PM
(ICMP-Ping-Typen)
Zusätzlich zu den ungewöhnlichen TCP-, UDP- und SCTP-Host-Discovery-Typen, die vorher besprochen wurden, kann Nmap die Standardpakete senden, die vom allgegenwärtigen Ping-Programm gesendet werden. Nmap sendet ein ICMP-Paket vom Typ 8 (Echo-Request) an die Ziel-IP-Adressen und erwartet als Antwort von den verfügbaren Hosts ein Paket vom Typ 0 (Echo-Reply). Zum Leidwesen der Netzwerkforscher blockieren viele Hosts und Firewalls diese Pakete, anstatt sie, wie in RFC 1122 gefordert, zu beantworten. Aus diesem Grund sind reine ICMP-Scans gegen unbekannte Ziele über das Internet selten zuverlässig genug. Für Systemadministratoren, die ein internes Netz überwachen, können sie jedoch ein praktischer und effizienter Ansatz sein. Verwenden Sie die Option -PE
, um dieses Echo-Request-Verhalten zu aktivieren.
Während Echo-Request die Standard-ICMP-Ping-Abfrage ist, hört Nmap damit nicht auf. Die ICMP-Standards (RFC 792 und RFC 950 ) spezifizieren auch Pakete mit Zeitstempelanforderung, Informationsanforderung und Adressmaskenanforderung als Codes 13, 15 bzw. 17. Während der vordergründige Zweck dieser Abfragen darin besteht, Informationen wie Adressmasken und aktuelle Uhrzeiten zu erfahren, können sie auch einfach zur Host-Erkennung verwendet werden. Ein System, das antwortet, ist aktiv und verfügbar. Nmap implementiert derzeit keine Informationsabfrage-Pakete, da sie nicht allgemein unterstützt werden. RFC 1122 besteht darauf, dass „ein Host diese Nachrichten NICHT implementieren SOLLTE“. Zeitstempel- und Adressmaskenabfragen können mit den Optionen -PP
bzw. -PM
gesendet werden. Eine Zeitstempel-Antwort (ICMP-Code 14) oder eine Adressmasken-Antwort (Code 18) teilt mit, dass der Host verfügbar ist. Diese beiden Abfragen können wertvoll sein, wenn Administratoren gezielt Echo-Request-Pakete blockieren und dabei vergessen, dass andere ICMP-Abfragen für den gleichen Zweck verwendet werden können.
-PO
(IP Protocol Ping)<protocol list>
Eine der neueren Optionen zur Host-Erkennung ist der IP-Protokoll-Ping, der IP-Pakete mit der angegebenen Protokollnummer in ihrem IP-Header sendet. Die Protokollliste hat das gleiche Format wie die Portlisten in den zuvor besprochenen TCP-, UDP- und SCTP-Hostermittlungsoptionen. Wenn keine Protokolle angegeben werden, werden standardmäßig mehrere IP-Pakete für ICMP (Protokoll 1), IGMP (Protokoll 2) und IP-in-IP (Protokoll 4) gesendet. Die Standardprotokolle können zur Kompilierungszeit konfiguriert werden, indem DEFAULT_PROTO_PROBE_PORT_SPEC
in nmap.h
geändert wird. Beachten Sie, dass für ICMP, IGMP, TCP (Protokoll 6), UDP (Protokoll 17) und SCTP (Protokoll 132) die Pakete mit den richtigen Protokoll-Headern gesendet werden, während andere Protokolle ohne zusätzliche Daten über den IP-Header hinaus gesendet werden (es sei denn, eine der Optionen --data
, --data-string
oder --data-length
wird angegeben).
Diese Host-Ermittlungsmethode sucht entweder nach Antworten, die dasselbe Protokoll wie eine Probe verwenden, oder nach ICMP-Protokoll-Unreachable-Meldungen, die anzeigen, dass das gegebene Protokoll auf dem Zielhost nicht unterstützt wird. Beide Antworttypen bedeuten, dass der Zielhost aktiv ist.
--disable-arp-ping
(No ARP or ND Ping)
Nmap führt normalerweise eine ARP- oder IPv6 Neighbor Discovery (ND)-Ermittlung von lokal angeschlossenen Ethernet-Hosts durch, selbst wenn andere Host-Ermittlungsoptionen wie -Pn
oder -PE
verwendet werden. Um dieses implizite Verhalten zu deaktivieren, verwenden Sie die Option --disable-arp-ping
.
Das Standardverhalten ist normalerweise schneller, aber diese Option ist nützlich in Netzwerken, die Proxy-ARP verwenden, bei dem ein Router spekulativ auf alle ARP-Anfragen antwortet, so dass jedes Ziel dem ARP-Scan zufolge aktiv zu sein scheint.
--discovery-ignore-rst
In einigen Fällen können Firewalls TCP-Reset-Antworten (RST) als Antwort auf Sonden an unbesetzte oder nicht erlaubte Adressen fälschen. Da Nmap normalerweise RST-Antworten als Beweis dafür ansieht, dass das Ziel aktiv ist, kann dies dazu führen, dass Zeit mit dem Scannen von Zielen verschwendet wird, die gar nicht vorhanden sind. Durch die Verwendung von --discovery-ignore-rst
wird Nmap daran gehindert, diese Antworten bei der Host-Erkennung zu berücksichtigen. Möglicherweise müssen Sie zusätzliche Optionen für die Host-Erkennung auswählen, um sicherzustellen, dass Sie in diesem Fall keine Ziele verpassen.
--traceroute
(Trace path to host)
Traceroutes werden nach dem Scan durchgeführt, wobei Informationen aus den Scan-Ergebnissen verwendet werden, um den Port und das Protokoll zu bestimmen, mit denen das Ziel am wahrscheinlichsten zu erreichen ist. Er funktioniert mit allen Scan-Typen außer Verbindungs-Scans (-sT
) und Leerlauf-Scans (-sI
). Alle Traces verwenden das dynamische Zeitmodell von Nmap und werden parallel ausgeführt.
Traceroute arbeitet, indem es Pakete mit einer niedrigen TTL (time-to-live) sendet und versucht, ICMP-Time-Exceeded-Meldungen von Zwischenstationen zwischen dem Scanner und dem Zielhost zu erhalten. Standard-Traceroute-Implementierungen beginnen mit einer TTL von 1 und erhöhen die TTL, bis der Zielhost erreicht ist. Nmaps Traceroute beginnt mit einer hohen TTL und dekrementiert dann die TTL, bis sie Null erreicht. Durch die umgekehrte Vorgehensweise kann Nmap clevere Caching-Algorithmen einsetzen, um Traces über mehrere Hosts zu beschleunigen. Im Durchschnitt sendet Nmap 5-10 weniger Pakete pro Host, abhängig von den Netzwerkbedingungen. Wenn ein einzelnes Subnetz gescannt wird (z.B. 192.168.0.0/24), muss Nmap möglicherweise nur zwei Pakete an die meisten Hosts senden.
-n
(Keine DNS-Auflösung)
Weist Nmap an, niemals eine umgekehrte DNS-Auflösung für die gefundenen aktiven IP-Adressen durchzuführen. Da DNS selbst mit dem in Nmap eingebauten parallelen Stub-Resolver langsam sein kann, kann diese Option die Scanzeiten verkürzen.
-R
(DNS-Auflösung für alle Ziele)
Nmap wird angewiesen, immer eine umgekehrte DNS-Auflösung für die Ziel-IP-Adressen durchzuführen. Normalerweise wird Reverse DNS nur bei reaktionsfähigen (online) Hosts durchgeführt.
--resolve-all
(Jede aufgelöste Adresse scannen)
Wenn ein Hostname-Ziel zu mehr als einer Adresse aufgelöst wird, scannen Sie alle. In der Standardeinstellung wird nur die erste aufgelöste Adresse gescannt. Unabhängig davon werden nur Adressen der entsprechenden Adressfamilie gescannt: IPv4 standardmäßig, IPv6 mit -6
.
--system-dns
(System-DNS-Auflöser verwenden)
Standardmäßig löst Nmap IP-Adressen rückwärts auf, indem es Anfragen direkt an die auf Ihrem Host konfigurierten Nameserver sendet und dann auf Antworten wartet. Viele Anfragen (oft Dutzende) werden parallel ausgeführt, um die Leistung zu verbessern. Geben Sie diese Option an, um stattdessen Ihren Systemresolver zu verwenden (eine IP nach der anderen über den getnameinfo
-Aufruf). Dies ist langsamer und selten nützlich, es sei denn, Sie finden einen Fehler im parallelen Nmap-Resolver (bitte lassen Sie es uns wissen, wenn Sie einen finden). Der System-Resolver wird immer für Forward-Lookups verwendet (um eine IP-Adresse aus einem Hostnamen zu erhalten).
--dns-servers
(Für Reverse-DNS-Abfragen zu verwendende Server)<server1>
]
Standardmäßig ermittelt Nmap Ihre DNS-Server (für rDNS-Auflösung) aus Ihrer Datei resolv.conf (Unix) oder der Registry (Win32). Alternativ können Sie diese Option verwenden, um alternative Server anzugeben. Diese Option wird nicht beachtet, wenn Sie --system-dns
verwenden. Die Verwendung mehrerer DNS-Server ist oft schneller, vor allem wenn Sie für Ihren Ziel-IP-Raum autorisierende Server auswählen. Diese Option kann auch die Tarnung verbessern, da Ihre Anfragen an so gut wie jedem rekursiven DNS-Server im Internet abprallen können.
Diese Option ist auch beim Scannen privater Netzwerke nützlich. Manchmal stellen nur wenige Nameserver korrekte rDNS-Informationen bereit, und Sie wissen vielleicht nicht einmal, wo sie sich befinden. Sie können das Netzwerk nach Port 53 scannen (vielleicht mit Versionserkennung) und dann Nmap-Listenscans (-sL
) versuchen, wobei Sie jeden Nameserver einzeln mit --dns-servers
angeben, bis Sie einen finden, der funktioniert.
Diese Option wird möglicherweise nicht beachtet, wenn die DNS-Antwort die Größe eines UDP-Pakets überschreitet. In einer solchen Situation wird unser DNS-Auflöser sein Bestes tun, um eine Antwort aus dem abgeschnittenen Paket zu extrahieren, und wenn dies nicht gelingt, wird er auf den Systemauflöser zurückgreifen. Auch bei Antworten, die CNAME-Aliase enthalten, wird auf den Systemresolver zurückgegriffen.