Verschiedene Optionen

Dieser Abschnitt beschreibt einige wichtige (und weniger wichtige) Optionen, für die es keinen anderen richtig passenden Ort gibt.

-6 (schaltet IPv6-Scans ein)

Seit 2002 unterstützt Nmap bei seinen beliebtesten Features IPv6. Insbesondere das Ping-Scanning (nur für TCP), Connect-Scanning und die Versionserkennung unterstützen IPv6. Die Befehlssyntax ist die übliche, nur dass man auch die Option -6 angibt. Natürlich müssen Sie die IPv6-Syntax angeben, wenn Sie eine Adresse statt eines Hostnamens angeben. Eine Adresse könnte wie folgt aussehen: 3ffe:7501:4819:2000:210:f3ff:fe03:14d0, d.h. es empfehlen sich Hostnamen. Die Ausgabe sieht genauso aus wie üblich. Nur die IPv6-Adresse in der Zeile der interessanten Ports deutet auf IPv6.

Zwar hat IPv6 die Welt nicht gerade im Sturm erobert, aber in einigen (besonders asiatischen) Ländern wird es stark eingesetzt, und von den meisten modernen Betriebssystemen wird es unterstützt. Um Nmap mit IPv6 zu benutzen, müssen sowohl die Quelle als auch das Ziel Ihres Scans für IPv6 konfiguriert sein. Falls Ihnen Ihr ISP (so wie die meisten) keine IPv6-Adressen bereitstellt, gibt es frei verfügbare sogenannte Tunnel-Broker, die mit Nmap funktionieren. Weitere Tunnel-Broker sind in Wikipedia aufgelistet. Ein weiterer freier Ansatz sind 6to4-Tunnels.

-A (aggressive Scan-Optionen)

Diese Option schaltet zusätzlich erweiterte und aggressive Optionen ein. Ich habe noch nicht entschieden, wofür sie genau steht. Im Moment schaltet sie die Betriebssystemerkennung (-O), die Versionserkennung (-sV), das Scannen mit Scripts (-sC) und traceroute (--traceroute) ein. In der Zukunft kommen vielleicht noch weitere Eigenschaften hinzu. Ziel ist es, einen umfassenden Satz von Scan-Optionen zu aktivieren, ohne dass man sich viele Flags merken muss. Weil aber das scriptbasierte Scannen mit dem Standardsatz als aufdringlich betrachtet wird, sollten Sie -A nicht ohne Genehmigung auf Zielnetzwerke loslassen. Diese Option aktiviert nur Eigenschaften, aber keine Optionen für das Timing (z.B. -T4) oder die Ausführlichkeit (-v), die Sie eventuell auch benutzen möchten.

--datadir <directoryname> (gibt benutzerdefinierten Ort für Nmap-Datendateien an)

Nmap erhält einige spezielle Daten zur Laufzeit aus Dateien namens nmap-service-probes, nmap-services, nmap-protocols, nmap-rpc, nmap-mac-prefixes und nmap-os-db. Falls der Ort einer dieser Dateien angegeben wurde (mit den Optionen --servicedb oder --versiondb), wird dieser Ort für diese Datei benutzt. Danach sucht Nmap diese Dateien im Verzeichnis, das mit der Option --datadir angegeben wurde (sofern vorhanden). Dateien, die dort nicht gefunden werden, werden in einem Verzeichnis gesucht, das durch die Umgebungsvariable NMAPDIR angegeben wird. Danach kommt ~/.nmap für echte und effektive UIDs (nur bei POSIX-Systemen) oder der Ort des ausführbaren Nmap-Programms (nur unter Win32) und dann ein bei der Kompilierung angegebener Ort wie z.B. /usr/local/share/nmap oder /usr/share/nmap. Als letzte Rettung sucht Nmap im aktuellen Arbeitsverzeichnis.

--servicedb <services file> (gibt benutzerdefinierte Dienstedatei an)

Verlangt von Nmap, die angegebene Dienstedatei zu benutzen statt der Datendatei nmap-services, die in Nmap enthalten ist. Bei dieser Option wird außerdem auch ein schneller Scan (-F) benutzt. Weitere Details zu Nmaps Datendateien finden Sie in der Beschreibung zu --datadir.

--versiondb <service probes file> (gibt benutzerdefinierte Dienstepakete an)

Verlangt von Nmap, die angegebene Dienstepaketedatei zu benutzen statt der Datendatei nmap-service-probes, die in Nmap enthalten ist. Weitere Details zu Nmaps Datendateien finden Sie in der Beschreibung zu --datadir.

--send-eth (sendet rohe Ethernet-Pakete)

Verlangt von Nmap, Pakete auf der rohen Ethernet-(Datenlink-)Schicht zu schicken, statt auf der höheren IP-(Netzwerk-)Schicht. Nmap wählt standardmäßig diejenige, die im Allgemeinen die beste für die gegebene Plattform ist. Rohe Sockets (IP-Schicht) sind im Allgemeinen auf Unix-Rechnern am effizientesten, während unter Windows Ethernet-Rahmen benötigt werden, da Microsoft keine rohen Sockets unterstützt. Trotz dieser Option benutzt Nmap rohe IP-Pakete unter Unix, wenn es keine andere Wahl hat (z.B. Verbindungen über etwas anderes als Ethernet).

--send-ip (sendet auf der rohen IP-Schicht)

Verlangt von Nmap, Pakete über rohe IP-Sockets zu senden, statt über low-level Ethernet-Rahmen. Diese Option ist das Komplement zur weiter oben beschriebenen Option --send-eth.

--privileged (nimmt an, dass der Benutzer alle Sonderrechte genießt)

Sagt Nmap, dass es davon ausgehen soll, dass es über genügend Rechte verfügt, um über rohe Sockets zu senden, Paket-Sniffing und ähnliche Operationen zu betreiben, die auf Unix-Rechnern normalerweise root-Rechte benötigen. Standardmäßig terminiert Nmap, wenn solche Operationen verlangt werden, aber geteuid nicht null ist. --privileged ist nützlich bei Linux-Kernel-Capabilities und ähnlichen Systemen, die so konfiguriert sein können, dass sie Benutzern ohne Sonderrechte erlauben, rohe Paket-Scans durchzuführen. Vergewissern Sie sich, dass Sie diese Option vor weiteren Optionen angeben, die Sonderrechte benötigen (SYN-Scan, Betriebssystemerkennung usw.). Als äquivalente Alternative zur Option --privileged kann die Umgebungsvariable NMAP_PRIVILEGED gesetzt werden.

--unprivileged (nimmt an, dass der Benutzer keine Sonderrechte für rohe Sockets genießt)

Diese Option ist das Gegenteil von --privileged. Sie sagt Nmap, dass es den Benutzer so behandeln soll, als genösse er keine Sonderrechte für rohe Sockets und Sniffing. Das ist nützlich beim Testen, Debugging oder falls die Möglichkeiten des rohen Netzwerkzugriffs auf Ihrem Betriebssystem vorübergehend irgendwie defekt sind. Als äquivalente Alternative zur Option --unprivileged kann die Umgebungsvariable NMAP_UNPRIVILEGED gesetzt werden.

--release-memory (gibt Speicher vor Terminierung frei)

Diese Option ist nur bei der Suche nach Speicherlecks nützlich. Sie bewirkt, dass Nmap den von ihm belegten Speicher direkt vor seiner Terminierung freigibt, damit man echte Speicherlecks einfacher finden kann. Normalerweise macht Nmap das nicht, weil es das Betriebssystem ohnehin macht, wenn es den Prozess terminiert.

-V; --version (gibt Versionsnummer aus)

Gibt Nmaps Versionsnummer aus und terminiert.

-h; --help (gibt zusammengefasste Hilfeseite aus)

Gibt eine kurze Hilfeseite mit den am meisten benutzten Optionen aus. Sie kommt auch dann, wenn man Nmap ganz ohne Argumente startet.