From 0d47952611198ef6b1163f366dc03922d20b1475 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Wed, 17 Apr 2024 09:42:04 +0200 Subject: Adding upstream version 7.94+git20230807.3be01efb1+dfsg. Signed-off-by: Daniel Baumann --- docs/man-xlate/nmap-man-de.xml | 4344 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 4344 insertions(+) create mode 100644 docs/man-xlate/nmap-man-de.xml (limited to 'docs/man-xlate/nmap-man-de.xml') diff --git a/docs/man-xlate/nmap-man-de.xml b/docs/man-xlate/nmap-man-de.xml new file mode 100644 index 0000000..1365bf5 --- /dev/null +++ b/docs/man-xlate/nmap-man-de.xml @@ -0,0 +1,4344 @@ + + +
+ + Nmap-Referenz-Handbuch (Man Page) + +ManpageReferenz-Handbuch +Referenz-Handbuch (Manpage) + + + nmap + 1 + Nmap + Nmap-Referenz-Handbuch + + + nmap + Netzwerk-Analysewerkzeug und Sicherheits-/Portscanner + + + + + nmap + + Scan Type + + + Options + + + target specification + + + + + Beschreibung + NmapBeschreibung + + Dieses Dokument beschreibt Nmap Version 4.85BETA8. Die + neueste Dokumentation ist in englischer Sprache verfügbar unter + . + + +Nmap (Network Mapper) ist ein Open-Source-Werkzeug +für die Netzwerkanalyse und Sicherheitsüberprüfung. Es wurde entworfen, +um große Netzwerke schnell zu scannen, auch wenn es bei einzelnen Hosts +auch gut funktioniert. Nmap benutzt rohe IP-Pakete auf neuartige Weise, +um festzustellen, welche Hosts im Netzwerk verfügbar sind, welche Dienste +(Anwendungsname und -version) diese Hosts bieten, welche Betriebssysteme +(und Versionen davon) darauf laufen, welche Art von +Paketfiltern/-Firewalls benutzt werden sowie Dutzende anderer +Eigenschaften. Auch wenn Nmap üblicherweise für Sicherheitsüberprüfungen +verwendet wird, wird es von vielen Systemen und Netzwerkadministratoren +für Routineaufgaben benutzt, z.B. Netzwerkinventarisierung, Verwaltung von +Ablaufplänen für Dienstaktualisierungen und die Überwachung von +Betriebszeiten von Hosts oder Diensten. + +Die Ausgabe von Nmap ist eine Liste gescannter Ziele mit zusätzlicher +Information zu jedem, abhängig von den benutzten Optionen. Die entscheidende +Information dabei steht in der Tabelle der interessanten +Ports.Portsinteressante +Diese Tabelle listet die Portnummer und das -protokoll sowie den Dienstnamen +und -zustand auf. Der Zustand ist entweder +offen, gefiltert, +geschlossen oder ungefiltert. +Offenoffen Portzustand +bedeutet, dass auf diesem Port des Zielrechners eine Anwendung +auf eingehende Verbindungen/Pakete lauscht. +Gefiltertgefiltert Portzustand +bedeutet, dass eine Firewall, ein Filter oder ein anderes +Netzwerkhindernis den Port blockiert, so dass Nmap nicht wissen kann, +ob er offen oder geschlossen ist. +Für geschlossenegeschlossen Portzustand +Ports gibt es keine Anwendung, die auf ihnen lauscht, +auch wenn sie jederzeit geöffnet werden könnten. +Als ungefiltertungefiltert Portzustand +werden Ports dann klassifiziert, wenn sie auf Nmaps Testpakete antworten, +Nmap aber nicht feststellen kann, ob sie offen oder gechlossen sind. +Nmap gibt die Zustandskombinationen +offen|gefiltertoffen|gefiltert Portzustand +und geschlossen|gefiltertgeschlossen|gefiltert Portzustand +an, wenn es nicht feststellen kann, welcher der beiden Zustände +für einen Port zutrifft. Die Port-Tabelle enthält eventuell auch Details +zur Softwareversion, sofern eine Versionserkennung verlangt wurde. +Wurde ein IP-Protokoll-Scan verlangt (), dann +bietet Nmap Angaben über die unterstützten IP-Protokolle +statt über lauschende Ports. + +Zusätzlich zur Tabelle der interessanten Ports kann Nmap weitere +Angaben über Ziele bieten, darunter Reverse-DNS-Namen, Mutmaßungen über +das benutzte Betriebssystem, Gerätearten und MAC-Adressen. + +Einen typischen Nmap-Scan sehen Sie in +. +Die einzigen in diesem Beispiel benutzten Nmap-Argumente sind + für die Betriebssystem- und Versionserkennung, +Script-Scanning und Traceroute und für eine +schnellere Ausführung. Danach kommen die Namen der Zielhosts. + +Ein repräsentativer Nmap-Scan +Beispiel + +# nmap -A -T4 scanme.nmap.org + +Starting Nmap ( https://nmap.org ) +Interesting ports on scanme.nmap.org (64.13.134.52): +Not shown: 994 filtered ports +PORT STATE SERVICE VERSION +22/tcp open ssh OpenSSH 4.3 (protocol 2.0) +25/tcp closed smtp +53/tcp open domain ISC BIND 9.3.4 +70/tcp closed gopher +80/tcp open http Apache httpd 2.2.2 ((Fedora)) +|_ HTML title: Go ahead and ScanMe! +113/tcp closed auth +Device type: general purpose +Running: Linux 2.6.X +OS details: Linux 2.6.20-1 (Fedora Core 5) + +TRACEROUTE (using port 80/tcp) +HOP RTT ADDRESS +[Cut first seven hops for brevity] +8 10.59 so-4-2-0.mpr3.pao1.us.above.net (64.125.28.142) +9 11.00 metro0.sv.svcolo.com (208.185.168.173) +10 9.93 scanme.nmap.org (64.13.134.52) + +Nmap done: 1 IP address (1 host up) scanned in 17.00 seconds + + + +Die neueste Version von Nmap erhält man unter +, und die neueste Version der Manpage +ist unter verfügbar. + + + + + Übersicht der Optionen + +Diese Übersicht wird ausgegeben, wenn Nmap ohne Argumente +aufgerufen wird; die neueste Version davon ist immer unter + verfügbar. +Sie hilft dabei, sich die am häufigsten benutzten Optionen zu merken, +ist aber kein Ersatz für die detaillierte Dokumentation im Rest +dieses Handbuchs. Einige obskure Optionen werden hier nicht einmal +erwähnt. + + +Optionsübersicht +Kommandozeilenoptionenvon Nmap + +Nmap 4.85BETA8 ( https://nmap.org ) +Usage: nmap [Scan Type(s)] [Options] {target specification} +TARGET SPECIFICATION: + Can pass hostnames, IP addresses, networks, etc. + Ex: scanme.nmap.org, microsoft.com/24, 192.168.0.1; 10.0.0-255.1-254 + -iL <inputfilename>: Input from list of hosts/networks + -iR <num hosts>: Choose random targets + --exclude <host1[,host2][,host3],...>: Exclude hosts/networks + --excludefile <exclude_file>: Exclude list from file +HOST DISCOVERY: + -sL: List Scan - simply list targets to scan + -sP: Ping Scan - go no further than determining if host is online + -PN: Treat all hosts as online -- skip host discovery + -PS/PA/PU[portlist]: TCP SYN/ACK or UDP discovery to given ports + -PE/PP/PM: ICMP echo, timestamp, and netmask request discovery probes + -PO[protocol list]: IP Protocol Ping + -n/-R: Never do DNS resolution/Always resolve [default: sometimes] + --dns-servers <serv1[,serv2],...>: Specify custom DNS servers + --system-dns: Use OS's DNS resolver + --traceroute: Trace hop path to each host +SCAN TECHNIQUES: + -sS/sT/sA/sW/sM: TCP SYN/Connect()/ACK/Window/Maimon scans + -sU: UDP Scan + -sN/sF/sX: TCP Null, FIN, and Xmas scans + --scanflags <flags>: Customize TCP scan flags + -sI <zombie host[:probeport]>: Idle scan + -sO: IP protocol scan + -b <FTP relay host>: FTP bounce scan +PORT SPECIFICATION AND SCAN ORDER: + -p <port ranges>: Only scan specified ports + Ex: -p22; -p1-65535; -p U:53,111,137,T:21-25,80,139,8080 + -F: Fast mode - Scan fewer ports than the default scan + -r: Scan ports sequentially - don't randomize + --top-ports <number>: Scan <number> most common ports + --port-ratio <ratio>: Scan ports more common than <ratio> +SERVICE/VERSION DETECTION: + -sV: Probe open ports to determine service/version info + --version-intensity <level>: Set from 0 (light) to 9 (try all probes) + --version-light: Limit to most likely probes (intensity 2) + --version-all: Try every single probe (intensity 9) + --version-trace: Show detailed version scan activity (for debugging) +SCRIPT SCAN: + -sC: equivalent to --script=default + --script=<Lua scripts>: <Lua scripts> is a comma separated list of + directories, script-files or script-categories + --script-args=<n1=v1,[n2=v2,...]>: provide arguments to scripts + --script-trace: Show all data sent and received + --script-updatedb: Update the script database. +OS DETECTION: + -O: Enable OS detection + --osscan-limit: Limit OS detection to promising targets + --osscan-guess: Guess OS more aggressively +TIMING AND PERFORMANCE: + Options which take <time> are in milliseconds, unless you append 's' + (seconds), 'm' (minutes), or 'h' (hours) to the value (e.g. 30m). + -T<0-5>: Set timing template (higher is faster) + --min-hostgroup/max-hostgroup <size>: Parallel host scan group sizes + --min-parallelism/max-parallelism <numprobes>: Probe parallelization + --min-rtt-timeout/max-rtt-timeout/initial-rtt-timeout <time>: Specifies + probe round trip time. + --max-retries <tries>: Caps number of port scan probe retransmissions. + --host-timeout <time>: Give up on target after this long + --scan-delay/--max-scan-delay <time>: Adjust delay between probes + --min-rate <number>: Send packets no slower than <number> per second + --max-rate <number>: Send packets no faster than <number> per second +FIREWALL/IDS EVASION AND SPOOFING: + -f; --mtu <val>: fragment packets (optionally w/given MTU) + -D <decoy1,decoy2[,ME],...>: Cloak a scan with decoys + -S <IP_Address>: Spoof source address + -e <iface>: Use specified interface + -g/--source-port <portnum>: Use given port number + --data-length <num>: Append random data to sent packets + --ip-options <options>: Send packets with specified ip options + --ttl <val>: Set IP time-to-live field + --spoof-mac <mac address/prefix/vendor name>: Spoof your MAC address + --badsum: Send packets with a bogus TCP/UDP checksum +OUTPUT: + -oN/-oX/-oS/-oG <file>: Output scan in normal, XML, s|<rIpt kIddi3, + and Grepable format, respectively, to the given filename. + -oA <basename>: Output in the three major formats at once + -v: Increase verbosity level (use twice or more for greater effect) + -d[level]: Set or increase debugging level (Up to 9 is meaningful) + --reason: Display the reason a port is in a particular state + --open: Only show open (or possibly open) ports + --packet-trace: Show all packets sent and received + --iflist: Print host interfaces and routes (for debugging) + --log-errors: Log errors/warnings to the normal-format output file + --append-output: Append to rather than clobber specified output files + --resume <filename>: Resume an aborted scan + --stylesheet <path/URL>: XSL stylesheet to transform XML output to HTML + --webxml: Reference stylesheet from Nmap.Org for more portable XML + --no-stylesheet: Prevent associating of XSL stylesheet w/XML output +MISC: + -6: Enable IPv6 scanning + -A: Enables OS detection and Version detection, Script scanning and Traceroute + --datadir <dirname>: Specify custom Nmap data file location + --send-eth/--send-ip: Send using raw ethernet frames or IP packets + --privileged: Assume that the user is fully privileged + --unprivileged: Assume the user lacks raw socket privileges + -V: Print version number + -h: Print this help summary page. +EXAMPLES: + nmap -v -A scanme.nmap.org + nmap -v -sP 192.168.0.0/16 10.0.0.0/8 + nmap -v -iR 10000 -PN -p 80 +SEE THE MAN PAGE (https://nmap.org/book/man.html) FOR MORE OPTIONS AND EXAMPLES + + + + + + + + + + Angabe von Zielen + Zielangabe + +Nmap betrachtet alles in der Kommandozeile, was keine Option (oder +ein Argument einer Option) ist, als Bezeichnung eines Zielhosts. Der +einfachste Fall ist die Beschreibung einer IP-Zieladresse oder eines +Zielhostnamens zum Scannen. + +Manchmal möchten Sie ein ganzes Netzwerk benachbarter Hosts scannen. +Dafür unterstützt Nmap Adressen im +CIDR-Stil.CIDR (Classless Inter-Domain Routing) +Sie können +/numbits an eine IPv4-Adresse oder einen Hostnamen +anfügen, und Nmap wird alle IP-Adressen scannen, bei denen die ersten +numbits mit denen der gegebenen IP oder des +gegebenen Hostnamens übereinstimmen. Zum Beispiel würde 192.168.10.0/24 die +256 Hosts zwischen 192.168.10.0 (binär: 11000000 10101000 00001010 00000000) +und 192.168.10.255 (binär: 11000000 10101000 00001010 11111111, inklusive) scannen. +192.168.10.40/24 würde genau dieselben Ziele scannen. Dadurch, dass der Host +scanme.nmap.orgscanme.nmap.org +die IP-Adresse 64.13.134.52 hat, würde die Angabe scanme.nmap.org/16 +die 65.536 IP-Adressen zwischen 64.13.0.0 und 64.13.255.255 scannen. +Der kleinste erlaubte Wert ist /0, der das gesamte Internet scannt. +Der größte Wert ist /32 und scannt lediglich den Host mit angegebenem Namen +oder IP-Adresse, da alle Adressen-Bits festgelegt sind. + +Adressbereiche +Die CIDR-Notation ist kurz, aber nicht immer flexibel genug. +Vielleicht möchten Sie z.B. 192.168.0.0/16 scannen, aber IPs auslassen, +die mit .0 oder .255 enden, weil sie als Unternetzwerk und Broadcast-Adressen +benutzt werden können. Nmap unterstützt das in Form einer +Oktett-Bereichsadressierung. +Statt eine normale IP-Adresse +anzugeben, können Sie eine mit Kommata getrennte Liste von Zahlen oder +Bereichen für jedes Oktett angeben. Zum Beispiel überspringt +192.168.0-255.1-254 alle Adressen im Bereich, die mit .0 oder .255 +enden, und 192.168.3-5,7.1 scannt die vier Adressen 192.168.3.1, +192.168.4.1, 192.168.5.1 und 192.168.7.1. Beide Bereichsgrenzen können +weggelassen werden, die Standardwerte sind 0 für die linke und 255 +für die rechte Grenze. Wenn Sie allein - benutzen, +ist das identisch mit 0-255, aber denken Sie daran, im ersten Oktett 0- +zu benutzen, damit die Zielangabe nicht wie eine Kommandozeilenoption +aussieht. +Diese Bereiche müssen nicht auf die endgültigen Oktetts beschränkt sein: +die Angabe 0-255.0-255.13.37 führt einen internetweiten Scan über alle +IP-Adressen aus, die mit 13.37 enden. Diese Art von breiter Abtastung +kann bei Internet-Umfragen und -Forschungen hilfreich sein. + +IPv6-Adressen können nur durch ihre vollständige IPv6-Adresse oder +ihren Hostnamen angegeben werden. CIDR und Oktettbereiche werden für IPv6 +nicht unterstützt, weil sie selten nützlich sind. + +Nmap akzeptiert in der Kommandozeile mehrere Host-Angaben, +die auch nicht vom selben Typ sein müssen. Der Befehl +nmap scanme.nmap.org 192.168.0.0/8 10.0.0,1,3-7.- +macht also das, was Sie erwarten würden. + +Auch wenn Ziele normalerweise in der Kommandozeile angegeben werden, +gibt es auch die folgenden Optionen, um die Zielauswahl zu steuern: + + + + + (Eingabe aus +einer Liste) + +Zielangabeaus Liste + + +Eine sehr lange Liste von Hosts in der Kommandozeile anzugeben +ist oft sehr umständlich, kommt aber sehr häufig vor. Ihr DHCP-Server +z.B. exportiert vielleicht eine Liste von 10.000 aktuellen Adresszuweisungen +(engl. leases), die Sie scannen möchten. Oder vielleicht möchten Sie +alle IP-Adressen außer denjenigen scannen, um Hosts +zu finden, die unautorisierte statische IP-Adressen benutzen. Erzeugen +Sie einfach die Liste der zu scannenden Hosts und übergeben Sie deren +Dateinamen als Argument zur Option an Nmap. +Die Einträge dürfen alle Formate haben, die Nmap auf der Kommandozeile +akzeptiert (IP-Adresse, Hostname, CIDR, IPv6 oder Oktettbereiche). +Alle Einträge müssen durch ein oder mehrere Leerzeichen, Tabulatoren +oder Zeilenumbrüche getrennt sein. Wenn Sie einen Bindestrich +(-) als Dateinamen angeben, liest Nmap die Hosts +von der Standardeingabe statt aus einer normalen Datei. + + + + + + (zufällige Auswahl von Zielen) + +randomisierte Ziele +Zielangaberandomisiert + + +Für internetweite Umfragen und andere Forschungsaktivitäten möchten +Sie Ziele vielleicht zufällig auswählen. Das kann man mit der Option +, die als Argument die Anzahl der zu erzeugenden IPs +annimmt. +Nmap lässt automatisch bestimmte unerwünschte IPs aus, +wie solche in privaten, Multicast- oder unbesetzten Adressbereichen. +Für einen endlosen Scan kann man das Argument 0 angeben. +Denken Sie aber daran, dass manche Netzwerkadministratoren sich gegen +unautorisierte Scans ihrer Netzwerke sträuben. Lesen Sie + sorgfältig, bevor Sie -iR benutzen. + +Falls Sie mal an einem regnerischen Tag wirklich Langeweile haben, +probieren Sie einmal den Befehl nmap -sS -PS80 -iR 0 -p 80 +Beispiel +Beispiel +Beispiel +aus, um zufällig Webserver zu finden, auf denen Sie herumstöbern +können. + + + + + + + (Ziele ausklammern) + +Ausklammern von Zielen + + +Gibt eine mit Kommata getrennte Liste von Zielen an, die vom +Scan ausgeschlossen sein sollen, selbst wenn sie in den angegebenen +Netzwerkbereich fallen. Die übergebene Liste benutzt die normale +Nmap-Syntax und kann folglich Hostnamen, CIDR-Netzblöcke, +Oktettbereiche usw. enthalten. Das kann nützlich sein, wenn das zu +scannende Netzwerk hochkritische Server und Systeme enthält, die man +nicht anfassen darf, weil sie bekanntermaßen ungünstig auf Port-Scans +reagieren, oder Unternetze, die von anderen Leuten administriert +werden. + + + + + + +(Liste aus Datei ausklammern) + + + +Das bietet dieselbe Funktionalität wie die Option +, mit dem Unterschied, dass die ausgeklammerten +Ziele in der mit Zeilenumbrüchen, Leerzeichen oder Tabulatoren getrennten +Datei exclude_file statt auf der Kommandozeile +angegeben werden. + + + + + + + +Host-Erkennung +Host-Erkennung + +Einer der allerersten Schritte bei jeder Netzwerkerkundung ist die +Reduktion einer (manchmal riesigen) Menge von IP-Bereichen auf eine Liste +aktiver oder interessanter Hosts. Wenn man für alle einzelnen IP-Adressen +alle Ports scannt, so ist das nicht nur langsam, sondern normalerweise auch +unnötig. Was einen Host interessant macht, hängt natürlich stark vom Zweck +der Untersuchung ab. Netzwerkadministratoren interessieren sich vielleicht +nur für Hosts, auf denen ein bestimmter Dienst läuft, während +Sicherheitsprüfer sich vielleicht für alle Geräte interessieren, die eine +IP-Adresse haben. Ein Administrator benötigt vielleicht nur einen ICMP-Ping, +um Hosts in seinem internen Netzwerk zu finden, während ein externer +Penetrationstester vielleicht Dutzende ganz verschiedener Tests einsetzen +wird, um zu versuchen, die Firewall-Beschränkungen zu umgehen. + +Da die Anforderungen bei der Host-Erkennung so verschieden sind, bietet +Nmap eine breite Palette von Optionen zur Anpassung der eingesetzten +Verfahren. Trotz seines Namens geht ein Ping-Scan weit über die einfachen +ICMP Echo-Request-Pakete hinaus, die mit dem allgegenwärtigen Werkzeug +ping verbunden sind. Man kann den Ping-Schritt +völlig auslassen, indem man einen List-Scan () benutzt, +Ping ausschaltet () oder beliebige Kombinationen +von Multi Port TCP-SYN/ACK, UDP- und ICMP-Testanfragen auf ein Netzwerk +loslässt. Der Zweck dieser Anfragen ist der, Antworten hervorzurufen, +die zeigen, dass eine IP-Adresse tatsächlich aktiv ist (d.h. von einem +Host oder Gerät im Netzwerk benutzt wird). In vielen Netzwerken ist nur ein +kleiner Prozentsatz von IP-Adressen zu einem bestimmten Zeitpunkt aktiv. +Das gilt besonders für einen privaten Adressraum wie 10.0.0.0/8. Dieses +Netzwerk enthält 16,8 Millionen IPs, aber ich habe auch Firmen gesehen, die +es mit weniger als tausend Rechnern benutzen. Mit der Host-Erkennung kann +man diese spärlichen Rechnerinseln in einem Meer von IP-Adressen finden. + +Falls keine Optionen für die Host-Erkennung angegeben werden, +sendet Nmap ein TCP-ACK-Paket an Port 80 und ein ICMP Echo-Request an +alle Zielrechner. Eine Ausnahme ist, dass bei allen Zielen in einem +lokalen Ethernet-Netzwerk ein ARP-Scan benutzt wird. Für unprivilegierte +Unix-Shell-Benutzer wird mit dem connect-Systemaufruf +ein SYN-Paket statt eines ACK +gesendet.Benutzer ohne SonderrechteBeschränkungen +Diese Standardeinstellungen sind äquivalent zu den Optionen +. Diese Host-Erkennung ist oft ausreichend, +wenn man lokale Netzwerke scannt, aber für Sicherheitsüberprüfungen +empfiehlt sich eine umfangreichere Menge von Erkennungstestpaketen. + +Die Optionen (die Ping-Typen auswählen) +lassen sich kombinieren. Sie können Ihre Chancen steigern, bei strengen +Firewalls durchzukommen, indem Sie viele Testpaketarten mit verschiedenen +TCP-Ports/-Flags und ICMP-Codes senden. Beachten Sie auch, dass die +ARP-Erkennung +() +bei Zielen in einem lokalen Ethernet-Netzwerk standardmäßig erfolgt, +selbst dann, wenn Sie andere -Optionen angeben, +weil sie fast immer schneller und effizienter ist. + +Standardmäßig führt Nmap eine Host-Erkennung und dann einen +Port-Scan auf jedem Host aus, den es als online erkennt. Das gilt auch +dann, wenn Sie nicht standardmäßige Host-Erkennungstypen wie UDP-Testpakete +() angeben. Lesen Sie über die Option + nach, um zu lernen, wie man nur eine Host-Erkennung +durchführt, oder über , um die Host-Erkennung zu +überspringen und einen Port-Scan aller Zielhosts durchzuführen. Folgende +Optionen steuern die Host-Erkennung: + + + + + + (List-Scan) + +List-Scan + + +Ein List-Scan ist eine degenerierte Form der Host-Erkennung, die einfach +jeden Host im angegebenen Netzwerk (bzw. den Netzwerken) auflistet, ohne +Pakete an die Ziel-Hosts zu senden. Standardmäßig führt Nmap immer noch eine +Reverse-DNS-Auflösung der Hosts durch, um deren Namen zu lernen. +Es ist oft erstaunlich, wie viel nützliche Informationen einfache +Hostnamen verraten. Zum Beispiel ist fw.chi +der Name einer Firewall einer Firma in Chicago. +DNSEinträge als Informationsquelle +Nmap gibt am Ende auch die gesamte Anzahl der IP-Adressen aus. +Ein List-Scan ist eine gute +Plausibilitätsprüfung, um sicherzustellen, dass Sie saubere IP-Adressen +für Ihre Ziele haben. Falls die Hosts Domainnamen enthalten, die Ihnen nichts +sagen, lohnt sich eine weitere Untersuchung, um zu verhindern, dass Sie das +Netzwerk der falschen Firma scannen. + +Da die Idee einfach die ist, eine Liste der Zielhosts auszugeben, +lassen sich Optionen für eine höhere Funktionalität wie z.B. Port-Scanning, +Betriebssystemerkennung oder Ping-Scanning damit nicht kombinieren. +Falls Sie einen Ping-Scan abschalten und trotzdem solch höhere +Funktionalität durchführen möchten, lesen Sie bei der Option + weiter. + + + + + + (Ping-Scan) + +Ping-Scan + + +Diese Option verlangt, dass Nmap nur einen Ping-Scan +(Host-Erkennung) durchführt und dann die verfügbaren Hosts +ausgibt, die auf den Scan geantwortet haben. +Darüber hinaus werden keine weiteren Tests (z.B. +Port-Scans oder Betriebssystemerkennung) durchgeführt, außer bei +Host-Scripts mit der Nmap Scripting Engine und traceroute-Tests, +sofern Sie diese Optionen angegeben haben. +Das ist eine Stufe aufdringlicher als ein List-Scan +und kann oft für dieselben Zwecke benutzt werden. Sie führt schnell eine +schwache Aufklärung des Zielnetzwerks durch, ohne viel Aufmerksamkeit zu +erregen. Für Angreifer ist es wertvoller, zu wissen, wie viele Hosts +verfügbar sind, als die Liste aller IPs und Hostnamen aus einem +List-Scan zu kennen. + +Für Systemadministratoren ist diese Option oft ebenfalls wertvoll. +Mit ihr kann man sehr leicht die verfügbaren Rechner in einem Netzwerk +zählen oder die Server-Verfügbarkeit überwachen. So etwas nennt man oft auch +einen Ping-Sweep, und es ist zuverlässiger als ein Pinging auf die +Broadcast-Adresse, weil viele Hosts auf Broadcast-Anfragen nicht +antworten. + +Die Option sendet standardmäßig einen +ICMP Echo-Request und ein TCP-ACK-Paket an Port 80. Bei Ausführung +ohne Sonderrechte wird nur ein SYN-Paket (mit einem +connect-Aufruf) an Port 80 an das Ziel gesendet. +Wenn ein Benutzer mit Sonderrechten versucht, Ziele in einem lokalen +Ethernet-Netzwerk zu scannen, werden ARP-Requests verwendet, es sei +denn, die Option wird angegeben. +Die Option kann mit allen Erkennungsmethoden +(die Optionen , außer ) +kombiniert werden, um eine höhere Flexibilität zu erhalten. +Falls zwischen dem Ausgangs-Host, auf dem Nmap läuft, und dem Zielnetzwerk +strenge Firewalls installiert sind, empfehlen sich diese fortgeschrittenen +Methoden. Ansonsten könnten Hosts übersehen werden, wenn die Firewall +Testanfragen oder Antworten darauf verwirft + + + + + + + + (Ping abschalten) + +Host-Erkennungausschalten + + +Eine weitere Möglichkeit ist die, die Erkennungsphase von Nmap völlig +auszulassen. Normalerweise bestimmt Nmap in dieser Phase aktive Rechner, +die es anschließend stärker scannt. Standardmäßig führt Nmap heftigere +Tests wie Port-Scans, Versions- oder Betriebssystemerkennung bei Hosts +durch, die es bereits als aktiv eingestuft hat. Das Ausschalten der +Host-Erkennung mit der Option bewirkt, dass Nmap +versucht, die gewünschten Scan-Funktionen auf +allen angegebenen Ziel-IP-Adresssen durchzuführen. +Wenn also ein Zieladressraum der Größe Klasse B (/16) auf der Kommandozeile +angegeben wird, werden alle 65.536 IP-Adressen gescannt. +Eine richtige Host-Erkennung wird wie bei einem List-Scan übersprungen, +aber statt anzuhalten und die Zielliste auszugeben, fährt Nmap mit +der Durchführung der gewünschten Funktionen fort, so als ob jede Ziel-IP +aktiv wäre. +Bei Rechnern im lokalen Ethernet-Netzwerk wird ein ARP-Scan weiterhin +ausgeführt (es sei denn, es wird angegeben), +da Nmap MAC-Adressen braucht, um Zielhosts weiter zu scannen. Diese Option +lautete früher einaml (mit einer Null), wurde dann +aber umbenannt, um Verwirrung mit der Option von +Protokoll-Pings (benutzt den Buchstaben O) zu vermeiden. + + + + + + (TCP-SYN-Ping) + +SYN-Ping + + + +Diese Option sendet ein leeres TCP-Paket mit gesetztem SYN-Flag. +Der vorgegebene Zielport ist 80 (lässt sich zum Zeitpunkt des +Kompilierens durch Ändern von +DEFAULT_TCP_PROBE_PORT_SPECDEFAULT_TCP_PROBE_PORT_SPEC +in nmap.h +konfigurieren),nmap.h +aber man kann einen alternativen Port als Parameter angeben. +Die Syntax ist dieselbe wie bei , mit dem Unterschied, +dass Porttypenbezeichner wie T: nicht erlaubt sind. +Beispiele hierfür sind und +. Beachten Sie, dass es +kein Leerzeichen zwischen und der Port-Liste +geben darf. Falls mehrere Tests angegeben werden, werden sie +parallel durchgeführt. + +Das SYN-Flag bedeutet für das entfernte System, dass Sie versuchen, +eine Verbindung herzustellen. Normalerweise wird der Zielport geschlossen +sein, und es wird ein RST-(Reset-)Paket zurückgeschickt. Falls der Port +offen ist, führt das Ziel den zweiten Schritt eines TCP-three-way-handshake +Three-way-Handshake durch, 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 antwortet, +statt ein ACK-Paket zu senden, mit dem der three-way handshake komplett und +eine vollständige Verbindung hergestellt wäre. Das RST-Paket +wird als Antwort auf das unerwartete SYN/ACK vom Betriebssystem-Kernel des +Rechners gesendet, auf dem Nmap läuft, nicht von Nmap selbst. + +Für Nmap ist es egal, ob der Port offen oder geschlossen ist. Aus beiden +Antworten, ob RST oder SYN/ACK, schließt Nmap, dass der Host verfügbar ist +und antwortet. + +Auf Unix-Rechnern kann im Allgemeinen nur der mit Sonderrechten +ausgestattete Benutzer +rootBenutzer mit Sonderrechten +rohe TCP-Pakete senden und +empfangen.rohe Pakete +Bei normalen Benutzern kommt automatisch eine Umgehungslösung zum +Tragen,Benutzer ohne SonderrechteBeschränkungen +bei der für alle Zielports der connect-Systemaufruf +verwendet wird. Das bewirkt, dass an den Zielhost ein SYN-Paket gesendet +wird, mit der Absicht, eine Verbindung herzustellen. Falls +connect schnell ein erfolgreiches Ergebnis oder +einen ECONNREFUSED-Fehler zurückgibt, muss der darunterliegende TCP-Stack +ein SYN/ACK oder RST empfangen haben, und der Host wird als verfügbar +vermerkt. Falls der Verbindungsversuch hängenbleibt, bis eine +Zeitbeschränkung erreicht ist, wird der Host als inaktiv vermerkt. +Diese Behelfslösung wird auch bei IPv6-Verbindungen +verwendet, da Nmap den Bau roher IPv6-Pakete noch nicht +unterstützt.IPv6Beschränkungen + + + + + + + + (TCP-ACK-Ping) + +ACK-Ping + + +Der TCP-ACK-Ping ist ziemlich ähnlich zum SYN-Ping. Der Unterschied +ist der, dass das TCP-ACK-Flag statt dem SYN-Flag gesetzt wird, was Sie +sich bestimmt schon gedacht haben. Ein solches ACK-Paket erweckt den +Eindruck, es wolle Daten auf einer bestehenden TCP-Vebindung bestätigen, +während eine solche Verbindung gar nicht existiert. Entfernte Hosts sollten +darauf immer mit einem RST-Paket antworten, wobei sie ihre Existenz +verraten. + +Die Option benutzt denselben Standard-Port wie der +SYN-Test (80) und nimmt ebenfalls eine Liste von Zielports im selben Format +an. Falls ein unprivilegierter Benutzer das ausprobiert oder falls ein IPv6-Ziel +angegeben wird, wird die bereits erwähnte Behelfslösung mit +connect eingesetzt. Diese ist nicht perfekt, +da connect tatsächlich ein +SYN-Paket statt eines ACK sendet. + +Der Grund für die Existenz sowohl von SYN- als auch ACK-Ping-Tests +liegt darin, die Chancen für die Umgehung von Firewalls zu erhöhen. Viele +Administratoren konfigurieren Router und andere einfache Firewalls so, +dass sie eingehende SYN-Pakete blockieren, außer bei solchen für öffentliche +Dienste wie bei der Website oder dem Mailserver der Firma. Das verhindert +weitere eingehende Verbindungen zur Organisation, während es den Benutzern +freie Verbindungen ins Internet erlaubt. Dieser zustandslose Ansatz benötigt +wenige Ressourcen in der Firewall bzw. im Router und wird von Hardware- und +Software-Filtern weithin unterstützt. Die Firewall-Software +Netfilter/iptablesiptables +in Linux bietet die komfortable Option , um diesen +zustandslosen Ansatz zu implementieren. Wenn solche Firewall-Regeln +vorhanden sind, werden SYN-Ping-Tests +(), die an geschlossene Zielports gesendet werden, +sehr wahrscheinlich blockiert. In solchen Fällen greift der ACK-Test, +da er diese Regeln einfach kappt. + +Eine weitere häufige Art von Firewalls verwendet zustandsbehaftete +Regeln, die unerwartete Pakete verwerfen. Dieses Merkmal konnte man zuerst +bei hochwertigen Firewalls finden, es hat sich aber mit der Zeit deutlich +verbreitet. In Linux unterstützt das Netfilter/iptables-System das mit der +Option --state, die Pakete nach einem Verbindungszustand +kategorisiert. In solchen Fällen hat der SYN-Test eine wesentlich +bessere Chance auf Erfolg, da unerwartete ACK-Pakete im Allgemeinen als +fehlerhaft erkannt und verworfen werden. Eine Lösung aus diesem Dilemma +besteht darin, mit und +SYN- und ACK-Testpakete zu senden. + + + + + + (UDP-Ping) + +UDP-Ping + + + +Eine weitere Möglichkeit bei der Host-Erkennung ist der UDP-Ping, +bei dem ein leeres (außer bei Angabe von ) +UDP-Paket an die angegebenen Ports gesendet wird. Die Portliste hat dasselbe +Format wie bei den weiter oben beschriebenen Optionen +und . Falls keine Ports angegeben werden, ist die +Standardeinstellung 31338. Dieser Wert kann zum Zeitpunkt des Kompilierens +dürch Änderung von +DEFAULT_UDP_PROBE_PORT_SPECDEFAULT_UDP_PROBE_PORT_SPEC +in nmap.h konfiguriert werden.nmap.h +Es wird absichtlich ein sehr unwahrscheinlicher Port verwendet, weil bei +dieser bestimmten Art des Scannens das Senden an offene Ports oft unerwünscht +ist. + +Trifft der UDP-Test beim Zielrechner auf einen geschlossenen Port, +so sollte dieser ein ICMP-Paket zurückschicken, das besagt, dass der Port +nicht erreichbar ist. Daraus schließt Nmap, dass der Rechner läuft und +verfügbar ist. Viele weitere Arten von ICMP-Fehlern, z.B. bei unerreichbaren +Hosts/Netzwerken oder überschrittener TTL (Time To Live), sind Zeichen für +einen abgeschalteten oder unerreichbaren Host. Auch eine ausbleibende Antwort +wird so interpretiert. Falls ein offener Port erreicht wird, ignorieren die +meisten Dienste das leere Paket einfach und geben keine Antwort zurück. Deswegen +wird als Standardport 31338 benutzt, bei dem es sehr unwahrscheinlich ist, +dass er benutzt wird. Einige Dienste, wie z.B. das Character +Generator-Protokoll (chargen), antworten auf ein leeres UDP-Paket und enthüllen +damit Nmap gegenüber, dass der Rechner zugänglich ist. + +Der Hauptvorteil dieses Scan-Typs liegt darin, dass er Firewalls und +Filter umgeht, die nur TCP überprüfen. Ich hatte z.B. einmal ein BEFW11S4, +einen Wireless-Breitband-Router von Linksys. Die externe Schnittstelle dieses +Geräts filterte standardmäßig alle TCP-Ports, aber UDP-Tests entlockten ihm +weiterhin Meldungen über unerreichbare Ports und verrieten damit das +Gerät. + + + + + + +; +; + (ICMP-Ping-Arten) + + + +ICMP-Ping + + + +Zusätzlich zu den genannten ungewöhnlichen TCP- und +UDP-Host-Erkennungsarten kann Nmap auch Standardpakete senden, wie sie +das allgegenwärtige Programm ping sendet. Nmap +sendet ein ICMP Typ-8-Paket (Echo-Request) an die Ziel-IP-Adressen und +erwartet eine Typ-0-Antwort (Echo-Reply) vom verfügbaren Host.ICMP Echo +Zum Leidwesen von Netzwerkerkundern blockieren viele Hosts und +Firewalls heute diese Pakete, statt, wie in +RFC 1122 verlangt, +darauf zu antworten. Aus diesem Grund sind ICMP-Scans allein bei +unbekannten Zielen über das Internet selten zuverlässig genug. Aber für +Systemadministratoren, die ein internes Netzwerk überwachen, kann das ein +praktischer und wirksamer Ansatz sein. Benutzen Sie die Option +, um dieses Verhalten mit Echo-Requests +einzuschalten. + +Auch wenn ein Echo-Request die Standard-ICMP-Ping-Abfrage +ist, hört Nmap hier nicht auf. Der ICMP-Standard +(RFC 792) +spezifiziert auch Anfragepakete für Zeitstempel, Information und +Adressmaske mit den jeweiligen Codes 13, 15 und 17. +Während diese Anfragen +angeblich den Zweck haben, an Informationen wie Address Mask und Timestamp zu +gelangen, können sie auch leicht für die Host-Erkennung benutzt werden. +Im Moment implementiert Nmap keine Information-Request-Pakete, da sie +nicht weit verbreitet sind (RFC 1122 besteht darauf, dass ein Host +diese Nachrichten NICHT implementieren SOLLTE). +Anfragen nach Timestamp und Address Mask können jeweils mit den +Optionen und +gesendet werden. Eine Timestamp-Antwort (ICMP-Code 14) oder +Address-Mask-Antwort (Code 18) +enthüllt, dass der Host greifbar ist. Diese beiden +Abfragen können wertvoll sein, wenn Administratoren ausdrücklich +Echo-Request-Pakete blockieren, aber vergessen, dass man für den +gleichen Zweck auch andere ICMP-Abfragen benutzen kann. + + + + + + + (IP-Protokoll-Ping) + +IP-Protokoll-Ping + + + +Die neueste Möglichkeit der Host-Erkennung ist ein IP-Protokoll-Ping, +der IP-Pakete sendet, in deren IP-Header die angegebene Protokollnummer +gesetzt ist. Die Protokoll-Liste hat dasselbe Format wie Portlisten bei +den weiter oben vorgestellten Optionen der TCP- und UDP-Host-Erkennung. +Ohne Angabe von Protokollen 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 zum Zeitpunkt des Kompilierens durch +Veränderung von DEFAULT_PROTO_PROBE_PORT_SPECDEFAULT_PROTO_PROBE_PORT_SPEC +in nmap.h konfiguriert werden. +Beachten Sie, dass für ICMP, IGMP, TCP (Protokoll 6) und UDP (Protokoll 17) +die Pakete mit den richtigen Protokoll-Headern gesendet werden, während +andere Protokolle ohne weitere Daten über den IP-Header hinaus gesendet werden +(es sei denn, die Option wird angegeben). + +Diese Methode der Host-Erkennung sucht nach Antworten, die entweder +dasselbe Protokoll wie der Test haben, oder Meldungen, dass das +ICMP-Protokoll nicht erreichbar ist, was bedeutet, dass das gegebene +Protokoll vom Zielhost nicht unterstützt wird. Beide Antworten bedeuten, +dass der Zielhost am Leben ist. + + + + + + (ARP-Ping) + +ARP-Ping + + + +Eines der häufigsten Einsatzszenarien für Nmap ist das Scannen eines +Ethernet-LANs. In den meisten LANs, besonders jenen, die durch +RFC 1918 erteilte +private Adressbereiche verwenden, wird der Großteil der IP-Adressen meistens +nicht genutzt. Wenn Nmap versucht, ein rohes IP-Paket wie z.B. ein +ICMP Echo-Request zu senden, muss das Betriebssystem die der Ziel-IP +entsprechende Hardware-Zieladresse (ARP) bestimmen, damit es den +Ethernet-Frame korrekt adressieren kann. Das ist oft langsam und +problematisch, da Betriebssysteme nicht in der Erwartung geschrieben +wurden, dass sie in kurzer Zeit Millionen von ARP-Anfragen bei nicht +erreichbaren Hosts durchführen müssen. + +Beim ARP-Scan ist Nmap mit seinen optimierten Algorithmen +zuständig für ARP-Anfragen. Und wenn es eine Antwort erhält, muss +sich Nmap nicht einmal um die IP-basierten Ping-Pakete kümmern, da +es bereits weiß, dass der Host aktiv ist. Das macht den ARP-Scan +viel schneller und zuverlässiger als IP-basierte Scans. +Deswegen wird er standardmäßig ausgeführt, wenn Ethernet-Hosts +gescannt werden, bei denen Nmap bemerkt, dass sie sich in einem +lokalen Ethernet-Netzwerk befinden. Selbst wenn verschiedene Ping-Arten +(wie z.B. oder ) angegeben +werden, benutzt Nmap stattdessen ARP bei allen Zielen, die im selben +LAN sind. Wenn Sie einen ARP-Scan auf gar keinen Fall durchführen +möchten, geben Sie an. + + + + + + + (Traceroutes zum Host) + +traceroute + + + + +Traceroutes werden nach einem Scan mit Hilfe der Information aus den +Scan-Ergebnissen durchgeführt, um den wahrscheinlichsten Port und das +wahrscheinlichste Protokoll zu bestimmen, die zum Ziel führen. Es +funktioniert mit allen Scan-Arten außer Connect-Scans +() und Idle-Scans (). +Alle Traces benutzen Nmaps dynamisches Timing-Modell und werden parallel +durchgeführt. + + + +Traceroute funktioniert dadurch, dass es Pakete mit kurzer TTL +(Time To Live) sendet und damit versucht, ICMP Time-Exceeded-Nachrichten +von Sprungstellen zwischen dem Scanner und dem Zielhost hervorzurufen. +Standardimplementationen von Traceroute fangen mit einer TTL von 1 an +und inkrementieren die TTL, bis der Zielhost erreicht ist. Nmaps +Traceroute fängt mit einer hohen TTL an und verringert sie, bis sie +Null erreicht. Durch dieses umgekehrte Vorgehen kann Nmap clevere +Caching-Algorithmen benutzen, um Traces über mehrere Hosts zu +beschleunigen. Im Durchschnitt sendet Nmap je nach Netzwerkbedingungen +5–10 Pakete weniger pro Host. Wenn ein einziges Unternetz gescannt +wird (z.B. 192.168.0.0/24), muss Nmap an die meisten Hosts eventuell nur ein +einziges Paket senden. + + + + + + + (keine DNS-Auflösung) + + + + +Weist Nmap an, niemals eine +Reverse-DNS-AuflösungReverse-DNSausschalten mit +bei den gefundenen aktiven IP-Adressen durchzuführen. +Da DNS selbst mit Nmaps eingebautem parallelen Stub-Resolver +langsam sein kann, kann diese Option die Scan-Zeiten dramatisch +reduzieren. + + + + + + (DNS-Auflösung für alle Ziele) + + + +Weist Nmap an, immer eine +Reverse-DNS-Auflösung bei den Ziel-IP-Adressen durchzuführen. +Normalerweise wird Reverse-DNS nur bei anwortenden Hosts +(die online sind) durchgeführt. + + + + + + (verwendet DNS-Auflösung des Systems) + + + + +Standardmäßig löst Nmap IP-Adressen auf, indem es Anfragen direkt +an die auf Ihrem Host konfigurierten Nameserver schickt und dann auf +Antworten wartet. Um die Performance zu erhöhen, werden viele Anfragen +(oftmals Dutzende) parallel ausgeführt. +Wenn Sie diese Option angeben, verwenden Sie stattdessen die +Auflösungsmethode Ihres Systems (zu jedem Zeitpunkt nur eine IP mit dem +Aufruf getnameinfo call). Das ist langsam und selten +nützlich, es sei denn, Sie finden einen Fehler bei der parallelen +Auflösung in Nmap (bitte teilen Sie uns das mit). Bei IPv6-Scans wird +immer die Auflösungsmethode des Systems verwendet. +IPv6Beschränkungen + + + + + + + (Server, die für Reverse-DNS-Anfragen benutzt werden) + + + + +Standardmäßig bestimmt Nmap Ihre DNS-Server (für die +rDNS-Auflösung) aus Ihrer Datei resolv.conf (Unix) oder der +Registry (Win32). Mit dieser Option können Sie alternative Server +dazu angeben. Diese Option bleibt unbeachtet, falls Sie + oder einen IPv6-Scan benutzen. Oft ist +es schneller, mehrere DNS-Server zu benutzen, besonders dann, wenn +Sie für Ihren Ziel-IP-Raum maßgebende Server benutzen. Diese Option +kann auch die Heimlichkeit erhöhen, da Ihre Anfragen von fast jedem +rekursiven DNS-Server im Internet abprallen können. + +Diese Option ist auch beim Scannen privater Netzwerke praktisch. +Manchmal bieten nur einige wenige Nameserver saubere rDNS-Information, +und Sie wissen vielleicht nicht einmal, wo sie sind. Sie können das +Netzwerk auf Port 53 scannen (vielleicht mit Versionserkennung), dann +Nmap-List-Scans versuchen () und dabei mit der +Option immer nur einen Nameserver +angeben, bis Sie einen finden, der funktioniert. + + + + + + + + + +Grundlagen von Port-Scans + +Nmap hat über die Jahre an Funktionalität zugelegt, aber angefangen +hat es als effizienter Port-Scanner, und das ist weiterhin seine Kernfunktion. +Der einfache Befehl +nmap target scannt die am +häufigsten verwendeten 1000 TCP-Ports auf dem Host +target und klassifiziert jeden Port in einen der +Zustände +offen, geschlossen, +gefiltert, ungefiltert, +offen|gefiltert oder +geschlossen|gefiltert. + +Diese Zustände sind +keine echten Eigenschaften eines Ports selbst, sondern beschreiben, wie Nmap +ihn sieht. Ein Nmap-Scan z.B., bei dem Ausgangs- und Zielnetzwerk identisch +sind, könnte Port 135/tcp als offen anzeigen, während ein +Scan zur selben Zeit mit denselben Optionen über das Internet diesen Port +als gefiltert anzeigen könnte. + +Die sechs von Nmap erkannten Port-Zustände + + +offen Portzustand +offen +Ein Programm ist bereit, TCP-Verbindungen oder UDP-Pakete +auf diesem +Port anzunehmen. Beim Port-Scanning ist es oftmals das Ziel, solche Ports +zu finden. Sicherheitsbewusste Leute wissen, dass jeder offene Port eine +breite Einfahrtstrasse für Angriffe darstellt. Angreifer und +Penetrationstester wollen offene Ports ausbeuten (engl. exploit), +während Administratoren versuchen, sie zu schließen oder mit Firewalls +zu schützen, ohne legitime Benutzer zu behindern. +Offene Ports sind auch für Scans von Interesse, bei denen es nicht um +Sicherheit geht, weil sie Dienste anzeigen, die im Netzwerk benutzt werden +können. + + + +geschlossen Portzustand +geschlossen + +Ein geschlossener Port ist erreichbar (er empfängt und +antwortet auf Nmap-Testpakete), aber es gibt kein Programm, das ihn +abhört. Er kann von Nutzen sein, um zu zeigen, dass ein Host online ist +und eine IP-Adresse benutzt (Host-Erkennung oder Ping-Scanning), sowie +als Teil der Betriebssystemerkennung. Weil geschlossene Ports erreichbar +sind, sind sie es wert, gescannt zu werden, falls sie später einmal +geöffnet werden sollten. +Administratoren möchten solche Ports vielleicht mit einer Firewall +blockieren, damit sie im Zustand gefiltert erscheinen, der als Nächstes +beschrieben wird. + + + +gefiltert Portzustand +gefiltert + +Nmap kann nicht feststellen, ob der Port offen ist, weil +eine Paketfilterung verhindert, dass seine Testpakete den Port erreichen. +Die Filterung könnte durch dafür vorgesehene Firewall-Geräte, Router-Regeln +oder hostbasierte Firewall-Software erfolgen. Weil sie so wenig Information +bringen, sind diese Ports für Angreifer frustrierend. Manchmal +antworten sie mit ICMP-Fehlermeldungen wie Typ 3, Code 13 +(Destination Unreachable: Communication Administratively Prohibited), +aber Filter, die Testpakete ohne Antwort einfach verwerfen, kommen +wesentlich häufiger vor. Das zwingt Nmap zu mehreren wiederholten +Versuchen, um auszuschließen, dass das Testpaket wegen einer +Netzwerküberlastung statt durch eine Filterung verworfen wurde. Diese +Art der Filterung verlangsamt einen Scan +dramatisch. + + +ungefiltert Portzustand +ungefiltert +Der Zustand ungefiltert bedeutet, dass ein Port +zugänglich ist, aber Nmap nicht feststellen kann, ob er offen oder +geschlossen ist. Nur der ACK-Scan, +der benutzt wird, um Firewall-Regelwerke zu bestimmen, +klassifiziert Ports in diesen Zustand. +Um festzustellen, ob ein ungefilterter Port offen ist, kann es hilfreich +sein, ihn mit anderen Scan-Methoden wie Window-Scan, +SYN-Scan oder FIN-Scan zu scannen. + + + +offen|gefiltert Portzustand +offen|gefiltert +Nmap klassifiziert einen Port in diesen Zustand, +wenn es nicht feststellen kann, ob der Port offen oder gefiltert ist. +Das kommt bei Scan-Methoden vor, in denen offene Ports keine Antwort +geben. Das Fehlen einer Antwort könnte auch bedeuten, dass ein Paketfilter +das Testpaket verworfen hat oder dass keine Antwort provoziert werden +konnte. Deswegen weiß Nmap nicht sicher, ob der Port offen ist oder +gefiltert wird. Ports werden von den UDP-, IP-Protokoll-, FIN-, NULL- und +Xmas-Scans auf diese Weise klassifiziert. + + + +geschlossen|gefiltert Portzustand +geschlossen|gefiltert +Dieser Zustand wird benutzt, wenn Nmap nicht feststellen +kann, ob ein Port geschlossen ist oder gefiltert wird. Er wird nur vom +IP-ID-Idle-Scan benutzt. + + + + + + +Port-Scanning-Methoden + +Als Hobby-Automechaniker kann ich mich stundenlang damit +herumquälen, meine einfachsten Werkzeuge (Hammer, Klebeband, +Schraubenschlüssel etc.) an mein Problem anzupassen. Wenn ich dann +kläglich versage und meine alte Blechkiste zu einem echten Mechaniker +schleppe, fischt er immer so lange in einer riesigen Werkzeugkiste +herum, bis er das perfekte Ding gefunden hat, mit dem sich die Aufgabe +fast von allein löst. Bei der Kunst des Port-Scannings ist es ähnlich. +Experten kennen Dutzende von Scan-Methoden und wählen für jede +Aufgabe die geeignete (oder eine Kombination von mehreren) aus. +Auf der anderen Seite versuchen unerfahrene Benutzer und +Script-Kiddies,Script Kiddies +jedes Problem mit dem standardmäßigen SYN-Scan zu lösen. Da Nmap gratis +ist, ist Unwissen das einzige Hindernis auf dem Weg zur Meisterschaft +im Port-Scanning. +Das ist bestimmt besser als in der Autowelt, wo man eventuell sehr viel +Können haben muss, um festzustellen, dass man einen +Federbein-Kompressor benötigt, +und dann immer noch Tausende dafür bezahlen muss. + +Die meisten Scan-Typen stehen nur privilegierten Benutzern zur +Verfügung,Benutzer mit Sonderrechten +und zwar deswegen, weil sie rohe +IP-Paketerohe Pakete +senden und empfangen, wofür auf Unix-Systemen root-Rechte benötigt werden. +Auf Windows empfiehlt sich ein Administrator-Account, +wenngleich auf dieser Plattform Nmap manchmal auch für unprivilegierte Benutzer +funktioniert, sofern WinPcap bereits in das +Betriebssystem geladen wurde. Als Nmap 1997 veröffentlicht wurde, war die +Voraussetzung von root-Rechten eine ernsthafte Beschränkung, da viele Benutzer +nur Zugriff zu Shell-Accounts hatten. Die Welt von heute ist anders. +Computer sind billiger, wesentlich mehr Menschen verfügen über einen +immer verfügbaren direkten Internet-Zugang, und Desktop-Unix-Systeme +(inklusive Linux und Mac OS X) sind weit verbreitet. Eine Windows-Version +von Nmap ist nun auch verfügbar, wodurch es nun auf noch mehr Rechnern +laufen kann. Aus all diesen Gründen sind Benutzer nur noch selten +gezwungen, Nmap von einem beschränkten Shell-Account aus einzusetzen. +Das ist erfreulich, denn die privilegierten Optionen machen Nmap wesentlich +mächtiger und flexibler. + +Auch wenn Nmap versucht, genaue Ergebnisse zu produzieren, sollten +Sie nicht vergessen, dass all seine Erkenntnisse auf Paketen basieren, die +von den Zielrechnern (oder den Firewalls davor) zurückkommen. Solche Hosts +können unzuverlässig sein und eine Antwort senden, die Nmap verwirren oder +täuschen soll. Wesentlich häufiger sind Hosts, die nicht RFC-konform sind +und auf Testpakete von Nmap nicht so antworten, wie sie sollten. FIN-, +NULL- und Xmas-Scans sind für dieses Problem besonders anfällig. Solche +Probleme sind spezifisch für bestimmte Scan-Methoden und werden daher +in den jeweiligen Abschnitten erörtert. + +Dieser Abschnitt dokumentiert die etwa ein Dutzend von Nmap +unterstützten Port-Scan-Methoden. Es darf immer nur eine Methode +allein benutzt werden, mit der Ausnahme von +UDP-Scans (), die sich mit allen anderen +TCP-Scan-Methoden kombinieren lassen. Hier eine Gedächtnisstütze: +Optionen für Port-Scan-Methoden haben die Form +, wobei +C ein bedeutender Buchstabe im Scan-Namen ist, +normalerweise der erste. Die eine Ausnahme hiervon ist der als veraltet +betrachtete FTP-Bounce-Scan (). +Nmap führt standardmäßig einen SYN-Scan durch, ersetzt diesen aber mit +einem Connect-Scan, falls der Benutzer nicht die nötigen Rechte hat, +um rohe Pakete (benötigen unter Unix root-Rechte) zu senden, oder falls er +IPv6-Ziele angegeben hat. Von den in diesem Abschnitt aufgelisteten +Scans dürfen Benutzer ohne Sonderrechte nur den Connect- und +FTP-Bounce-Scan ausführen. + + + + + (TCP-SYN-Scan) + + SYN-Scan + + + +Der SYN-Scan ist aus gutem Grund die Standardeinstellung +und die beliebteste Scan-Methode. Er kann schnell durchgeführt werden +und scannt dabei Tausende von Ports pro Sekunde, wenn das Netzwerk schnell +ist und nicht von einer intrusiven Firewall behindert wird. +Der SYN-Scan ist relativ unauffällig, da er TCP-Verbindungen niemals +abschließt. Außerdem funktioniert er auch bei allen konformen TCP-Stacks +und ist unabhängig von spezifischen Eigenarten von Plattformen, wie es bei den +FIN-/NULL-/Xmas-, Maimon- und Idle-Scans in Nmap der Fall ist. Er erlaubt +auch eine klare, zuverlässige Unterscheidung zwischen den Zuständen +offen, geschlossen und +gefiltert. + +Diese Methode wird oft als halboffenes Scannen bezeichnet, +weil keine vollständige TCP-Verbindung hergestellt wird. Sie senden +ein SYN-Paket, als ob Sie eine echte Verbindung herstellen würden, +und warten dann auf eine Antwort. Ein SYN/ACK zeigt, dass jemand auf +dem Port lauscht (dass er offen ist), während ein RST (Reset) anzeigt, +dass niemand darauf lauscht. Falls nach mehreren erneuten Übertragungen +keine Antwort erhalten wird, wird der Port als gefiltert markiert. +Der Port wird auch dann als gefiltert markiert, wenn ein +ICMP Unreachable-Fehler +(Typ 3, Code 1, 2, 3, 9, 10 oder 13) empfangen wird. + + + + + + + (TCP-Connect-Scan) + + Connect-Scan + + +Der TCP-Connect-Scan ist der standardmäßig eingestellte TCP-Scan-Typ, +falls der SYN-Scan nicht möglich ist. Das ist dann der Fall, wenn der +Benutzer kein Recht hat, rohe Pakete zu senden, oder wenn er IPv6-Netzwerke +scannt. Statt rohe Pakete zu schreiben, wie es die meisten anderen Scan-Typen +machen, bittet Nmap das darunterliegende Betriebssystem, eine Verbindung +mit dem Zielrechner und -port herzustellen, indem es einen Systemaufruf +namens connect benutzt. Das ist derselbe Systemaufruf +auf höherer Ebene, den Webbrowser, P2P-Clients und die meisten anderen +netzwerkfähigen Anwendungen benutzen, um eine Verbindung herzustellen. +Er ist Teil einer Programmierschnittstelle, die unter dem Namen Berkeley +Sockets-API bekannt ist. Statt Antworten in Form roher Pakete von der +Leitung zu lesen, benutzt Nmap diese API, um zu jedem Verbindungsversuch +eine Statusinformation zu erhalten. + + +Wenn der SYN-Scan verfügbar ist, ist er normalerweise die bessere Wahl. +Nmap hat weniger Einfluss auf den connect-Systemaufruf +als auf rohe Pakete, wodurch es weniger effizient wird. Der Systemaufruf +beendet Verbindungen zu offenen Ziel-Ports vollständig, statt sie in +halboffenen Zustand zurückzusetzen, wie es der SYN-Scan macht. Das dauert +nicht nur länger und erfordert mehr Pakete, um an dieselbe Information zu +gelangen, sondern es ist sehr viel wahrscheinlicher, dass die Zielrechner +die Verbindung protokollieren. Ein anständiges IDS wird beides mitbekommen, +aber die meisten Rechner verfügen nicht über ein solches Alarmsystem. +Viele Dienste auf Ihrem durchschnittlichen Unix-System fügen eine Notiz +ins syslog hinzu und manchmal eine kryptische Fehlermeldung, wenn Nmap +eine Verbindung herstellt und sofort wieder schließt, ohne Daten zu senden. +Ganz armselige Dienste stürzen auch ab, wenn so etwas passiert, was aber +eher selten ist. Ein Administrator, der in seinen Protokollen einen Haufen +Verbindungsversuche von einem einzelnen System aus sieht, sollte wissen, +dass er Ziel eines Connect-Scans wurde. + + + + + + + (UDP-Scan) + +UDP-Scan + + + +Obwohl die meisten bekannten Dienste im Internet über das TCP-Protokoll +laufen, sind UDP-Dienste +weitverbreitet. Drei der häufigsten sind DNS, SNMP und DHCP (auf den +registrierten Ports 53, 161/162 und +67/68). Weil UDP-Scans im Allgemeinen langsamer und schwieriger als TCP-Scans sind, +werden diese Ports von manchen Sicherheitsprüfern einfach ignoriert. +Das ist ein Fehler, denn ausbeutbare UDP-Dienste sind recht häufig, und +Angreifer ignorieren bestimmt nicht das ganze Protokoll. Zum Glück kann +Nmap helfen, diese UDP-Ports zu inventarisieren. + +Ein UDP-Scan wird mit der Option aktiviert. +Er kann mit einem TCP-Scan-Typ wie einem SYN-Scan () +kombiniert werden, um beide Protokolle im gleichen Durchlauf zu +prüfen. + +Beim UDP-Scan wird ein leerer UDP-Header (ohne Daten) an alle +Ziel-Ports geschickt. Falls ein +ICMP Port-unreachable-Fehler (Typ 3, Code 3) zurückkommt, ist der +Port geschlossen. Andere ICMP Unreachable-Fehler +(Typ 3, Codes 1, 2, 9, 10 oder 13) markieren den Port als +filtered. Gelegentlich wird ein Dienst mit einem +UDP-Paket antworten, was beweist, das er offen ist. +Falls nach einigen erneuten Übertragungen keine Antwort erhalten wird, +wird der Port als offen|gefiltert klassifiziert. +Das heißt, der Port könnte offen sein, oder aber es gibt Paketfilter, +die die Kommunikation blockieren. Man kann eine Versionserkennung +() benutzen, um bei der Unterscheidung der wirklich +offenen von den geschlossenen Ports zu helfen. + +Eine große Herausforderung beim UDP-Scanning ist Geschwindigkeit. +Offene und gefilterte Ports antworten nur selten, wodurch Nmap +Zeitbeschränkungen überschreitet und seine Anfragen erneut sendet, +für den Fall, dass das Testpaket oder die Antwort verloren ging. +Geschlossene Ports sind oftmals ein noch größeres Problem. +Sie senden normalerweise eine ICMP Port-unreachable-Fehlermeldung +zurück. Aber anders als die RST-Pakete, die von geschlossenen TCP-Ports +als Antwort auf einen SYN- oder Connect-Scan geschickt werden, +beschränken viele Hosts standardmäßig die +RateRatenbeschränkung +der ICMP Port-unreachable-Nachrichten. Linux und Solaris sind dabei +besonders streng. Der Linux-Kernel 2.4.20 z.B. beschränkt +Destination-unreachable-Nachrichten auf eine pro Sekunde +(in net/ipv4/icmp.c). + +Nmap erkennt eine Ratenbeschränkung und verlangsamt seinen Betrieb +entsprechend, um zu vermeiden, dass das Netzwerk mit nutzlosen Paketen +überflutet wird, die vom Zielrechner verworfen werden. Unglücklicherweise +führt eine Beschränkung wie in Linux auf ein Paket pro Sekunde +dazu, dass ein Scan von 65.536 Ports über 18 Stunden dauert. Um Ihre +UDP-Scans zu beschleunigen, können Sie z.B. mehr Hosts parallel scannen, +zuerst nur einen schnellen Scan der beliebten Ports durchführen, +von hinter der Firewall scannen und die Option + benutzen, um langsame Hosts +auszulassen. + + + + + + + ; ; (TCP-NULL-, FIN- und -Xmas-Scans) + + + +NULL-Scan +FIN-Scan +Xmas-Scan + + + +Diese drei Scan-Typen (noch mehr sind mit der im nächsten Abschnitt +beschriebenen Option möglich) +beuten ein subtiles Schlupfloch im TCP RFC +aus, um zwischen offenen und +geschlossenen Ports zu unterscheiden. Seite 65 von +RFC 793 besagt: Falls der Zustand des +[Ziel-] Ports GESCHLOSSEN ist ... bewirkt ein eingehendes Segment, in dem +sich kein RST befindet, dass ein RST als Antwort gesendet wird. +Die nächste Seite beschreibt dann Pakete, die ohne gesetztes SYN-, RST- +oder ACK-Bit an offene Ports geschickt werden, und dort heißt es weiter: +Es ist unwahrscheinlich, dass Sie hierhin kommen, aber wenn doch, +dann verwerfen Sie das Segment und springen Sie zurück. + +Beim Scannen von Systemen, die konform zu diesem RFC-Text sind, +führt jedes Paket, das kein SYN-, RST- oder ACK-Bit enthält, dazu, dass +ein RST zurückgegeben wird, wenn der Port geschlossen ist, bzw. zu gar +keiner Antwort, falls der Port offen ist. Solange keines dieser drei Bits +gesetzt ist, sind alle Kombinationen der anderen drei (FIN, PSH und URG) +okay. Das nutzt Nmap mit drei Scan-Typen aus: + + + Null-Scan () + Setzt keinerlei Bits (der TCP-Flag-Header ist 0). + + FIN-Scan () + Setzt nur das TCP-FIN-Bit. + + Xmas-Scan () + Setzt die FIN-, PSH- und URG-Flags und beleuchtet + das Paket wie einen Weihnachtsbaum (engl. Xmas). + + +Diese drei Scan-Typen haben exakt dasselbe Verhalten und unterscheiden +sich nur in den TCP-Flags ihrer Testpakete. Wenn ein RST-Paket empfangen +wird, wird der Port als geschlossen betrachtet, während +keine Antwort bedeutet, dass er offen|gefiltert ist. +Der Port wird als gefiltert markiert, falls ein +ICMP Unreachable-Fehler (Type 3, Code 1, 2, 3, 9, 10 oder 13) +empfangen wird. + +Der Schlüsselvorteil dieser Scan-Arten ist, dass sie sich an +bestimmten zustandslosen Firewalls und paketfilternden Routern +vorbeschleichen können. Ein weiterer Vorteil ist, dass diese Scan-Arten +ncoh ein wenig unauffälliger sind als ein SYN-Scan. Aber verlassen +Sie sich nicht darauf – die meisten modernen IDS-Produkte können +so konfiguriert werden, dass sie diese Scans erkennen. Der große Nachteil +ist, dass nicht alle Systeme sich ganz genau an RFC 793 halten. Eine +Reihe von Systemen sendet RST-Antworten auf die Testpakete, unabhängig +davon, ob der Port offen ist oder nicht. Das bewirkt, dass alle Ports +als geschlossen markiert werden. Hauptvertreter +der Betriebssysteme, die das machen, sind Microsoft Windows, viele +Cisco-Geräte, BSDI und IBM OS/400. +Aber auf den meisten Unix-basierten Systemen funktioniert dieser Scan. +Ein weiterer Nachteil dieser Scans ist, dass sie keine Unterscheidung +zwischen offenen und bestimmten +gefilterten Ports machen, sondern lediglich das +Ergebnis offen|gefiltert ausgeben. + + + + + + + (TCP-ACK-Scan) + + ACK-Scan + + + +Dieser Scan unterscheidet sich insofern von den bisher hier +vorgestellten, als er nie offene (oder auch nur +offene|gefilterte) Ports bestimmt. Er wird dazu benutzt, +Firewall-Regeln zu bestimmen, festzustellen, ob sie zustandsbehaftet sind +oder nicht, und welche Ports gefiltert werden. + +Beim Testpaket eines ACK-Scans wird nur das ACK-Flag gesetzt +(es sei denn, Sie benutzen ). Beim Scannen +ungefilterter Systeme werden sowohl offene als auch +geschlossene Ports ein RST-Paket zurückgeben. Nmap +markiert sie dann als ungefiltert, d.h. sie werden +vom ACK-Paket erreicht, aber es kann nicht bestimmt werden, ob sie +offen oder geschlossen sind. +Ports, die nicht antworten oder bestimmte ICMP-Fehlermeldungen +zurückgeben (Type 3, Code 1, 2, 3, 9, 10 oder 13), werden als +gefiltert markiert. + + + + + + + (TCP-Window-Scan) + +Window-Scan + + + +Der Window-Scan ist genau derselbe wie der ACK-Scan, nur dass er +ein Implementationsdetail bestimmter Systeme zur Unterscheidung zwischen +offenen und geschlossenen Ports nutzt, statt bei jedem erhaltenen RST immer +nur ungefiltert anzugeben. Das geschieht durch Analyse +der TCP-Fenstergröße der zurückgegebenen RST-Pakete. +Auf manchen Systemen benutzen offene Ports eine positive Fenstergröße +(sogar für RST-Pakete), während geschlossene eine Fenstergröße von Null +haben. Statt einen Port immer als ungefiltert +aufzulisten, wenn von dort ein RST zurückkommt, listet der Window-Scan +den Port als offen oder geschlossen +auf, je nachdem, ob die TCP-Fenstergröße in diesem Reset jeweils positiv +oder Null ist. + +Dieser Scan baut auf einem Implementationsdetail einer Minderheit von +Systemen im Internet auf, d.h. Sie können sich nicht immer darauf verlassen. +Systeme, die es nicht unterstützen, werden normalerweise alle Ports als +geschlossen zurückgeben. Natürlich ist es möglich, dass +auf dem Rechner wirklich keine offenen Ports sind. Falls die meisten +gescannten Ports geschlossen, aber einige Ports +mit geläufigen Nummern (wie 22, 25 und 53) gefiltert sind, +dann ist das System sehr wahrscheinlich anfällig. Gelegentlich zeigen +Systeme auch genau das gegenteilige Verhalten. Falls Ihr Scan 1000 offene +und drei geschlossene oder gefilterte Ports anzeigt, dann könnten jene drei +sehr wohl die wirklich wahren offenen Ports sein. + + + + + + + (TCP-Maimon-Scan) + +Maimon-Scan + + + +Der Maimon-Scan wurde nach seinem Erfinder, Uriel +Maimon,Maimon, Uriel benannt. +Er hat diese Methode im +Phrack-Magazin, Ausgabe #49 (November 1996),Phrack +beschrieben. +Zwei Ausgaben später war diese Methode in Nmap enthalten. Sie macht genau +das Gleiche wie der NULL-, FIN- und Xmas-Scan, außer, dass sie ein +FIN/ACK-Testpaket verwendet. Laut RFC 793 (TCP) +sollte als Antwort auf solch ein Paket ein RST-Paket erzeugt werden, +egal ob der Port offen oder geschlossen ist. Allerdings hatte Uriel bemerkt, +dass viele von BSD abgeleitete Systeme das Paket einfach verwerfen, +wenn der Port offen ist. + + + + + + + (Benutzerdefinierter TCP-Scan) + + + + +Wirklich fortgeschrittene Nmap-Benutzer brauchen sich nicht auf die +vorgefertigten Scan-Typen zu beschränken. Mit der Option + können Sie Ihren eigenen Scan entwerfen, +für den Sie beliebige TCP-Flags angeben +können.TCP-Flags +Lassen Sie Ihrer Kreativität freien Lauf und umgehen Sie +Intrusion-Detection-Systeme,Intrusion-Detection-Systemeumgehen +deren Hersteller einfach die Nmap-Manpage durchgeblättert und spezifische +Regeln dafür angegeben haben! + +Das Argument für kann ein numerischer +Flag-Wert wie z.B. 9 (PSH und FIN) sein, aber symbolische Namen sind +einfacher zu benutzen. Erstellen Sie einfach eine beliebige Kombination von +URG, ACK, PSH, +RST, SYN und +FIN. So setzt z.B. alle Flags, auch wenn das beim Scannen nicht +besonders hilfreich ist. Die Reihenfolge, in der Sie diese Flags angeben, +spielt keine Rolle. + +Zusätzlich zu den gewünschten Flags können Sie einen TCP-Scan-Typen +(z.B. oder ) angeben. +Dieser Basistyp sagt Nmap, wie es die Antworten interpretieren soll. +Ein SYN-Scan z.B. betrachtet das Fehlen einer Antwort als einen Hinweis auf +einen gefilterten Port, während ein FIN-Scan das als einen +Hinweis auf einenoffen|gefilterten Port ansieht. Nmap +verhält sich genauso wie beim Scan-Basistyp, nur mit dem Unterschied, +dass es die von Ihnen angegebenen TCP-Flags benutzt. Ohne Angabe eines +Basistyps wird ein SYN-Scan benutzt. + + + + + + + (Idle-Scan) + + Idle-Scan + + + + +Diese fortgechrittene Scan-Methode ermöglicht einen wirklich +blinden TCP-Port-Scan des Ziels, d.h. es werden keine Pakete von Ihrer +wahren IP-Adresse an das Ziel gesendet. Stattdessen wird mit einem +Angriff auf einem parallelen Kanal eine vorhersagbare Erzeugung von +Folgen von IP-Fragmentation-IDs auf dem Zombie-Host ausgebeutet, um an +Information über offene Ports auf dem Ziel zu gelangen. IDS-Systeme +zeigen als Urheber des Scans den Zombie-Rechner an, den Sie angeben +(der aktiv sein und einige bestimmte Bedingungen erfüllen muss). + +Da dieser faszinierende Scan-Typ zu komplex ist, um ihn in diesem Handbuch +vollständig zu beschreiben, habe ich einen Artikel mit vollständigen +Details dazu geschrieben und unter + veröffentlicht. + + +Alle Details zu diesem faszinierenden Scan-Typ finden Sie in +. + + + +Dieser Scan-Typ ist nicht nur extrem unauffällig (wegen seiner +Blindheit), sondern erlaubt auch, IP-basierte Vetrauensbeziehungen +zwischen Rechnern festzustellen. Die Portliste zeigt offene Ports +aus der Sicht des Zombie-Hosts an. Also können +Sie versuchen, ein Ziel mit verschiedenen Zombies zu scannen, von +denen Sie denken, dass sie vertrauenswürdig +sindVertrauensbeziehungen +(über Router-/Paketfilterregeln). + + +Wenn Sie einen bestimmten Port auf dem Zombie auf IP-ID-Änderungen +testen möchten, können Sie einen Doppelpunkt gefolgt von einer Portnummer +an den Zombie-Host hinzufügen. Sonst benutzt Nmap den Port, den es +standardmäßig bei TCP-Pings benutzt (80). + + + + + + (IP-Protokoll-Scan) + + IP-Protokoll-Scan + + + +Der IP-Protokoll-Scan ermöglicht die Bestimmung der IP-Protokolle +(TCP, ICMP, IGMP etc.), die von Zielrechnern unterstützt werden. Rein +technisch ist das kein Port-Scan, da er über Nummern von IP-Protokollen +statt TCP- oder UDP-Ports vorgeht. Dennoch benutzt er die Option + für die Auswahl der zu scannenden Protokollnummern, +gibt seine Ergebnisse im normalen Port-Tabellenformat aus und benutzt sogar +dieselbe grundlegende Scan-Engine wie die echten Port-Scanning-Methoden. +Damit ist er einem Port-Scan ähnlich genug, um an dieser Stelle beschrieben +zu werden. + +Abgesehen davon, dass er schon als solcher nützlich ist, zeigt der +Protokoll-Scan die Macht von Open-Source-Software. +Auch wenn die grundlegende Idee recht simpel ist, hatte ich nicht daran +gedacht, ihn hinzuzufügen, und bekam auch keine Anfragen nach einer solchen +Funktionalität. Dann, im Sommer 2000, +hatte Gerhard RiegerRieger, Gerhard +die Idee, schrieb einen exzellenten Patch als Implementation und sendete +ihn an die Mailingliste +nmap-hackers.nmap-hackers Mailingliste +Diesen Patch habe ich in den Nmap-Baum aufgenommen und einen Tag später +eine neue Version veröffentlicht. Es gibt nur wenig kommerzielle Software, +deren Benutzer so enthusiastisch sind, dass sie eigene Verbesserungen +dafür entwerfen und beitragen! + +Der Protokoll-Scan funktioniert auf ähnliche Weise wie der UDP-Scan. +Statt über das Portnummernfeld eines UDP-Pakets zu iterieren, sendet er +IP-Paketheader und iteriert über das acht Bit große IP-Protokollfeld. +Die Header sind normalerweise leer, enthalten keine Daten und nicht einmal +den richtigen Header für das behauptete Protokoll. Die drei Ausnahmen davon +sind TCP, UDP und ICMP. +Für diese werden richtige Protokoll-Header verwendet, da manche Systeme sie +sonst nicht versenden und weil Nmap bereits über die Funktionen verfügt, +um sie zu erzeugen. Statt Nachrichten der Art ICMP Port unreachable +sucht der Protokoll-Scan nach +ICMP Protocol unreachable. +Falls Nmap zu irgendeinem Protokoll eine Antwort vom Zielhost erhält, +markiert es das Protokoll als offen. Bei einem +ICMP Protocol-unreachable-Fehler (Typ 3, Code 2) wird das Protokoll +als geschlossen markiert. Bei anderen +ICMP Unreachable-Fehlern (Typ 3, Code 1, 3, 9, 10 oder 13) wird das +Protokoll als gefiltert markiert (auch wenn sie +gleichzeitig beweisen, dass ICMP offen ist). +Falls nach einigen erneuten Übertragungen keine Antwort erhalten wird, +wird das Protokoll als offen|gefiltert markiert. + + + + + + + + (FTP-Bounce-Scan) + + FTP-Bounce-Scan + + + +Eine interessante Eigenschaft des FTP-Protokolls (RFC 959) +ist dessen Unterstützung sogenannter Proxy-FTP-Verbindungen. Damit kann +sich ein Benutzer mit einem FTP-Server verbinden und dann verlangen, dass +Dateien an einen Server einer dritten Partei gesendet werden. Solch eine +Eigenschaft ist auf vielen Ebenen sturmreif für Missbrauch, weswegen die +meisten Server sie nicht mehr unterstützen. Ein solcher Missbrauch, den +diese Eigenschaft ermöglicht, ist, den FTP-Server für Port-Scans anderer +Hosts zu benutzen. Bitten Sie den FTP-Server einfach, eine Datei nacheinander +an alle interessanten Ports eines Zielhosts zu senden. Die Fehlermeldung +wird beschreiben, ob der Port offen ist oder nicht. Das ist ein guter Weg, +Firewalls zu umgehen, weil FTP-Server von Organisationen oft an Orten +platziert sind, von denen aus sie besseren Zugriff auf weitere interne Hosts +haben, als es jeder alte Internet-Host hätte. Nmap unterstützt den +FTP-Bounce-Scan mit der Option . Sie erwartet ein +Argument der Form +username:password@server:port. +Dabei ist Server der Name oder die IP-Adresse +eines anfälligen FTP-Servers. Wie bei einer normalen URL können Sie +username:password +auch weglassen, wobei dann eine anonyme Anmeldung erfolgt (username: +anonymous password:-wwwuser@). +Die Portnummer (samt Doppelpunkt davor) können Sie ebenfalls weglassen, +wobei dann auf server der +Standard-FTP-Port (21) benutzt wird. + +Als Nmap 1997 veröffentlicht wurde, war diese +Schwachstelle weit verbreitet, wurde seitdem aber größtenteils behoben. +Aber da es immer noch anfällige Server gibt, lohnt sich ein Versuch, +falls alles andere versagt. Wenn Sie eine Firewall umgehen möchten, +scannen Sie das Zielnetzwerk nach einem offenen Port 21 (oder sogar nach +beliebigen FTP-Diensten, falls Sie alle Ports mit Versionserkennung +scannen können), und probieren Sie dann für jeden einen Bounce-Scan aus. +Nmap wird Ihnen sagen, ob der Host angreifbar ist oder nicht. Versuchen +Sie lediglich, Ihre Spuren zu verwischen, dann brauchen Sie sich nicht +(und tatsächlich sollten Sie das nicht einmal) auf Hosts im Zielnetzwerk +zu beschränken. Bevor Sie anfangen, zufällige Internet-Adressen nach +anfälligen FTP-Servern zu scannen, bedenken Sie, dass Sysadmins keinen +Gefallen daran finden werden, dass Sie ihre Server auf diese Weise +missbrauchen. + + + + + + + + Port-Angabe und Scan-Reihenfolge + Port-Angabe + +Zusätzlich zu all den bisher erläuterten Scan-Methoden bietet +Nmap Optionen, mit denen man angibt, welche Ports gescannt werden +und ob die Scan-Reihenfolge randomisiert oder sequentiell ist. Nmap +scannt standardmäßig für jedes Protokoll die 1000 meistbenutzten Ports. +vorgegebene Ports + + + + + + (scannt nur angegebene Ports) + + + + +Diese Option gibt an, welche Ports Sie scannen möchten, und +überschreibt die Voreinstellung. Einzelne Portnummern sind okay, +ebenso wie mit einem Bindestrich getrennte Bereiche (z.B. +1-1023). Anfangs- und/oder Endwerte eines +Bereichs können weggelassen werden und werden von Nmap dann mit +jeweils 1 bzw. 65535 ersetzt. So können Sie mit +alle Ports von 1 bis 65535 scannen. Es ist erlaubt, den Port NullPort Null +zu scannen, wenn Sie ihn explizit angeben. Bei IP-Protokoll-Scans +() gibt diese Option die Protokollnummern an, +die Sie scannen möchten (0–255). + +Wenn Sie sowohl TCP- als auch UDP-Ports scannen, können Sie ein +bestimmtes Protokoll angeben, indem Sie den Portnummern ein +T: bzw. U: voranstellen. +Dieser Kennzeichner gilt so lange, bis Sie einen anderen angeben. +Zum Beispiel werden bei dem Argument + die UDP-Ports +53, 111 und 137 sowie die angegebenen TCP-Ports gescannt. Beachten +Sie, dass Sie + und mindestens einen TCP-Scan-Typ (z.B. +, oder ) angeben müssen, +um sowohl UDP als auch TCP zu scannen. Falls kein Protokollkennzeichner +angegeben ist, werden die Portnummern zu allen Protokolllisten +hinzugefügt. + +Port-AngabeJoker in +WildcardsPort-Auswahl, Joker in + +Ports können auch mit dem Namen angegeben werden, der für diesen Port +in nmap-services definiert ist. Sie können bei diesen +Namen sogar die Joker * und ? verwenden. Um z.B. FTP und alle Ports +zu scannen, deren Namen mit http anfangen, benutzen Sie +. Passen Sie auf eine eventuelle Erweiterung +durch die Shell auf und setzen Sie das Argument von +in Anführungszeichen, wenn Sie unsicher sind. + +Port-Bereiche können in eckigen Klammern angegeben werden, um Ports +innerhalb dieses Bereiches anzugeben, die in +nmap-services vorkommen. +Zum Beispiel scannt Folgendes alle Ports in nmap-services +kleiner oder gleich 1024: . +Passen Sie auf eine eventuelle Erweiterung +durch die Shell auf und setzen Sie das Argument von +in Anführungszeichen, wenn Sie unsicher sind. + + + + + + + (schneller (beschränkter Port-) Scan) + + schneller Scan + + +Gibt an, dass Sie weniger Ports scannen möchten, als standardmäßig +vorgesehen. Normalerweise scannt Nmap die 1000 am häufigsten vorkommenden +Ports bei jedem gescannten Protokoll. Mit werden diese +auf 100 beschränkt. + +Nmap benötigt die Datei nmap-services mit +Informationen zur Häufigkeit, um zu wissen, welche Ports am häufigsten +benutzt werden (see +for more about port frequencies). Wenn keine Angaben über +die Port-Häufigkeit verfügbar sind, vielleicht weil eine benutzerdefinierte +nmap-services-Datei verwendet wird, +dann bedeutet , dass nur Ports gescannt werden, +die in der Dienstedatei mit Namen vorkommen (normalerweise scannt Nmap +alle benannten Ports plus die Ports 1–1024). + + + + + + (Ports nicht randomisieren) + + Randomisierung von Ports + + +Standardmäßig randomisiert Nmap die Reihenfolge der gescannten Ports +(bis auf einige allgemein zugängliche Ports, die aus Effizienzgründen +vorgezogen werden). Diese Randomisierung ist normalerweise erwünscht, +aber Sie können stattdessen auch für einen sequentiellen +Port-Scan angeben. + + + + + + + + + --port-ratio + Scannt alle Ports in der Datei +nmap-services mit einem größeren Bruchteil als +die Zahl, die als Argument angegeben wird. + + + + + + + + + --top-ports + Scannt die N Ports mit dem höchsten Bruchteil +in der Datei nmap-services. + + + + + + + + + + Dienst- und Versionserkennung + Versionserkennung + +Lassen Sie Nmap auf einen entfernten Rechner los, und Sie +erfahren z.B. dass die Ports 25/tcp, +80/tcp und 53/udp offen sind. +Dank der über 2200 bekannten Dienste in seiner Datenbank in +nmap-servicesnmap-services würde Nmap noch ausgeben, dass diese Ports +wahrscheinlich jeweils zu einem Mailserver (SMTP), Webserver (HTTP) und +Nameserver (DNS) gehören. Normalerweise sind diese Angaben genau — +die überwiegende Mehrheit an Daemons, die den TCP-Port 25 abhören, sind +tatsächlich Mailserver. Allerdings sollten Sie nicht Ihre Sicherheit darauf +verwetten! Manche Leute können nicht nur Dienste auf seltsamen Ports +betreiben, sondern tun es +auch.Nicht-Standard-Ports + + +Selbst wenn Nmap recht hat und auf dem Server im obigen Beispiel +SMTP-, HTTP- und DNS-Server laufen, ist das nicht besonders viel an Information. +Bei der Beurteilung der Angreifbarkeit (oder auch nur beim Erstellen +einfacher Netzwerkinventare) Ihrer Firmen oder Kunden möchten Sie auch +wissen, welche Mail- und DNS-Server und welche Versionen davon laufen. Eine genaue +Versionsnummer hilft enorm bei der Bestimmung der Exploits, für die ein +Server anfällig ist. +Die Versionserkennung hilft Ihnen, an diese Information heranzukommen. + + +Nachdem TCP- und/oder UDP-Ports mit einer der anderen Scan-Methoden +entdeckt wurden, fragt die Versionserkennung diese Ports ab, um mehr +darüber zu erfahren, was tatsächlich darauf läuft. Die Datenbank in +nmap-service-probesnmap-service-probes +enthält Testpakete für die Abfrage verschiedenster Dienste und Ausdrücke +für den Vergleich und das Parsen der Antworten. Nmap versucht, das +Dienstprotokoll zu bestimmen (z.B. FTP, SSH, Telnet, HTTP), aber auch +Anwendungsnamen (z.B. ISC BIND, Apache httpd, Solaris telnetd), +Versionsnummer, Hostnamen, Gerätetyp (z.B. Drucker, Router), die +Betriebssystemfamilie (z.B. Windows, Linux) und manchmal verschiedene +Details: etwa ob ein X-Server Verbindungen annimmt, die SSH-Protokollversion +oder der KaZaA-Benutzername. Natürlich bieten die meisten Dienste +nicht all diese Information. Falls Nmap mit OpenSSL-Unterstützung +kompiliert wurde, verbindet es sich mit SSL-Servern, um den hinter dieser +VerschlüsselungsebeneSSLin Versionserkennung +lauschenden Dienst zu ermitteln. +Wenn RPC-Dienste erkannt werden, wird automatisch Nmaps +RPC-HolzhammerRPC-Holzhammer +() +benutzt, um die RPC-Programm- und Versionsnummern zu bestimmen. Manche +UDP-Ports bleiben im Zustand offen|gefiltert, nachdem +ein UDP-Port-Scan nicht bestimmen konnte, ob der Port offen oder gefiltert +ist. Die Versionserkennung versucht, diesen Ports eine Antwort zu entlocken +(genauso wie bei offenen Ports) und den Zustand auf offen zu ändern, +wenn das gelingt. Offene|gefilterte TCP-Ports werden +genauso behandelt. Beachten Sie, dass die Nmap-Option +unter anderem auch die Versionserkennung einschaltet. + +A paper documenting the workings, usage, and customization of version +detection is available at +. + + +Die Versionserkennung wird detailliert in behandelt. + + + +Wenn Nmap Antworten von einem Dienst erhält, aber keine Übereinstimmungen +dafür in seiner Datenbank finden kann, gibt es einen speziellen Fingerprint +und eine URL aus, damit Sie diese Antwort einsenden können, falls Sie genau +wissen, was auf diesem Port läuft. Bitte nehmen Sie sich ein paar Minuten +Zeit, um sie einzusenden, damit Ihr Fund für alle ein Gewinn sein kann. +Dank dieser Beiträge hat Nmap über 3000 Musterübereinstimmungen für +über 350 Protokolle wie SMTP, FTP, HTTP usw.Einsenden von Dienst-Fingerprints + + +Die Versionserkennung wird mit den folgenden Optionen aktiviert und +gesteuert: + + + + + + (Versionserkennung) + + + +Aktiviert die Versionserkennung wie oben beschrieben. +Alternativ dazu können Sie benutzen, was unter +anderem auch die Versionserkennung aktiviert. + + + + + + + (keine Ports von der Versionserkennung ausschließen) + + + + +Standardmäßig schließt Nmaps Versionserkennung den TCP-Port 9100 +aus, weil manche Drucker einfach alles ausdrucken, was an diesen Port +gesendet wird, was zu Dutzenden von Seiten mit HTTP-GET-Requests, +binären SSL-Session-Requests usw. führen würde. Dieses Verhalten kann +man ändern, indem man die Exclude-Anweisung in +nmap-service-probes verändert oder entfernt, oder +Sie geben an, um alle Port zu scannen, +unabhängig von einer Exclude-Anweisung. +Exclude Anweisung (nmap-service-probes) + + + + + + + (Intensität des Versions-Scans setzen) + + + + +Bei einem Versions-Scan () sendet Nmap eine +Reihe von Testpaketen, die alle über einen zugeordneten Seltenheitswert +zwischen eins und neun verfügen. Die Testpakete mit kleineren Werten +sind bei einer großen Zahl verbreiteter Dienste wirkungsvoll, während +die mit höheren Werten seltener nützlich sind. Die Intensitätsstufe gibt +an, welche Testpakete angewendet werden sollten. Je höher die Zahl, desto +wahrscheinlicher wird der Dienst richtig identifiziert. Allerdings +brauchen Scans mit hoher Intensität mehr Zeit. Diese Intensität muss +zwischen 0 und 9 liegen. +VersionserkennungIntensität +Die Standardeinstellung ist 7. +VersionserkennungStandardintensität +Wenn ein Testpaket mit der ports-Anweisung in +nmap-service-probes für den Zielport registriert +ist, wird dieses Testpaket ausprobiert, unabhängig von der Intensitätsstufe. +Das garantiert, dass die DNS-Testpakete bei jedem offenen Port 53 immer +benutzt werden, das SSL-Testpaket bei Port 443 usw. + + + + + + + (leichten Modus setzen) + + + + +Das ist ein Alias für aus +Bequemlichkeitsgründen. Dieser leichte Modus macht die Versionserkennung +wesentlich schneller, identifiziert die Dienste aber mit geringerer +Wahrscheinlichkeit. + + + + + + (benutze alle Testpakete) + + + + +Das ist ein Alias für , der +garantiert, dass jedes einzelne Testpaket bei jedem Port ausprobiert +wird. + + + + + + (verfolge Aktivität des Versions-Scans) + + + +Das bewirkt, dass Nmap umfangreiche Debugging-Information darüber +ausgibt, was die Versionserkennung gerade macht. Das ist eine Untermenge +dessen, was Sie mit erhalten. + + + + + + (RPC-Scan) + + RPC scanRPC-Holzhammer + RPC-Holzhammer + + + +Diese Methode funktioniert zusammen mit den verschiedenen +Port-Scan-Methoden von Nmap. Sie nimmt alle offenen TCP-/UDP-Ports +und überflutet sie mit NULL-Befehlen für das SunRPC-Programm, in dem +Versuch, festzustellen, ob es RPC-Ports sind, und wenn ja, welches +Programm und welche Versionsnummer darauf läuft. Dadurch können Sie +quasi dieselbe Information herausfinden wie mit +rpcinfo -p, selbst wenn der Portmapper des Ziels +hinter einer Firewall liegt (oder von TCP-Wrappern geschützt wird). +Köder funktionieren im Moment nicht mit dem +RPC-Scan.Ködervon Scans benutzte +Das wird automatisch als Teil einer Versionserkennung aktiviert +(), wenn Sie diese verlangen. Da die +Versionserkennung das enthält und wesentlich umfangreicher ist, +wird selten benötigt. + + + + + + + + + + + Betriebssystem-Erkennung + Betriebssystemerkennung + +Eines der bekanntesten Merkmale von Nmap ist dessen Erkennung +entfernter Betriebssysteme mit TCP/IP-Stack-Fingerprinting. Nmap +sendet eine Reihe von TCP- und UDP-Paketen an den entfernten Host +und untersucht praktisch jedes Bit in der Antwort. Nach der Durchführung +Dutzender von Tests, wie z.B. einer TCP-ISN-Abtastung, Unterstützung und +Reihenfolge von TCP-Optionen, IP-ID-Abtastung und Prüfung der initialen +Fenstergröße, vergleicht Nmap die Ergebnisse mit seiner Datenbank in +nmap-os-dbnmap-os-db +von über eintausend bekannten Betriebssystem-Fingerprints und gibt +die Details zum Betriebssystem aus, wenn es eine Übereinstimmung gefunden +hat. +Jeder Fingerprint enthält eine formlose Beschreibung des Betriebssystems +und eine Klassifikation, aus der der Herstellername (z.B. Sun), das +eigentliche Betriebssystem (z.B. Solaris), dessen Generation (z.B. 10) +und der Gerätetyp (allgemein, Router, Switch, Spielkonsole +usw.) hervorgeht. + +Falls Nmap das Betriebssystem eines Rechner nicht erraten kann +und die Umstände günstig sind (z.B. wenn mindestens ein offener und ein +geschlossener Port gefunden wurde), präsentiert Nmap eine URL, unter +der Sie den Fingerprint einsenden können, wenn Sie (ganz sicher) wissen, +welches Betriebssystem auf dem Rechner läuft. Dadurch erweitern Sie den +Pool der Betriebssysteme, die Nmap kennt, wodurch es für alle Benutzer +genauer wird. + +Die Betriebssystem-Erkennung verwendet einige weitere Tests, +die Informationen benutzen, die während des Vorgangs ohnehin gesammelt +werden. Eine davon ist die Klassifikation der Vorhersagbarkeit der +TCP-Sequenznummern. Sie gibt ungefähr an, wie schwer es ist, eine +gefälschte TCP-Verbindung zum entfernten Host aufzubauen. Sie ist +hilfreich zur Ausbeutung von Vertrauensbeziehungen auf Basis von +Quell-IPs (rlogin, Firewall-Filter usw.) oder zum Verbergen des +Ursprungs eines Angriffs. Diese Art von Täuschung wird kaum noch +praktiziert, aber viele Rechner sind nach wie vor anfällig dafür. +Die eigentliche Maßzahl basiert auf statistischen Abtastungen und +kann schwanken. Im Allgemeinen ist es besser, die englische Bezeichnung +wie z.B. worthy challenge oder +trivial joke zu benutzen. Das wird nur in der normalen +Ausgabe im ausführlichen Modus () ausgegeben. Wenn +dieser Modus zusammen mit aktiviert ist, wird auch +die IP-ID-Sequenzerzeugung berichtet. Die meisten Rechner finden sich +in der Klasse incremental, d.h. sie inkrementieren das +ID-Feld im IP-Header für jedes von ihnen gesendete Paket. Dadurch +werden sie anfällig für diverse avancierte Angriffe mittels +Täuschung und Sammlung von Informationen. + +Betriebszeit-Schätzung + +Eine weitere zusätzliche Information, die die Betriebssystem-Erkennung +aktiviert, ist eine Schätzung der Betriebszeit des Zielhosts. Dabei +wird die TCP-Timestamp-Option +(RFC 1323) +benutzt, um zu raten, wann ein Rechner das letzte Mal neu gestartet wurde. +Wenn der Timestamp-Zähler nicht bei null gestartet wurde oder der Zähler +überläuft und wieder von vorn zählt, kann diese Schätzung ungenau werden, +weshalb sie nur im ausführlichen Modus ausgegeben wird. + + + + +A paper documenting the workings, usage, and customization of OS +detection is available at +. + + + +Die Betriebssystem-Erkennung wird in behandelt. + + + +Eingeschaltet und gesteuert wird die Betriebssystem-Erkennung +mit den folgenden Optionen: + + + + + + (Betriebssystem-Erkennung aktivieren) + + + +Aktiviert die Betriebssystem-Erkennung wie oben beschrieben. +Alternativ dazu können Sie benutzen, um eine +Betriebssystem-Erkennung zusammen mit anderen Dingen einzuschalten. + + + + + + + (Betriebssystem-Erkennung auf vielversprechende Ziele beschränken) + + + +Die Betriebssystem-Erkennung ist wesentlich effektiver, wenn +mindestens ein offener und ein geschlossener TCP-Port gefunden werden. +Wenn Sie diese Option angeben, versucht Nmap eine Betriebssystem-Erkennung +gar nicht erst bei Hosts, die dieses Kriterium nicht erfüllen. Das kann +viel Zeit sparen, besonders bei Scans mit auf +vielen Hosts. Diese Option gilt nur, wenn eine Betriebssystem-Erkennung +mit oder verlangt wird. + + + + + + +; (Ergebnisse der Betriebssystem-Erkennung raten) + + + + +Falls Nmap keine perfekte Übereinstimmung mit einem Betriebssystem +finden kann, präsentiert es manchmal mögliche Kandidaten, die dem sehr +nahe kommen. Damit Nmap das standardmäßig macht, muss die Übereinstimmung +sehr hoch sein. Diese beiden (äquivalenten) Optionen lassen Nmap aggressiver +schätzen. Dann gibt Nmap auch unvollkommene Übereinstimmungen aus, +zusammen mit einem Vertrauensgrad (in Prozent). + + + + + + (setzt die maximale Anzahl der Versuche für eine Betriebssystem-Erkennung bei einem Ziel) + + + +Wenn Nmap eine Betriebssystem-Erkennung auf einem Ziel durchführt +und dafür keine perfekte Übereinstimmung findet, macht es normalerweise +einen weiteren Versuch. Standardmäßig macht Nmap fünf Versuche, wenn +die Bedingungen zum Einsenden eines Betriebssystem-Fingerprints günstig +sind, und zwei, wenn sie es nicht sind. Die Angabe eines kleineren Wertes +für (z.B. 1) beschleunigt Nmap, auch wenn +Sie Versuche auslassen, bei denen das Betriebssystem möglicherweise +erkannt werden könnte. Alternativ dazu kann ein hoher Wert gesetzt werden, +um bei günstigen Bedinungen noch mehr Versuche zu erlauben. Das macht man +aber selten, außer um bessere Fingerprints zu erzeugen, die man einsenden +kann, um sie in Nmaps Betriebssystem-Datenbank zu integrieren. + + + + + + + + + + Nmap Scripting Engine (NSE) + Nmap Scripting Engine (NSE) + +Die Nmap Scripting Engine (NSE) ist eines der mächtigsten und +flexibelsten Merkmale von Nmap. Mit ihr können Benutzer einfache Scripts +schreiben und weitergeben (geschrieben in der +Programmiersprache Lua +Programmiersprache Lua), +um eine breite Palette von Netzwerkaufgaben +zu automatisieren. Diese Scripts werden dann parallel mit der Geschwindigkeit +und Effizienz abgearbeitet, die Sie von Nmap erwarten. Als Benutzer können +Sie auf eine wachsende und vielfältige Menge von Scripts vertrauen, die mit +Nmap veröffentlicht werden, oder eigene Scripts für eigene Bedürfnisse +schreiben. + +Zu den Aufgaben, die wir bei der Konzeption dieses Systems +anvisierten, gehören die Netzwerkerkennung, eine ausgefeiltere +Versionserkennung sowie eine Verwundbarkeitserkennung. NSE kann aber +sogar bei der Ausbeutung von Schwachstellen benutzt werden. + + + +Um diese verschiedenen Anwendungen widerzuspiegeln und um die Auswahl +des richtigen Scripts zu vereinfachen, verfügen alle Scripts über ein +Kategorie-Feld. +Im Moment sind folgende Kategorien definiert: +safe, intrusive, +malware, version, +discovery, vuln, +auth und default. +Sie alle werden +at . +in beschrieben. + + + +Die Nmap Scripting Engine wird detailliert +at +in beschrieben und wird mit den +folgenden Optionen gesteuert: + + + + + + + + + + + +Führt einen Script-Scan mit dem Standardsatz an Scripts durch. +Das ist äquivalent zu . Manche der +Scripts in dieser Kategorie werden als +aufdringlich betrachtet und sollten nicht ohne Genehmigung auf einem +Zielnetzwerk ausgeführt werden. + + + + + + + + +Führt einen Script-Scan (wie z.B. ) durch +und benutzt dabei die mit Kommata getrennte Liste von Script-Kategorien, +individuellen Scripts oder Script-Verzeichnissen statt des Standardsatzes. +Zuerst versucht Nmap, die Argumente als Kategorien zu interpretieren, +dann (wenn das nicht gelingt) als Datei- oder Verzeichnisnamen. Ein Script +oder Verzeichnis von Scripts kann als absoluter oder relativer Pfad angegeben +werden. Absolute Pfade werden unverändert benutzt. Relative Pfade werden an +den folgenden Orten gesucht, bis sie gefunden +werden:DatendateienVerzeichnis-SuchreihenfolgeScripts, Orte +--datadir/; +$NMAPDIR/;NMAPDIR Umgebungsvariable +~/.nmap/ (wird unter Windows nicht durchsucht);.nmap Verzeichnis +NMAPDATADIR/ oderNMAPDATADIR +./. +In all diesen Verzeichnissen wird außerdem auch ein +scripts/-Unterverzeichnis ausprobiert. + + +Falls ein Verzeichnis angegeben und gefunden wird, lädt Nmap alle +NSE-Scripts (alle Dateinamen, die mit .nse enden) +aus diesem Verzeichnis. Dateinamen ohne die Endung nse +werden ignoriert. Nmap sucht keine Unterverzeichnisse rekursiv durch, +um Scripts zu finden. Wenn individuelle Dateinamen angegeben werden, +dann muss deren Dateierweiterung nicht nse lauten. + + +Nmap-Scripts werden standardmäßig in einem +scripts-Unterverzeichnis des Nmap-Datenverzeichnisses +gespeichert +(see ). +(siehe ). Aus Effizienzgründen +werden Scripts in einer Datenbank indiziert, die in scripts/script.db.script.db +gespeichert ist und für jedes Script auflistet, in welche Kategorie +bzw. Kategorien es gehört. Um alle Scripts in der Nmap-Script-Datenbank +auszuführen, geben Sie das Argument all an. + + +Die Scripts werden nicht in einer Sandbox ausgeführt und können +Ihr System somit versehentlich oder böswillig beschädigen oder in Ihre +Privatsphäre eindringen. Sie sollten Scripts von Dritten nur dann ausführen, +wenn Sie deren Autoren vertrauen oder sie selbst eingehend studiert +haben. + + + + + + + + Script-Argumente + + +Hiermit können Sie Argumente für NSE-Scripts angeben. Argumente +werden als name=value-Paare angegeben. Die Argumente +werden verarbeitet und in einer Lua-Tabelle gespeichert, auf die alle +Scripts Zugriff haben. Die Namen werden als Strings (die alphanumerische +Werte sein müssen) in argument-table als Schlüssel +gespeichert. Die Werte sind ihrerseits entweder Strings oder Tabellen +(innerhalb von ‘{’ und +‘}’). +Sie könnten z.B. diese mit Kommmata getrennten Argumente angeben: +user=bar,pass=foo,whois={whodb=nofollow+ripe}. +String-Argumente werden potenziell von mehreren Scripts benutzt, +während Untertabellen normalerweise nur von einem Script benutzt werden. +In Scripts, die eine Untertabelle annehmen, wird diese Untertabelle +normalerweise nach dem Script benannt (in diesem Fall z.B. +whois). + + + + + + + + + + + + +Diese Option macht das, was macht, +aber eine ISO-Ebene höher. Wenn diese Option +angegeben wird, wird die gesamte ein- und ausgehende Kommunikation +von Scripts ausgegeben. Die angezeigte Information enthält das +Kommunikationsprotokoll, Quell- und Zieladressen sowie die übertragenen +Daten. Falls mehr als fünf Prozent der übertragenen Daten nicht druckbar sind, +werden sie stattdessen als Hexadezimal-Auszug ausgegeben. +Auch die Angabe von schaltet diese +Mitverfolgung von Scripts ein. + + + + + + + + +Diese Option aktualisiert die Script-Datenbank in +scripts/script.db, die von Nmap benutzt wird, +um die verfügbaren Standard-Scripts und Kategorien zu bestimmen. +Man muss die Datenbank nur dann aktualisieren, wenn man NSE-Scripts +in das Standardverzeichnis scripts hinzufügt oder +von dort entfernt, oder wenn man die Kategorie eines Scripts ändert. +Diese Option wird ohne Argumente benutzt: +nmap --script-updatedb. + + + + + + + + + +Timing und Performance +Timing +Performance + +Bei der Entwicklung von Nmap hatte dessen Performance immer eine der +höchsten Prioritäten. Ein Standardscan (nmap +hostname) eines Hosts in meinem lokalen +Netzwerk dauert eine Fünftelsekunde. In dieser Zeit kann man kaum blinzeln, +aber wenn man Hunderte oder Tausende von Rechnern scannt, dann kommt einiges +zusammen. Außerdem können bestimmte Scan-Optionen wie UDP-Scanning und eine +Versionserkennung die Scan-Zeiten erheblich erhöhen. Das Gleiche gilt für +bestimmte Firewall-Konfigurationen und besonders für die Beschränkung der +Antwortrate. Auch wenn Nmap parallel arbeitet und viele ausgefeilte +Algorithmen benutzt, um diese Scans zu beschleunigen, hat doch der Benutzer +die letzte Kontrolle darüber, was Nmap genau macht. Experten erstellen ihre +Nmap-Befehle sehr sorgfältig, um in einer beschränkten Zeit genau die +gewünschte Information zu bekommen. + +Um die Scan-Zeiten zu verbessern, kann man z.B. nicht-kritische Tests +weglassen und auf die neueste Version von Nmap aktualisieren +(Performance-Verbesserungen werden häufig gemacht). Auch die Optimierung +von Timing-Parametern kann einen großen Unterschied ausmachen. +Diese Optionen werden im Folgenden beschrieben. + +Manche Optionen erwarten einen time-Parameter. +Dieser wird standardmäßig in Millisekunden angegeben, aber Sie können +‘s’, ‘m’ oder ‘h’ an den Wert +anhängen, um Sekunden, Minuten oder Stunden anzugeben. Das heißt, bei + haben die Argumente +900000, 900s und +15m alle denselben Effekt. + + + + + +; + (Größe der parallel gescannten Gruppen anpassen) + + + + + +Nmap hat die Fähigkeit, Port-Scans oder Versions-Scans von mehreren +Hosts parallel durchzuführen. Das macht Nmap, indem es den Ziel-IP-Adressraum +in Gruppen aufteilt und dann jeweils eine Gruppe scannt. Im Allgemeinen +sind größere Gruppen effizienter. Der Nachteil daran ist, dass die +Host-Ergebnisse erst dann ausgegeben werden können, wenn die gesamte +Gruppe fertig ist. Wenn Nmap mit einer Gruppengröße von 50 anfängt, würde +der Benutzer erst dann Ergebnisse sehen (bis auf die Aktualisierungen +im ausführlichen Modus), wenn die ersten 50 Hosts abgearbeitet sind. + +Diesen Konflikt löst Nmap standardmäßig mit einem Kompromissansatz. +Es fängt mit einer kleinen Gruppengröße von etwa fünf an, damit die ersten +Ergebnisse schnell kommen, und erhöht dann die Gruppengröße bis auf +etwa 1024. Die genau vorgegebenen Zahlen hängen von den benutzten Optionen +ab. Aus Effizienzgründen benutzt Nmap größere Gruppen bei UDP-Scans oder +bei TCP-Scans über wenige Ports. + +Falls mit eine maximale Gruppengröße +angegeben wird, wird Nmap diese nie überschreiten. Und wenn Sie mit + eine minimale Größe angeben, versucht +Nmap, die Gruppengröße oberhalb dieses Wertes zu belassen. Falls es auf +einer gegebenen Schnittstelle nicht genug Zielhosts gibt, um dieses +Minimum zu erfüllen, muss Nmap einen kleineren Wert benutzen. Es können +auch beide gesetzt werden, um die Gruppengröße in einem bestimmten +Bereich zu belassen, aber das ist selten gewünscht. + +Diese Optionen haben während der Host-Entdeckungsphase eines Scans +keinen Effekt. Dazu gehören einfache Ping-Scans (). +Die Host-Entdeckung funktioniert immer in großen Gruppen von Hosts, +um die Geschwindigkeit und Genauigkeit zu verbessern. + +Der Hauptnutzen dieser Optionen liegt darin, eine hohe minimale +Gruppengröße anzugeben, damit der gesamte Scan schneller läuft. Häufig +wird 256 gewählt, um ein Netzwerk in Brocken der Größe von Klasse C zu +scannen. Bei einem Scan mit vielen Ports bringt eine größere Zahl +vermutlich keine Vorteile. Bei Scans über nur wenige Ports können +Gruppengrößen von 2048 oder mehr hilfreich sein. + + + + + + +; + (Parallelität von Testpaketen anpassen) + + + + + +Diese Optionen steuern die Gesamtanzahl an Testpaketen, die für +eine Host-Gruppe anstehen dürfen. Sie werden beim Port-Scanning und +bei der Host-Entdeckung benutzt. Abhängig von der Netzwerk-Performance +berechnet Nmap standardmäßig eine immer wechselnde ideale Parallelität. +Falls Pakete verworfen werden, verlangsamt sich Nmap und erlaubt weniger +unerledigte Testpakete. Die ideale Anzahl von Testpaketen steigt mit +den zunehmenden Möglichkeiten des Netzwerks. Diese Optionen setzen +minimale oder maximale Schranken für diese Variable. Standardmäßig kann +die ideale Parallelität auf eins sinken, wenn sich das Netzwerk als +unzuverlässig herausstellt, und im Idealfall kann sie auf mehrere hundert +steigen. + +Meistens setzt man auf eine +Zahl größer als eins, um Scans von langsamen Hosts oder Netzwerken zu +beschleunigen. Aber das Spielen mit dieser Option kann gefährlich sein, +weil die Genaugkeit leiden kann, wenn man einen zu großen Wert setzt. +Dabei verringert sich auch Nmaps Möglichkeit, die Parallelität je nach +Netzwerkbedingungen dynamisch anzupassen. Ein Wert von zehn mag vernünftig +sein, auch wenn ich nur als letzter Ausweg an diesem Wert drehe. + +Die Option wird manchmal auf eins +gesetzt, um zu verhindern, dass Nmap mehr als ein Testpaket auf einmal an +Hosts sendet. In Kombination mit (wird +später behandelt) kann das nützlich sein, auch wenn Letzteres diesen Zweck +gut genug allein erfüllt. + + + + + + + +, +, + (Timeouts von Testpaketen anpassen) + + + + + + +Nmap verwaltet einen laufenden Timeout-Wert, der bestimmt, wie +lange es auf eine Antwort zu einem Testpaket wartet, bevor es aufgibt +oder das Paket erneut sendet. Dieser wird auf der Grundlage der +Antwortzeiten bei früheren Testpaketen berechnet. +Die genaue Formel finden Sie in +. +Falls die Netzwerk-Latenzzeit sich als groß genug und variabel erweist, +kann dieser Timeout bis auf mehrere Sekunden wachsen. Er beginnt auch +bei einem konservativen (hohen) Wert und kann diesen eine Weile behalten, +wenn Nmap Hosts scannt, die nicht antworten. + + +Werden Werte für und + angegeben, die kleiner als deren +Standardwerte sind, so kann die Scan-Zeit erheblich verkürzt werden. +Das gilt besonders für pinglose () Scans und solche +von stark gefilterten Netzwerken. Aber verlangen Sie nicht zu viel. +Der Scan kann am Ende länger brauchen, wenn Sie einen so kleinen Wert +angeben, dass bei vielen Testpaketen der Timeout erreicht wird und +sie erneut gesendet werden, während die Antwort unterwegs ist. + +Falls alle Hosts in einem lokalen Netzwerk sind, sind 100 Millisekunden +ein vernünftig aggressiver Wert für . +Falls ein Routing ins Spiel kommt, pingen Sie zuerst einen Host im Netzwerk, +sei es mit einem ICMP-Ping oder mit einem Programm zur Erstellung +benutzerdefinierter Pakete wie +hping2,hping2 +das eine höhere Chance hat, durch eine Firewall zu kommen. +Betrachten Sie dann die maximale Umlaufzeit bei circa zehn Paketen. +Diese möchten Sie vielleicht für +verdoppeln und für verdrei- oder +vervierfachen. Im Allgemeinen setze ich die maximale RTT nicht unter +100 ms, egal, welche Ping-Zeiten ich habe. Und ich gehe auch nicht +über 1000 ms. + +Die Option wird selten benutzt, +könnte aber nützlich sein, wenn ein Netzwerk so unzuverlässig ist, dass +selbst Nmaps Standardeinstellung zu aggressiv ist. Da Nmap das Timeout +nur dann auf das Minimum reduziert, wenn das Netzwerk zuverlässig scheint, +sollte ein Bedarf hierfür eher ungewöhnlich sein und sollte als Fehler +auf der nmap-dev-Mailinglistenmap-dev Mailingliste +berichtet werden. + + + + + + + + (gibt die + maximale Anzahl erneuter Sendeversuche bei Port-Scan-Testpaketen an) + + + + +Falls Nmap keine Antwort auf ein Testpaket eines Port-Scans erhält, +könnte das heißen, dass der Port gefiltert ist. Oder aber das Testpaket +oder die Antwort darauf ging im Netzwerk verloren. Es ist auch möglich, +dass der Zielhost eine Ratenbeschränkung aktiviert hat, die die Antwort +temporär blockiert hat. Also versucht es Nmap erneut, indem es das +ursprüngliche Paket noch einmal sendet. Falls Nmap eine mangelnde +Netzwerkzuverlässigkeit feststellt, führt es eventuell viele weitere +Wiederholungen durch, bevor es bei einem Port aufgibt. Das verbessert +zwar die Genauigkeit, verlängert aber auch die Scan-Zeiten. Wenn es auf +die Performance ankommt, kann man die Scans durch eine Beschränkung +der Anzahl dieser Wiederholungen beschleunigen. Sie können sogar + angeben, um sie ganz zu verbieten, +auch wenn sich das nur in Situationen wie formlosen Überprüfungen +empfiehlt, bei denen einige verpasste Ports oder Hosts +nicht so wichtig sind. + + +Der Standardwert (ohne -Template) sind bis zu zehn +Wiederholungen. Falls das Netzwerk zuverlässig zu sein scheint und die +Zielhosts keine Ratenbeschränkung haben, führt Nmap normalerweise nur eine +Wiederholung durch. Daher sind die meisten Scans gar nicht betroffen, wenn +man z.B. auf den kleinen Wert drei verringert. +Solche Werte können Scans von langsamen (ratenbeschränkten) Hosts aber +erheblich beschleunigen. Wenn Nmap frühzeitig bei Ports aufgibt, verlieren +Sie eventuell einiges an Information, aber das kann vorteilhafter sein, als +ein Timeout von zu erreichen und alle +Informationen über das Ziel zu verlieren. + + + + + + + (bei langsamen Zielhosts aufgeben) + + + + +Bei manchen Hosts braucht es einfach lange, +sie zu scannen. Das kann an leistungsschwacher oder unzuverlässiger +Netzwerk-Hardware oder -Software, an einer Paketratenbeschränkung +oder einer restriktiven Firewall liegen. Die langsamsten paar Prozent +der gescannten Hosts können einen Großteil der Scan-Zeit verbrauchen. +Dann ist es manchmal das Beste, die Verluste abzuschneiden und diese +Hosts erst einmal wegzulassen. Geben Sie +mit der gewünschten maximalen Wartezeit an. Sie können z.B. +30m angeben, um sicherzustellen, dass Nmap nicht +mehr als eine halbe Stunde verschwendet, indem es auf einen einzelnen +Host wartet. Beachten Sie, dass Nmap während dieser halben Stunde auch +andere Hosts scannen kann, d.h. es ist keine komplette Zeitverschwendung. +Ein Host, der das Timeout erreicht, wird übersprungen. +Für diesen Host werden keine Ergebnisse der Port-Tabelle, +Betriebssystem- oder Versionserkennung ausgegeben. + + + + + + + ; + (Verzögerung zwischen Testpaketen anpassen) + + + + + +Diese Option bewirkt, dass Nmap mindestens die angegebene Zeit +zwischen zwei Testpaketen an einen Host wartet. Das ist besonders bei +einer RatenbeschränkungRatenbeschränkung +sinnvoll. Solaris-Rechner (und viele andere auch) antworten auf +UDP-Scan-Testpakete normalerweise nur mit einer ICMP-Nachricht pro +Sekunde. Wenn Nmap mehr sendet, ist das Verschwendung. Mit einem + von 1s bleibt Nmap +bei dieser langsamen Rate. Nmap versucht eine Ratenbeschränkung zu +erkennen und die Scan-Verzögerung entsprechend anzupassen, aber es +schadet nicht, sie explizit anzugeben, falls Sie schon wissen, welche +Rate am besten funktioniert. + +Wenn Nmap die Scan-Verzögerung nach oben anpasst, um mit der +Ratenbeschränkung klarzukommen, verlangsamt sich der Scan dramatisch. +Die Option gibt die größte Verzögerung +an, die Nmap erlaubt. Ein kleiner Wert für +kann Nmap beschleunigen, ist aber riskant. Ein zu kleiner Wert kann zu +verschwenderischen wiederholten Sendungen führen und möglicherweise zu +verpassten Ports, wenn das Ziel eine strenge Ratenbeschränkung +implementiert. + +Ein weiterer Einsatz von liegt bei +der Umgehung schwellwertbasierter Intrusion-Detection- und +-Prevention-Systeme (IDS/IPS).intrusion detection +systemsevading Diese +Methode wird in benutzt, +um den standardmäßigen Port-Scan-Detektor im Snort-IDS zu besiegen. +Auf dieselbe Weise können auch die meisten anderen Intrusion-Detection-Systeme +besiegt werden. + + + + + + + + ; + (direkte Steuerung der Scan-Rate) + + + + + +Nmaps dynamisches Timing findet sehr gut die passende +Scan-Geschwindigkeit. Aber manchmal kennen Sie vielleicht die passende +Scan-Rate für ein Netzwerk, oder vielleicht müssen Sie garantieren, +dass ein Scan bis zu einem bestimmten Zeitpunkt fertig wird. Oder Sie +müssen Nmap vielleicht davon abhalten, zu schnell zu scannen. +Für diese Situationen sind die Optionen +und vorgesehen. + +Bei der Option versucht Nmap sein +Bestes, um Pakete so schnell wie die damit angegebene Rate zu senden +oder noch schneller. Das Argument ist eine positive Fießkommazahl, +die die Paketrate in Paketen pro Sekunde angibt. +Die Angabe bedeutet z.B., dass Nmap +eine Rate von 300 Paketen pro Sekunde oder höher einzuhalten versucht. +Die Angabe einer Minimalrate hält Nmap nicht davon ab, bei günstigen +Bedingungen schneller zu werden. + +Umgekehrt beschränkt die Senderate auf +das angegebene Maximum. Bei wird sie +auf 100 Pakete pro Sekunde bei einem schnellen Netzwerk beschränkt. Und +bei wird der Scan auf ein Paket pro +zehn Sekunden verlangsamt. Mit und + gleichzeitig können Sie die Rate in einem +bestimmten Bereich halten. + +Diese beiden Optionen sind global und betreffen den gesamten Scan, +nicht nur einzelne Hosts. Sie betreffen nur Port-Scans und +Host-Entdeckungs-Scans. Andere Merkmale wie die Betriebssystemerkennung +implementieren ihr eigenes Timing. + +Unter zwei Bedingungen kann die tatsächliche Scan-Rate unter das +verlangte Minimum fallen. Die erste ist, wenn das Minimum schneller als +die schnellste Rate ist, mit der Nmap senden kann, was hardwareabhängig +ist. +In diesem Fall sendet Nmap Pakete einfach so schnell wie möglich, aber +Sie sollten wissen, dass solch hohe Raten sehr wahrscheinlich einen Verlust +an Genauigkeit bedeuten. +Die zweite Bedingung ist, wenn Nmap nichts zu senden hat, z.B. am Ende +eines Scans, nachdem die letzten Testpakete gesendet wurden und Nmap +darauf wartet, dass sie einen Timeout verursachen oder beantwortet werden. +Eine sinkende Scan-Rate am Ende eines Scans oder zwischen Gruppen von +Hosts ist normal. Die Senderate kann temporär das Maximum übersteigen, +um unvorhergesehene Verzögerungen auszugleichen, aber im Durchschnitt +bleibt die Rate bei oder unter dem Maximum. + +Eine minimale Rate sollte man mit Vorsicht angeben. Scans, die +schneller sind, als das Netzwerk erlaubt, können zu einem Verlust von +Genauigkeit führen. In manchen Fällen kann die Wahl eines schnelleren +Scans dazu führen, dass er länger braucht als bei +einer kleineren Rate. Das liegt daran, dass Nmaps Algorithmen für die +adaptive erneute Übertragungadaptive erneute Übertragungerneute Übertragungerneute Übertragung + +adaptive retransmission +die von einer zu hohen Scan-Rate verursachte Netzwerküberlastung erkennen +und die Anzahl der Wiederholungen erhöhen, um die Genauigkeit zu verbessern. +Das heißt, selbst wenn Pakete mit höherer Rate gesendet werden, werden +mehr Pakete insgesamt gesendet. Begrenzen Sie diese Anzahl von Wiederholungen +nach oben mit der Option , wenn Sie eine +obere Grenze für die gesamte Scan-Zeit setzen müssen. + + + + + + + + + +Viele Hosts haben lange eine +RatenbeschränkungRatenbeschränkung +benutzt, um die Anzahl der von ihnen gesendeten ICMP-Fehlermeldungen +(z.B. Port-Unreachable-Fehler) zu reduzieren. +Manche Systeme wenden nun ähnliche Ratenbeschränkungen auf die +von ihnen erzeugten RST-(Reset-)Pakete an. Das kann Nmap dramatisch +verlangsamen, weil es sein Timing an diese Ratenbeschränkungen anpasst. +Mit der Option können Sie Nmap +sagen, dass es diese Ratenbeschränkungen ignorieren soll (z.B. bei +Port-Scans wie dem SYN-Scan, die nicht-antwortende Ports +nicht als offen behandeln). + +Diese Option kann die Genauigkeit reduzieren, da einige Ports nicht +zu antworten scheinen, weil Nmap nicht lange genug auf eine ratenbeschränkte +RST-Antwort gewartet hat. Bei einem SYN-Scan führt die ausbleibende Antwort +dazu, dass für den Port der Zustand gefiltert und +geschlossen markiert wird, den wir sehen, wenn +RST-Pakete empfangen werden. Diese Option ist nützlich, wenn Sie sich nur +für offene Ports interessieren und eine Unterscheidung zwischen +geschlossenen und gefilterten Ports +die zusätzliche Zeit nicht wert ist. + + + + + + + (setzt ein Timing-Template) + + Timing-Templatesparanoid, sneaky, polite, normal, aggressive und insane + + +paranoid Timing-Template +sneaky Timing-Template +polite Timing-Template +normal Timing-Template +aggressive Timing-Template +insane Timing-Template + +Auch wenn die feinkörnigen Timing-Einstellungen im letzten Abschnitt +mächtig und effektiv sind, finden manche Leute sie verwirrend. +Außerdem kann die Wahl der passenden Werte manchmal mehr Zeit erfordern +als der Scan, den Sie damit optimieren möchten. Deswegen bietet Nmap auch +einen einfacheren Ansatz mit sechs Timing-Templates. Diese können Sie mit +der Option und ihrer Nummer (0–5) oder mit +ihrem Namen angeben. Diese Template-Namen lauten: + (), + (), + (), + (), + () +und  (). +Die ersten beiden sind für die Umgehung von IDS gedacht. +Der Polite-Modus verlangsamt den Scan, damit er weniger Bandbreite und +Ressourcen auf dem Zielrechner verbraucht. Der Normal-Modus ist der +Standardwert, d.h. macht gar nichts. Der +Aggressive-Modus beschleunigt Scans, indem er davon ausgeht, dass +Sie sich in einem einigermaßen schnellen und zuverlässigen Netzwerk +befinden. Und schließlich geht der +Insane-Modusinsane () Timing-Template +davon aus, dass sie sich in einem außergewöhnlich schnellen Netzwerk +befinden bzw. gewillt sind, für mehr Geschwindigkeit auf etwas Genauigkeit +zu verzichten. + +Mit diesen Templates können Benutzer angeben, wie aggressiv +sie vorgehen möchten, und trotzdem Nmap die Wahl der genauen Zeitwerte +überlassen. Diese Templates führen außerdem auch kleine +Geschwindigkeitsanpassungen aus, für die es zur Zeit keine feinkörnigen +Einstellungsoptionen gibt. Zum Beispiel +verbietet ,aggressive () Timing-Template +dass die dynamische Scan-Verzögerung bei TCP-Ports über 10 ms ansteigt, +und begrenzt diesen Wert auf 5 ms. +Templates könen auch in Kombination mit feinkörnigen Einstellungen +benutzt werden, wobei die feinkörnigeren Optionen die entsprechenden +allgemeinen Werte aus den Templates überschreiben. Ich empfehle den Einsatz +von beim Scannen halbwegs moderner und zuverlässiger +Netzwerke. Wenn Sie diese Option angeben, +auch dann, wenn Sie zusätzliche feinkörnige Einstellungen benutzen, +profitieren Sie von den weiteren kleinen Optimierungen, die damit +verbunden sind. + +Falls Sie eine anständige Breitband- oder Ethernet-Verbindung haben, +würde ich empfehlen, immer zu benutzen. Manche Leute +lieben , was für meinen Geschmack aber zu aggressiv +ist. Manchmal geben Leute an, weil sie denken, dadurch +würden Hosts weniger abstürzen, oder weil sie sich selbst im Allgemeinen +für höflich halten. Oft realisieren sie einfach nicht, wie langsam +polite () Timing-Template +tatsächlich ist. Ein solcher Scan kann zehnmal mehr Zeit benötigen als +ein Standard-Scan. Rechnerabstürze und Bandbreitenprobleme kommen mit den +standardmäßigen Timing-Optionen () selten vor, +weswegen ich das normalerweise vorsichtigen Scannern empfehle. +Auf die Versionserkennung zu verzichten ist weit wirksamer bei der Reduktion +dieser Probleme als das Herumprobieren mit Zeiteinstellungen. + +Zwar sind +paranoid () Timing-Template +und sneaky () Timing-Template +vielleicht hilfreich bei der Vermeidung von IDS-Alarmen, benötigen aber +außergewöhnlich viel Zeit beim Scannen von Tausenden von Rechnern oder +Ports. Für einen derart langen Scan möchten Sie vielleicht doch lieber die +genau benötigten Zeitwerte angeben, statt sich auf die vorgefertigten +Werte von und zu verlassen. + +Die Haupteffekte von sind die Serialisierung des +Scans, bei der immer nur ein Port gescannt wird, und eine Wartezeit von +fünf Minuten zwischen zwei Testpaketen. und + sind ähnlich, warten aber jeweils nur 15 bzw. +0,4 Sekunden zwischen zwei Testpaketen. ist die +Standardeinstellung in Nmap, die eine +Parallelisierungnormal () Timing-Template +beinhaltet. macht das Äquivalent von + +und setzt die maximale TCP-Scan-Verzögerung auf 10 Millisekunden. + macht das Äquivalent von + +und setzt die maximale TCP-Scan-Verzögerung auf 5 ms. + + + + + + + + + + Firewall-/IDS-Umgehung und -Täuschung + Firewallsumgehen + Intrusion-Detection-Systemeumgehen + +Viele Internet-Pioniere hatten die Vision eines globalen, offenen +Netzwerks, in dem ein universeller IP-Adressraum virtuelle Verbindungen +zwischen zwei beliebigen Knoten erlaubt. Dadurch können Hosts als echte, +gleichberechtigte Partner agieren und Information untereinander senden und +empfangen. Die Menschen könnten von ihrer Arbeitsstelle auf all ihre Systeme +daheim zugreifen, die Einstellungen der Klimaanlage ändern oder die Türen +für verfrühte Gäste aufsperren. Diese Vision einer universellen Konnektivität +wurde durch eine Verknappung im Adressraum und Sicherheitsbedenken abgewürgt. +In den frühen 1990er Jahren begannen Organisationen mit der Aufstellung von +Firewalls mit dem ausdrücklichen Zweck einer Reduktion der Konnektivität. +Riesige Netzwerke wurden mit Anwendungs-Proxies, NAT (Network Address +Translation)-Geräten +und Paketfiltern vom ungefilterten Internet abgeriegelt. Der +ungehinderte Fluss von Informationen hat einer strengen Regulierung von +zugelassenen Kommunikationskanälen und der darüber ausgetauschten Inhalte +Platz gemacht. + +Netzwerkhindernisse wie Firewalls können die Analyse eines Netzwerks +außerordentlich schwer machen. Und leichter wird es nicht werden, da das +Verhindern von Ausspähungen oft ein Schlüsselziel beim Einsatz +dieser Geräte ist. Trotzdem bietet Nmap viele Eigenschaften, um beim +Verständnis dieser komplexen Netzwerke zu helfen und um zu überprüfen, +dass diese Filter arbeiten wie gewünscht. +Es bietet sogar Mechanismen zur Umgehung schlechter Abwehrstrategien. +Eine der besten Methoden, Ihre Lage in puncto Netzwerksicherheit +zu verstehen, ist die, sie anzugreifen. Versetzen Sie sich selbst in +die Denkweise eines Angreifers und wenden Sie Verfahren aus diesem Kapitel +gegen Ihr Netzwerk an. Starten Sie einen FTP-Bounce-Scan, Idle-Scan, +Fragmentierungsangriff, oder versuchen Sie durch einen Ihrer eigenen Proxies +zu tunneln. + +Zusätzlich zur Beschränkung der Netzwerkaktivität überwachen Firmen +ihren Datenverkehr immer mehr mit Intrusion-Detection-Systemen +(IDS). Alle wichtigen IDS werden mit Regeln ausgeliefert, die entworfen wurden, +um Nmap-Scans zu erkennen, weil Scans manchmal Vorboten von Angriffen sind. +Viele dieser Produkte haben sich in Intrusion-Prevention-Systeme +(IPS)Intrusion-Prevention-SystemeIntrusion-Detection-Systeme +verwandelt, die für böswillig gehaltenen Datenverkehr aktiv blockieren. +Dummerweise ist es für Netzwerkadministratoren und IDS-Hersteller eine sehr +schwierige Aufgabe, böswillige Absichten durch die Analyse von Paketdaten +zuverlässig zu erkennen. Angreifer mit Geduld, Geschick und der Hilfe +bestimmter Nmap-Optionen können meist unerkannt an einem IDS vorbeikommen. +Währenddessen müssen Administratoren mit riesigen Mengen falscher +positiver Ergebnisse kämpfen, bei denen eine nicht böswillige Aktivität +fehldiagnostiziert wird und Alarm schlägt oder blockiert wird. + + +Ab und zu schlagen Leute vor, dass Nmap keine Eigenschaften für die +Umgehung von Firewallregeln oder IDS enthalten sollte. Ihr Argument ist, +dass diese Eigenschaften genauso wahrscheinlich von Angreifern missbraucht +werden wie von Administratoren, die die Sicherheit verbessern. Das Problem +bei dieser Logik ist, dass diese Methoden trotzdem von Angreifern benutzt +würden, die einfach andere Werkzeuge finden oder die Funktionalität in +Nmap einbauen würden. Zugleich wäre es für Administratoren sehr viel +schwerer, ihren Job zu machen. Das Aufstellen nur moderner, gepatchter +FTP-Server ist eine wesentlich bessere Verteidigung als der Versuch, +die Verbreitung von Werkzeugen zu verhindern, die einen FTP-Bounce-Angriff +implementieren. + + +Es gibt keine Wunderlösung (oder Nmap-Option) zur Erkennung und +Umgehung von Firewalls und IDS-Systemen. Es braucht Kompetenz und Erfahrung. +Eine Anleitung dazu würde den Rahmen dieses Referenz-Handbuches sprengen, +das nur die wichtigsten Optionen auflistet und beschreibt, was sie +machen. + + + + + (Pakete fragmentieren); + (benutzt angegebene MTU) + + + + + +Die Option bewirkt, dass der gewünschte Scan +(inklusive Ping-Scans) winzig fragmentierte IP-Pakete benutzt. Die Idee +dabei ist, den TCP-Header über mehrere Pakete aufzuteilen, um es +Paketfiltern, Intrusion-Detection-Systemen und anderen Ärgernissen +schwerer zu machen, Ihre Aktivitäten zu durchschauen. Seien Sie dabei +vorsichtig! Manche Programme haben Mühe, mit diesen winzigen Paketen +umzugehen. Ein Sniffer alter Schule namens Sniffit ist beim Erhalt des +ersten Fragments sofort mit einem Segmentation-Fault-Fehler abgestürzt. +Wenn Sie diese Option einmal angeben, spaltet Nmap die Pakete in acht +Bytes oder weniger nach dem IP-Header auf. Das heißt, ein 20 Byte langer +TCP-Header würde in drei Pakete aufgeteilt, zwei mit acht Bytes des +TCP-Headers und eines mit den restlichen vier. Natürlich hat jedes +Fragment auch einen IP-Header. Geben Sie erneut an, +um 16 Bytes pro Fragment zu benutzen (was die Anzahl der Fragmente +verkleinert).zweimal angeben +Oder Sie geben eine eigene Offset-Größe mit der Option + (für engl. maximum transmission unit) an. +Wenn Sie angeben, +sollten Sie nicht auch angeben. Das Offset muss ein +Vielfaches von acht sein. Zwar kommen fragmentierte Pakete nicht durch +Paketfilter und Firewalls durch, die alle IP-Fragmente in eine +Warteschlange stellen, wie z.B. die Option +CONFIG_IP_ALWAYS_DEFRAG im Linux-Kernel, aber einige +Netzwerke können sich den damit verbundenen Performance-Einbruch nicht +leisten und lassen sie folglich deaktiviert. Andere können sie nicht +aktivieren, weil die Fragmente auf verschiedenen Routen in ihre Netzwerke +kommen könnten. Manche Quellsysteme defragmentieren hinausgehende Pakete +im Kernel. Ein Beispiel dafür ist Linux mit dem Verbindungsmodul +iptables.iptables +Führen Sie einen Scan aus, während ein Sniffer wie z.B. +WiresharkWireshark +läuft, um sicherzustellen, dass die gesendeten Pakete fragmentiert sind. +Falls Ihr Host-Betriebssystem Probleme macht, probieren Sie die Option + +aus, um die IP-Schicht zu umgehen und rohe Ethernet-Rahmen zu +schicken. + +Eine Fragmentierung wird von Nmap nur für rohe Pakete unterstützt, +die man mit TCP- und UDP-Port-Scans (außer beim Connect-Scan und +FTP-Bounce-Scan) und der Betriebssystemerkennung benutzen kann. +Merkmale wie die Versionserkennung und die Nmap Scripting Engine +unterstützen im Allgemeinen keine Fragmentierung, weil sie sich auf +den TCP-Stack Ihres Hosts verlassen, um mit anderen Zielen zu +kommunizieren. + + + + + + + + (verdeckt einen Scan mit Ködern) + + Köder + + +Führt einen Decoy-Scan durch, was für den entfernten Host den +Anschein erweckt, dass der oder die Hosts, die Sie als Köder +angeben, das Zielnetzwerk ebenfalls scannen. Deren IDS kann also +5–10 Port-Scans von eindeutigen IP-Adressen verzeichnen, aber +es weiß nicht, welche IP sie gescannt hat und welche unschuldige Köder +waren. Das kann man zwar bekämpfen, indem man Router-Pfade mitverfolgt, +Antworten verwirft oder weitere aktive Mechanismen anwendet, aber im +Allgemeinen ist es eine wirksame Methode zum Verbergen Ihrer +IP-Adresse. + +Trennen Sie alle Köder mit Kommata voneinander, wobei Sie +optional +MEME (Köder-Adresse) +als einen der Köder angeben können, um die Position Ihrer echten +IP-Adresse zu bestimmen. Falls Sie ME an +sechster Stelle oder später setzen, zeigen einige verbreitete +Port-Scan-Detektoren (wie z.B. der hervorragende +ScanlogdScanlogd +von Solar DesignerSolar Designer) +Ihre IP-Adresse wahrscheinlich überhaupt nicht an. Wenn Sie kein +ME angeben, setzt es Nmap an eine zufällig gewählte +Position. Sie können auch +RNDRND (Köder-Adresse) +benutzen, um eine zufällige, nicht-reservierte IP-Adresse zu +erzeugen, oder RND:number, +um number Adressen zu erzeugen. + +Beachten Sie, dass die Hosts, die Sie als Köder benutzen, eingeschaltet +sein sollten, sonst könnten Sie versehentlich einen SYN-Flood-Angriff auf +Ihre Ziele auslösen. Außerdem lässt sich der scannende Host sehr einfach +bestimmen, wenn nur einer davon im Netzwerk eingeschaltet ist. Vielleicht +möchten Sie IP-Adressen statt -Namen benutzen (damit die Köder-Netzwerke +Sie nicht in ihren Nameserver-Protokollen sehen). + +Köder werden sowohl im initialen Ping-Scan (mit ICMP, SYN, ACK +oder was auch immer) als auch während der eigentlichen Port-Scan-Phase +benutzt. Auch bei der Erkennung entfernter Betriebssysteme +() werden Köder benutzt. Bei der Versionserkennung +oder beim TCP-Connect-Scan funktionieren Köder jedoch nicht. Falls +eine Scan-Verzögerung stattfindet, wird sie zwischen zwei Stapeln +vorgetäuschter Testpakete erzwungen, nicht zwischen einzelnen Testpaketen. +Weil Köder stapelweise auf einmal gesendet werden, können sie vorübergehend +die Beschränkungen der Überlastungssteuerung verletzen. + +Man sollte hierbei noch erwähnen, dass beim Einsatz von zu vielen +Ködern Ihr Scan sich verlangsamen und sogar ungenauer werden kann. +Manche ISPs filtern außerdem Ihre vorgetäuschten Pakete, aber viele +beschränken solche vorgetäuschten IP-Pakete in keinster Weise. + + + + + + (Quelladresse vortäuschen) + + Vortäuschen der Quelladresse + + + +Unter gewissen Umständen kann Nmap eventuell Ihre Quelladresse +nicht bestimmen (wenn dem so ist, dann sagt Ihnen Nmap Bescheid). +Benutzen Sie in diesem Fall mit der IP-Adresse +der Schnittstelle, über die Sie die Pakete senden möchten. + +Eine weitere mögliche Anwendung dieses Flags ist eine Vortäuschung +des Scans, um die Ziele glauben zu machen, dass jemand +anderes sie scannt. Stellen Sie sich eine Firma vor, die +wiederholt von einem Mitbewerber gescannt wird! Bei dieser Art von +Anwendung werden im Allgemeinen die Optionen und + benötigt. Beachten Sie, dass Sie normalerweise +Antwortpakete zurückbekommen (sie werden an die IP adressiert, die Sie +vortäuschen), d.h. Nmap kann keinen sinnvollen Bericht produzieren. + + + + + + + (angegebene Schnittstelle benutzen) + + interface + + + +Sagt Nmap, auf welcher Schnittstelle es Pakete senden und +empfangen soll. Nmap sollte das automatisch erkennen können, +sagt Ihnen aber Bescheid, wenn nicht. + + + + + + + (Quell-Portnummer vortäuschen) + + + Quellportnummer + + + +Eine Fehlkonfiguration, die überraschend häufig vorkommt, ist es, dem +Netzwerkverkehr allein auf Basis der Quell-Portnummer zu vertrauen. Wie +das zustande kommt, kann man leicht verstehen. Ein Administrator setzt +eine glänzende neue Firewall auf und wird sofort mit Beschwerden von +undankbaren Benutzern überflutet, deren Anwendungen nicht mehr laufen. +Vor allem DNS könnte einen Aussetzer haben, weil die UDP-DNS-Antworten +von externen Servern nicht länger ins Netzwerk hineinkommen. Ein +weiteres häufiges Beispiel ist FTP. Bei aktiven FTP-Übertragungen +versucht der entfernte Server, eine Verbindung zurück zum Client +herzustellen, um die gewünschte Datei zu übertragen. + +Für diese Probleme existieren sichere Lösungen, oftmals in Form von +Proxies auf Anwendungsebene oder Protokoll-parsenden Firewall-Modulen. +Leider gibt es auch einfachere, unsichere Lösungen. Viele Administratoren +haben beobachtet, dass DNS-Antworten von Port 53 und aktive FTP-Antworten +von Port 20 kommen, und sind in die Falle getappt, eingehenden Datenverkehr +nur von diesen Ports zu erlauben. Oft gehen sie davon aus, dass kein Angreifer +solche Firewall-Lecks bemerken und ausbeuten würde. In anderen Fällen +betrachten das Administratoren als kurzfristige Überbrückungsmaßnahme, +bis sie eine sicherere Lösung implementieren können. Und dann vergessen sie +diese Sicherheitsaktualisierung. + + +Aber nicht nur überarbeitete Netzwerkadministratoren tappen in diese +Falle. Zahlreiche Produkte wurden mit diesen unsicheren Regeln ausgeliefert. +Sogar Microsoft hat sich schuldig gmacht. Die IPsec-Filter, die mit +Windows 2000 und Windows XP ausgeliefert wurden, enthalten eine implizite +Regel, die jeden TCP- oder UDP-Datenverkehr von Port 88 (Kerberos) erlaubt. +Ein weiterer bekannter Fall sind Versionen der Zone Alarm Personal-Firewall +bis 2.1.25, die alle empfangenen UDP-Pakete vom Quell-Port 53 (DNS) oder +67 (DHCP) erlauben. + +Nmap bietet die Optionen und + (sind äquivalent), um diese Schwächen +auszunutzen. Geben Sie einfach eine Portnummer an, und Nmap wird, wenn +möglich, Pakete von diesem Port senden. +Damit es richtig funktioniert, muss Nmap für bestimmte +Betriebssystemerkennungstests verschiedene Portnummern benutzen, +und DNS-Anfragen ignorieren das -Flag, +weil Nmap sich bei ihnen auf System-Bibliotheken verlässt. Die meisten +TCP-Scans, inklusive dem SYN-Scan, unterstützen die Option vollständig, +ebenso wie der UDP-Scan. + + + + + + + (Zufallsdaten an gesendete Pakete anfügen) + + + +Normalerweise sendet Nmap minimale Pakete, die nur einen Header +enthalten. Daher haben seine TCP-Pakete im Allgemeinen nur 40 Bytes +und die ICMP Echo-Requests nur 28. Mit dieser Option sagen Sie Nmap, +dass es die angegebene Anzahl von zufälligen Bytes an die meisten +gesendeten Pakete hinzufügen soll. Pakete für die Betriebssystemerkennung +() sind davon nicht +betroffen,kein Effekt in der Betriebssystemerkennung +weil dort aus Genauigkeitsgründen konsistente Pakete verlangt werden, +aber die meisten Ping- und Port-Scan-Pakete unterstützen das. Das kann +den Scan etwas verlangsamen, aber auch etwas unauffälliger machen. + + + + + + + (sendet Pakete mit angegebenen IP-Optionen) + + IP-Optionen + + + +Laut +IP-Protokoll +können in den Paket-Headern mehrere Optionen enthalten sein. Anders als +die allgegenwärtigen TCP-Optionen sieht man IP-Optionen aus Gründen +der praktischen Anwendbarkeit und Sicherheit nur selten. Tatsächlich +blockieren die meisten Internet-Router die gefährlichsten Optionen +wie Source Routing sogar. Dennoch können diese Optionen in manchen +Fällen nützlich sein, um die Netzwerk-Route zu Zielrechnern zu +bestimmen und zu manipulieren. Sie können z.B. vielleicht die Option +Record Route dazu benutzen, einen Pfad zum Ziel sogar dann zu +bestimmen, wenn traditionellere, traceroute-artige Ansätze versagen. +Oder wenn Ihre Pakete von einer bestimmten Firewall verworfen werden, +können Sie mit den Optionen Strict oder Loose Source Routing +möglicherweise eine andere Route angeben. + +Die meisten Möglichkeiten bei der Angabe von IP-Optionen hat man, +wenn man einfach Werte als Argumente für +angibt. Stellen Sie vor jede Hex-Zahl ein \x und +zwei Ziffern. Einzelne Zeichen können Sie wiederholen, indem Sie ihnen +ein Sternchen und dann die Anzahl der Wiederholungen nachstellen. So ist +z.B. \x01\x07\x04\x00*36\x01 ein Hex-String mit +36 NUL-Bytes. + +Nmap bietet auch einen verkürzten Mechanismus für die Angabe +von Optionen. Geben Sie einfach die Buchstaben R, +T oder U an, um jeweils +Record Route,Record-Route-IP-Option +Record TimestampRecord-Timestamp-IP-Option +oder beide Optionen gemeinsam anzugeben. +Loose oder Strict Source +RoutingSource Routing +kann man mit L bzw. S, gefolgt von +einem Leerzeichen und einer mit Leerzeichen getrennten Liste von +IP-Adressen angeben. + +Wenn Sie die Optionen in den gesendeten und empfangenen Paketen +sehen möchten, geben Sie an. Mehr +Informationen und Beispiele zum Einsatz von IP-Optionen mit Nmap finden +Sie unter . + + + + + + + + (setzt IP-Time-to-live-Feld) + + Time-To-Live (TTL) + + +Setzt bei IPv4 das Time-to-live-Feld in gesendeten Paketen +auf den angegebenen Wert. + + + + + + (randomisiert Reihenfolge der Zielhosts) + + Randomisierung von Hosts + + + +Verlangt von Nmap, dass es alle Gruppen von bis zu 16.384 Hosts +durcheinanderwürfelt, bevor es sie scannt. Das kann den Scan für +verschiedene Netzwerk-Überwachungssysteme weniger offensichtlich +machen, besonders dann, wenn Sie ihn mit einer langsamen +Timing-Option kombinieren. Wenn Sie größere Gruppen randomisieren +möchten, müssen Sie +PING_GROUP_SZPING_GROUP_SZ +in nmap.hnmap.h +erhöhen und neu kompilieren. +Eine alternative Lösung ist es, die Liste der Ziel-IPs mit einem List-Scan +() zu +erzeugen, dann z.B. mit einem Perl-Script zu randomisieren, um sie +schließlich als Ganzes mit +Hosts randomisieren mit +an Nmap zu übergeben. + + + + + + + (MAC-Adresse vortäuschen) + + Vortäuschen einer MAC-Adresse + + + +Verlangt von Nmap, dass es in allen gesendeten rohen Ethernet-Rahmen +die angegebene MAC-AdresseMAC-Adresse +benutzt. Diese Option impliziert +,impliziert von +um sicherzustellen, dass Nmap tatsächlich Pakete auf Ethernet-Ebene +sendet. Die MAC-Adresse kann in mehreren Formaten angegeben werden. +Wenn es einfach die Zahl 0 ist, wählt Nmap eine +völlig zufällige MAC-Adresse für diese Sitzung. Falls der angegebene +String aus einer geraden Anzahl von Hexadezimalziffern besteht (in dem +Paare optional mit Doppelpunkten getrennt sein können), benutzt Nmap +diese als MAC. Werden weniger als 12 Hexadezimalziffern angegeben, +dann füllt Nmap die restlichen sechs Bytes mit zufälligen Werten. Falls +das Argument weder null noch ein Hex-String ist, schaut Nmap in +nmap-mac-prefixes nach, um einen Herstellernamen +zu finden, der den angegebenen String enthält (unabhängig von der +Schreibweise). Wird eine Übereinstimmung gefunden, benutzt Nmap die +OUI dieses Herstellers (einen drei Byte langen +Präfix)Organizationally Unique Identifier (OUI)nmap-mac-prefixes +und füllt die verbleibenden drei Bytes mit Zufallswerten. Gültige +Beispiele für Argumente von sind +Apple, 0, +01:02:03:04:05:06, deadbeefcafe, +0020F2 und Cisco. +Diese Option betrifft nur Scans mit rohen Paketen wie den SYN-Scan oder +die Betriebssystemerkennung, keine verbindungsorientierten Merkmale wie +die Versionserkennung oder die Nmap Scripting Engine. + + + + + + + (sendet Pakete mit falschen TCP/UDP-Prüfsummen) + + TCP-Prüfsumme + Prüfsummen + + + +Verlangt von Nmap, bei den an Zielhosts gesendeten Paketen +ungültige TCP- oder UDP-Prüfsummen zu benutzen. Da so gut wie alle +Host-IP-Stacks solche Pakete verwerfen, kommen eventuelle Antworten +sehr wahrscheinlich von einer Firewall oder einem IDS, das sich nicht +die Mühe macht, die Prüfsumme zu überprüfen. Mehr Details zu dieser +Methode finden Sie unter . + + + + + + + + + + + + Ausgabe + Ausgabeformate + +Alle Sicherheitswerkzeuge sind nur so gut wie die Ausgabe, die +sie erzeugen. Komplexe Tests und Algorithmen haben einen geringen Wert, +wenn sie nicht auf übersichtliche und verständliche Weise dargestellt +werden. Da Nmap auf vielfältige Weise von verschiedenen Leuten und +anderer Software benutzt wird, kann kein Format allein es allen recht +machen. Daher bietet Nmap mehrere Formate, darunter den interaktiven +Modus, den Menschen direkt lesen können, und XML, das von Software +leicht geparst werden kann. + +Zusätzlich zu verschiedenen Ausgabeformaten bietet Nmap Optionen +zur Steuerung der Ausführlichkeit dieser Ausgabe sowie Debugging-Meldungen. +Die Ausgaben können an die Standardausgabe oder an benannte Dateien gehen, +die Nmap überschreiben bzw. an die es seine Ausgabe anfügen kann. +Mit den Ausgabedateien können außerdem abgebrochene Scans fortgesetzt +werden. + +Nmap erzeugt seine Ausgabe in fünf verschiedenen Formaten. +Das Standardformat heißt +interaktive Ausgabeinteraktive Ausgabe +und wird an die Standardausgabe (stdout)Standardausgabe +gesendet. +Es gibt auch die +normale Ausgabe,normale Ausgabe +die ähnlich zur interaktiven Ausgabe ist, außer dass sie weniger +Laufzeitinformation und Warnungen ausgibt, weil man davon ausgeht, +dass sie erst nach Abschluss des Scans analysiert wird und nicht, +während er noch läuft. + +Die XML-AusgabeXML-Ausgabe +ist eines der wichtigsten Ausgabeformate, da sie einfach nach HTML +konvertiert, von Programmen wie Nmap-GUIs geparst oder in Datenbanken +importiert werden kann. + +Die zwei verbleibenden Ausgabeformate sind die einfache +grepbare Ausgabe,grepbare Ausgabe +in der die meiste Information über einen Zielhost in einer einzigen +Zeile enthalten ist, und +sCRiPt KiDDi3 0utPUtscR1pT kIddI3-Ausgabe +für Benutzer, die sich selbst als |<-r4d sehen. + +Die interaktive Ausgabe ist standardmäßig vorgegeben und verfügt +über keine eigenen Kommandozeilenoptionen, aber die anderen vier Formate +benutzen dieselbe Syntax. Sie erwarten ein Argument, den Namen der Datei, +in der die Ergebnisse gespeichert werden sollen. Es können mehrere Formate +angegeben werden, aber jedes nur einmal. Vielleicht möchten Sie z.B. eine +normale Ausgabe für eine eigene Untersuchung speichern und eine XML-Ausgabe +desselben Scans für eine programmbasierte Analyse. Das erreichen Sie mit +den Optionen . +Auch wenn in diesem Kapitel der Kürze wegen einfache Namen wie +myscan.xml benutzt werden, empfehlen sich im Allgemeinen +aussagekräftigere Namen. Welche Namen Sie wählen, ist Geschmackssache, aber +ich benutze lange Namen, die das Scandatum und ein oder zwei Worte über den +Scan enthalten, in einem Verzeichnis, das den Namen der gescannten Firma +enthält. + +Auch wenn diese Optionen Ergebnisse in Dateien speichern, gibt Nmap +weiterhin die interaktive Ausgabe wie üblich auf die Standardausgabe aus. +Zum Beispiel speichert der Befehl nmap -oX myscan.xml target +XML in myscan.xml und füllt die +Standardausgabe mit demselben interaktiven Ergebnis, wie es auch ohne Angabe von + der Fall wäre. Das können Sie ändern, indem Sie ein +Minuszeichen als Argument für eines der Formate angeben. Dann schaltet +Nmap die interaktive Ausgabe ab und gibt stattdessen Ergebnisse im +gewünschten Format auf den Standardausgabestrom aus. Das heißt, der Befehl +nmap -oX - target schreibt nur die XML-Ausgabe auf +die Standardausgabe.Ausgabeauf stdout mit - +Ernste Fehler werden weiterhin auf den normalen +Standardfehlerstrom, stderr,Standardfehlerausgabe +ausgegeben. + +Anders als bei anderen Nmap-Argumenten ist das Leerzeichen zwischen +dem Options-Flag für eine Ausgabedatei (z.B. ) und dem +Dateinamen oder Minuszeichen obligatorisch. Falls Sie die Leerzeichen weglassen +und Argumente wie z.B. oder +angeben, erzeugt Nmap aus Gründen der Rückwärtskompatibilität Ausgabedateien +im normalen Format, die jeweils die Namen +G- und Xscan.xml haben. + +All diese Argumente unterstützen +strftime-ähnlichestrftime Konvertierungen in Dateinamen +Umwandlungen im Dateinamen. %H, %M, +%S, %m, %d, +%y und %Y sind alle exakt gleich +wie in strftime. %T entspricht +%H%M%S, %R entspricht +%H%M und %D entspricht +%m%d%y. Ein %, dem ein anderes Zeichen +folgt, ergibt nur genau dieses Zeichen (%% ergibt ein +Prozentzeichen). Also erzeugt eine +XML-Datei in der Form scan-144840-121307.xml. + +Nmap bietet auch Optionen zur Steuerung der Scan-Ausführlichkeit +und Optionen, um an Ausgabedateien anzuhängen, statt sie zu überschreiben. All +diese Optionen werden unten beschrieben. + +Nmap-Ausgabeformate + + + (normale Ausgabe) + + normale Ausgabe + + +Verlangt, dass eine normale Ausgabe in der +angegebenen Datei gespeichert wird. Wie oben erwähnt, unterscheidet +sich das leicht von der interaktiven Ausgabe. + + + + + + (XML-Ausgabe) + + XML-Ausgabe + + +Verlangt, dass eine XML-Ausgabe in der +angegebenen Datei gespeichert wird. Nmap fügt eine DTD (Document +Type Definition) hinzu, mit der XML-Parser Nmaps XML-Ausgabe +validieren können. Diese ist vor allem für die Benutzung durch +Programme gedacht, kann aber auch Menschen bei der Interpretation +von Nmaps XML-Ausgabe helfen. Die DTD definiert die gültigen Elemente +des Formats und zählt an vielen Stellen die dafür erlaubten Attribute +und Werte auf. Die neueste Version ist immer unter + verfügbar. + +XML bietet ein stabiles Format, das man mit Software leicht +parsen kann. Solche XML-Parser sind für alle wichtigen Programmiersprachen +wie C/C++, Perl, Python und Java gratis verfügbar. Manche Leute haben +sogar Anbindungen für die meisten dieser Sprachen geschrieben, um +speziell die Ausgabe und Ausführung von Nmap zu steuern. +Beispiele sind +Nmap::Scanner +Nmap::Scanner +und Nmap::Parser +Nmap::Parser +für Perl in CPAN. In fast allen Fällen, in denen eine nicht-triviale +Anwendung eine Schnittstelle zu Nmap benutzt, ist XML das bevorzugte +Format. + +Die XML-Ausgabe verweist auf ein XSL-Stylesheet, mit dem man +die Ergebnisse als HTML formatieren kann. Am einfachsten benutzt +man das, indem man einfach die XML-Ausgabe in einem Webbrowser wie +Firefox oder IE lädt. Standardmäßig funktioniert das nur auf dem +Rechner, auf dem Sie Nmap ausgeführt haben (oder auf einem, der +ähnlich konfiguriert ist), weil der Pfad zu nmap.xsl +darin festkodiert ist. Um portable XML-Dateien zu erzeugen, die auf +allen mit dem Web verbundenen Rechnern als HTML angezeigt werden, +können Sie die Optionen oder + benutzen. + + + + + + + (ScRipT KIdd|3-Ausgabe) + + scR1pT kIddI3-Ausgabe + + +Die Script-Kiddie-Ausgabe ist ähnlich zur interaktiven Ausgabe, mit +dem Unterschied, dass sie nachbearbeitet ist, um die 'l33t HaXXorZ besser +anzusprechen! Vorher haben sie wegen dessen konsistent richtiger Schreibweise +und Buchstabierung auf Nmap herabgesehen. Humorlose Menschen sollten wissen, +dass diese Option sich über Script Kiddies lustig macht, bevor sie mich +dafür angreifen, dass ich ihnen helfe. + + + + + + (grepbare Ausgabe) + + grepbare Ausgabe + + +Dieses Ausgabeformat wird zum Schluss beschrieben, weil es als +überholt gilt. +Das XML-Ausgabeformat ist wesentlich leistungsstärker und für erfahrene +Benutzer fast genauso bequem. XML ist eim Standard, für den Dutzende +hervorragender Parser verfügbar sind, während die grepbare Ausgabe nur +mein eigener einfacher Hack ist. XML ist erweiterbar und kann neue +Nmap-Eigenschaften unterstützen, die ich beim grepbaren Format +aus Platzgründen oft weglassen muss. + +Dessen ungeachtet ist die grepbare Ausgabe immer noch recht beliebt. +Es ist ein einfaches Format, das pro Zeile einen Host auflistet und das +mit Unix-Standardwerkzeugen wie grep, awk, cut, sed, diff und auch mit Perl +auf triviale Weise durchsucht und geparst werden kann. Selbst ich benutze es +für einmalige schnelle Tests in der Kommandozeile. Zum Beispiel kann man alle +Hosts, auf denen der SSH-Port offen ist oder auf denen Solaris läuft, auf +einfache Weise mit einem grep bestimmen, das die Hosts findet, umgeleitet in +einen awk- oder cut-Befehl, der die gewünschten Felder ausgibt. + +Die grepbare Ausgabe besteht aus Kommentaren (Zeilen, die mit einem +# anfangen)grepbare AusgabeKommentare in +sowie aus Zielzeilen. Eine Zielzeile enthält eine Kombination aus sechs +benannten Feldern, durch Tabulatoren getrennt, gefolgt von einem +Doppelpunkt. Diese Felder lauten Host, +Ports, Protocols, +Ignored State, OS, +Seq Index, IP ID und +Status. + +Das wichtigste dieser Felder ist im Allgemeinen Ports, +das Details zu einem interessanten Port enthält. Es ist eine mit Kommata +getrennte Liste von Port-Einträgen, wobei jeder Eintrag einen interessanten +Port darstellt und aus sieben mit Schrägstrichen (/) getrennten Unterfeldern +besteht. Diese Unterfelder lauten: Port number, +State, Protocol, +Owner, Service, +SunRPC info und Version info. + +Wie bei der XML-Ausgabe kann diese Manpage auch hier nicht das +vollständige Format dokumentieren. Eine detailliertere Betrachtung des +grepbaren Ausgabeformats in Nmap finden Sie +from . +in . + + + + + + + (Ausgabe in allen Formaten) + + + + +Aus Gründen der Bequemlichkeit können Sie Scan-Ergebnisse mit + gleichzeitig +in normalem, in XML- und in grepbarem Format speichern. Sie werden +jeweils in +basename.nmap, +basename.xml und +basename.gnmap, +gespeichert. +Wie in den meisten Programmen können Sie vor den Dateinamen ein Präfix +mit einem Verzeichnispfad darin setzen, z.B. +~/nmaplogs/foocorp/ unter Unix oder +c:\hacking\sco unter Windows. + + + + + + Optionen für Ausführlichkeit und Debugging + + + (größere Ausführlichkeit) + + Ausführlichkeit + + + +Erhöht die Ausführlichkeit, d.h. Nmap gibt mehr Informationen +über den laufenden Scan aus. Offene Ports werden angezeigt, direkt +nachdem sie gefunden werden, und es werden Schätzungen für die Dauer +bis zur Fertigstellung angegeben, falls Nmap meint, dass ein Scan mehr +als ein paar Minuten benötigt. Noch mehr Information erhalten Sie, +wenn Sie diese Option zweimal oder noch öfter angeben. +mehrmals angeben + + +Die meisten Änderungen betreffen +nur die interaktive Ausgabe, manche betreffen auch die normale und +die Script-Kiddie-Ausgabe. Die anderen Ausgabearten sind für die +Weiterverarbeitung durch Maschinen gedacht, d.h. Nmap kann in diesen +Formaten standardmäßig alle Details angeben, ohne einen menschlichen +Leser zu ermüden. Allerdings gibt es in den anderen Modi einige Änderungen, +bei denen die Ausgabegröße durch Weglassen einiger Details erheblich +reduziert werden kann. Zum Beispiel wird eine Kommentarzeile in der +grepbaren Ausgabe, die eine Liste aller gescannten Ports enthält, nur +im wortreichen Modus ausgegeben, weil sie ziemlich lang werden kann. + + + + + + + (erhöhe oder setze Debugging-Stufe) + + Debugging + + + +Wenn nicht einmal der wortreiche Modus genug Daten für Sie liefert, +können Sie beim Debugging noch wesentlich mehr davon bekommen! Wie bei der +Ausführlichkeits-Option () wird auch das Debugging mit einem +Kommandozeilen-Flag eingeschaltet (), und die Debug-Stufe +kann durch eine mehrfache Angabe gesteigert +werden.mehrmals angeben +Alternativ dazu können Sie eine Debug-Stufe auch als Argument an + übergeben. So setzt z.B. die +Stufe neun. Das ist die höchste verfügbare Stufe, die Tausende +von Zeilen produziert, sofern Sie keinen sehr einfachen Scan mit sehr wenigen Ports +und Zielen ausführen. + +Eine Debugging-Ausgabe ist sinnvoll, wenn Sie einen Fehler in Nmap +vermuten oder wenn Sie einfach verwirrt darüber sind, was und warum Nmap +etwas genau macht. Da dieses Merkmal überwiegend für Entwickler gedacht ist, +sind Debug-Zeilen nicht immer selbsterklärend. Vielleicht bekommen Sie +etwas wie: Timeout +vals: srtt: -1 rttvar: -1 to: 1000000 delta 14987 ==> srtt: 14987 +rttvar: 14987 to: 100000. Wenn Sie eine Zeile nicht +verstehen, ist Ihre einzige Zuflucht, sie zu ignorieren, im Quellcode +nachzuschauen oder Hilfe auf der Entwicklerliste +(nmap-dev).nmap-dev Mailingliste +zu erfragen. +Manche Einträge sind selbsterklärend, aber je höher die Debug-Stufe ist, +desto obskurer werden die Meldungen. + + + + + + + (Gründe für Host- und Portzustände) + + Angabe von Gründen + + + + +Gibt die Gründe an, warum ein Port auf einen bestimmten Zustand gesetzt +wurde und warum ein Host als ein- oder ausgeschaltet betrachtet wird. +Diese Option zeigt die Paketart an, die einen Port- oder Hostzustand +ermittelt hat, z.B. ein RST-Paket von einem +geschlossenen Port oder ein Echo Reply von einem eingeschalteten Host. +Die Information, die Nmap angeben kann, hängt von der Art des Scans +oder Pings ab. Der SYN-Scan und der SYN-Ping ( und +) sind sehr detailliert, aber der TCP-Connect-Scan +() wird durch die Implementierung des +connect-Systemaufrufs beschränkt. Dieses Merkmal +wird automatisch von der Debug-Option +()impliziert von +aktiviert, und die Ergebnisse werden auch dann in XML-Protokolldateien +gespeichert, wenn diese Option gar nicht angegeben wird. + + + + + + + + (periodische Timing-Statistik ausgeben) + + + + +Gibt periodisch eine Timing-Statusmeldung nach einem Intervall der +Länge time aus. Dabei kann diese Zeitangabe +beschrieben werden, wie in dargestellt, +d.h. Sie können z.B. --stats-every 10s benutzen, um +alle 10 Sekunden eine Statusaktualisierung zu erhalten. Diese erscheint +in der interaktiven Ausgabe (auf dem Bildschirm) und in der XML-Ausgabe. + + + + + + + (gesendete und empfangene Pakete und Daten mitverfolgen) + + + + +Bewirkt, dass Nmap für jedes gesendete oder empfangene +Paket eine Zusammenfassung ausgibt. Das wird bei der Fehlersuche +oft gemacht, ist aber auch eine willkommene Methode für Neulinge, um genau +zu verstehen, was Nmap unter der Oberfläche macht. Um zu verhindern, dass +Tausende von Zeilen ausgegeben werden, möchten Sie vielleicht eine +beschränkte Anzahl zu scannender Ports angeben, z.B. mit +. Wenn Sie nur wissen möchten, was +im Versionserkennungssubsystem vor sich geht, benutzen Sie stattdessen +. Wenn Sie nur an einer Script-Mitverfolgung +interessiert sind, geben Sie an. +Mit erhalten Sie all das zusammen. + + + + + + (zeige nur offene (oder möglicherweise offene) Ports an) + + + + +Manchmal interessieren Sie sich nur für Ports, mit denen Sie tatsächlich +eine Verbindung herstellen können (offene Ports), und +wollen Ihre Ergebnisse nicht mit anderen Ports überhäufen, die +geschlossen, gefiltert und +geschlossen|gefiltert sind. Die Ausgabe wird normalerweise +nach dem Scan mit Werkzeugen wie grep, +awk und Perl +angepasst, aber dieses Merkmal wurde auf überwältigend vielfachen +Wunsch hinzugefügt. Geben Sie an, um nur +offene, offene|gefilterte und +ungefilterte Ports zu sehen. Diese drei Ports werden +ganz wie gewöhnlich behandelt, d.h. dass offen|gefiltert +und ungefiltert in Zählungen zusammengefasst werden, +wenn es eine sehr große Anzahl davon gibt. + + + + + + + + (liste Schnittstellen und Routen auf) + + +Gibt die Liste der Schnittstellen und Systemrouten aus, die Nmap +entdeckt hat. Das ist hilfreich bei der Fehlersuche bei Routing-Problemen +oder fehlerhaften Gerätebeschreibungen (z.B. wenn Nmap eine PPP-Verbindung +als Ethernet behandelt). + + + + + (protokolliere Fehler/Warnungen in eine Datei im normalen Ausgabeformat) + + + + +Von Nmap ausgegebene Warnungen und Fehlermeldungen gehen normalerweise +nur auf den Bildschirm (interaktive Ausgabe), was die Ordnung aller +Ausgabedateien im normalen Format (üblicherweise mit +angegeben) nicht stört. Wenn Sie diese Meldungen in den angegebenen +normalen Ausgabedateien wirklich sehen möchten, können Sie diese Option +benutzen. Diese ist dann hilfreich, wenn Sie die interaktive Ausgabe +nicht übersehen oder wenn Sie Fehler beim Debugging speichern möchten. +Die Fehlermeldungen und Warnungen werden auch im interaktiven Modus +weiterhin erscheinen. Bei den meisten Fehlern bezüglich schlechter +Kommandozeilenargumente wird das nicht funktionieren, da Nmap seine +Ausgabedateien eventuell noch nicht initialisiert hat. +Außerdem benutzen einige Nmap-Fehlermeldungen und -Warnungen ein anderes +System, das diese Option noch nicht unterstützt. + +Eine Alternative zu ist die Umleitung +der interaktiven Ausgabe (inklusive des Standardfehlerstroms) in eine +Datei. Die meisten Unix-Shells machen einem diesen Ansatz leicht, aber +auf Windows kann er schwierig sein. + + + + + + + Weitere Ausgabeoptionen + + + + (an Ausgabedateien hinzufügen, statt sie zu überschreiben) + + + + +Wenn Sie einen Dateinamen für ein Ausgabeformat wie z.B. + oder angeben, wird diese +Datei standardmäßig überschrieben. +Wenn Sie deren Inhalt lieber behalten und die neuen Ergebnisse anhängen +möchten, benutzen Sie die Option . +Dann wird bei allen angegebenen Ausgabedateinamen dieses Nmap-Aufrufs +an die Dateien angehängt, statt sie zu überschreiben. Mit XML-Scandaten +() funktioniert das nicht so gut, da die erzeugte Datei +im Allgemeinen nicht mehr sauber geparst wird, es sei denn, Sie reparieren sie +von Hand. + + + + + + (abgebrochenen Scan fortsetzen) + + Scans fortsetzen + + + +Manche umfangreichen Nmap-Läufe benötigen sehr viel Zeit – in der +Größenordnung von Tagen. Solche Scans laufen nicht immer bis zum Ende. +Vielleicht gibt es Beschränkungen, die verhindern, dass man Nmap während +der normalen Arbeitszeit ausführen kann, das Netzwerk könnte abstürzen, +der Rechner, auf dem Nmap läuft, könnte einen geplanten oder ungeplanten +Neustart erleben oder Nmap selbst könnte abstürzen. Der Administrator, +der Nmap ausführt, könnte es auch aus irgendeinem anderen Grund abbrechen, +indem er ctrl-C eingibt. Und den ganzen Scan von vorne neu +zu starten, ist eventuell nicht wünschenswert. Wenn ein normales +() oder ein grepbares () Protokoll +geführt wurde, kann der Benutzer Nmap jedoch bitten, den Scan bei dem Ziel +fortzusetzen, an dem es beim Abbruch gearbeitet hat. Geben Sie einfach die +Option an und übergeben Sie die normale/grepbare +Ausgabedatei als Argument. Andere Argumente sind nicht erlaubt, da Nmap +die Ausgabedatei parst, um dieselben Argumente zu benutzen, die zuvor +benutzt wurden. Rufen Sie Nmap einfach als nmap --resume +logfilename auf. Nmap fügt neue +Ergebnisse dann an die Datendateien an, die im vorherigen Lauf angegeben +wurden. Diese Fortsetzung funktioniert nicht aus XML-Ausgabedateien, +weil es schwierig wäre, die zwei Läufe in +einer gültigen XML-Datei zu kombinieren. + + + + + + (setze XSL-Stylesheet, um eine XML-Ausgabe zu transformieren) + + + + +Die Nmap-Distribution enthält ein +XSL-StylesheetXSL +Stylesheet +namens nmap.xsl +nmap.xsl +zum Betrachten oder Übersetzen einer XML-Ausgabe nach HTML. +HTML aus XML-Ausgabe +Die XML-Ausgabe enthält eine xml-stylesheet-Anweisung, +die auf nmap.xml an der Stelle verweist, wo es von Nmap +ursprünglich installiert wurde (oder im aktuellen Arbeitsverzeichnis +unter Windows). Laden Sie einfach Nmaps XML-Ausgabe in einem modernen +Webbrowser, und er sollte nmap.xsl im Dateisystem +finden und benutzen, um die Ergebnisse darzustellen. Wenn Sie ein anderes +Stylesheet benutzen möchten, geben Sie es als Argument für + an. Dabei müssen Sie den vollständigen +Pfadnamen oder die URL angeben. Sehr häufig wird + benutzt. +Das sagt einem Browser, dass er die neueste Version des Stylesheets +von Nmap.Org laden soll. Die Option +macht dasselbe, verlangt aber weniger Tipparbeit und Merkfähigkeit. +Wenn man das XSL von Nmap.Org lädt, wird es einfacher, die Ergebnisse +auf einem Rechner anzuschauen, auf dem kein Nmap (und folglich auch kein +nmap.xsl) installiert ist. Daher ist die URL oft +nützlicher, doch aus Datenschutzgründen wird standardmäßig das +nmap.xsl im lokalen Dateisystem benutzt. + + + + + + (lade Stylesheet von Nmap.Org) + + + + +Diese bequeme Option ist nur ein Alias für +. + + + + + + (lasse XSL-Stylesheet-Deklaration im XML weg) + + + + +Geben Sie diese Option an, wenn Nmap in seiner XML-Ausgabe auf +keinerlei XSL-Stylesheet verweisen soll. Die +xml-stylesheet-Anweisung wird dann weggelassen. + + + + + + + + + Verschiedene Optionen + Dieser Abschnitt beschreibt einige wichtige (und weniger wichtige) + Optionen, für die es keinen anderen richtig passenden Ort gibt. + + + + + (schaltet IPv6-Scans ein) + + IPv6 + + + +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 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,IPv6-Tunnel-Broker +die mit Nmap funktionieren. Weitere Tunnel-Broker sind +in Wikipedia aufgelistet. +Ein weiterer freier Ansatz sind 6to4-Tunnels. + + + + + + + (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 (), +die Versionserkennung (), +das Scannen mit Scripts () und +traceroute () ein. +eingeschaltete Merkmale von +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 nicht ohne Genehmigung auf Zielnetzwerke loslassen. +Diese Option aktiviert nur Eigenschaften, aber keine Optionen für das +Timing (z.B. ) oder die Ausführlichkeit +(), die Sie eventuell auch benutzen möchten. + + + + + + (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 + oder ), +wird dieser Ort für diese Datei benutzt. Danach sucht Nmap diese +Dateien im Verzeichnis, das mit der Option +angegeben wurde (sofern vorhanden). Dateien, die dort nicht gefunden +werden, werden in einem Verzeichnis gesucht, das durch die +Umgebungsvariable NMAPDIR angegeben +wirdNMAPDIR Umgebungsvariable. +Danach kommt +~/.nmap.nmap Verzeichnis +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. + + + + + + (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 +() benutzt. Weitere Details zu Nmaps Datendateien +finden Sie in der Beschreibung zu . + + + + + + (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 . + + + + + + (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)rohe Sockets +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). + + + + + + + (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 . + + + + + + (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-RechteBenutzer mit Sonderrechtenautorisierte BenutzerBenutzer mit Sonderrechten +benötigen. Standardmäßig terminiert Nmap, wenn solche Operationen +verlangt werden, aber geteuid nicht null ist. + 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 +kann die Umgebungsvariable +NMAP_PRIVILEGEDNMAP_PRIVILEGED Umgebungsvariable +gesetzt werden. + + + + + + (nimmt an, dass der Benutzer keine Sonderrechte für rohe Sockets genießt) + + Benutzer ohne Sonderrechte + + + +Diese Option ist das Gegenteil von . +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 +kann die Umgebungsvariable +NMAP_UNPRIVILEGEDNMAP_UNPRIVILEGED Umgebungsvariable +gesetzt werden. + + + + + + + (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. + + + + + + ; (gibt Versionsnummer aus) + + + + + Gibt Nmaps Versionsnummer aus und terminiert. + + + + + + ; (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. + + + + + + + + + Laufzeit-Interaktion<indexterm><primary>Laufzeitinteraktion</primary></indexterm> + +Während der Ausführung von Nmap wird jeder Tastendruck abgefangen. +Das ermöglicht Ihnen, mit dem Programm zu interagieren, ohne es abzubrechen +und neu zu starten. Bestimmte Spezialtasten ändern Optionen, während alle +anderen Tasten eine Statusmeldung über den Scan ausgeben. Konvention ist, +dass der Ausgabeumfang durch +Kleinbuchstaben vergrößert und durch +Großbuchstaben verkleinert wird. +Sie können auch ‘?’ drücken, +um eine Hilfe zu erhalten. + + + + + / + + + Vergrößert/verkleinert die Ausführlichkeit + + + + + / + + + Vergrößert/verkleinert die Debugging-Stufe + + + + + / + + + Schaltet Paketverfolgung ein/aus + + + + + + + + Gibt einen Hilfeschirm zur Laufzeit-Interaktion aus + + + + + Alles andere + + + Gibt eine Statusmeldung wie die folgende aus: + Stats: 0:00:08 elapsed; 111 hosts completed (5 up), + 5 undergoing Service Scan + Service scan Timing: About 28.00% done; ETC: 16:18 + (0:00:15 remaining) + + + + + + + Beispiele + +Hier sind einige Anwendungsbeispiele für Nmap, von einfachen und +routinemäßigen bis zu etwas komplexeren und esoterischen. Um die Sache +etwas konkreter zu machen, werden einige echte IP-Adressen und Domainnamen +benutzt. Diese sollten Sie mit Adressen/Namen aus +Ihrem eigenen Netzwerk ersetzen. Auch wenn ich nicht +der Meinung bin, dass Port-Scans anderer Netzwerke illegal sind oder sein +sollten, mögen manche Netzwerkadministratoren es nicht, wenn ihre Netzwerke +unverlangt gescannt werden, und könnten sich beschweren. Der beste Ansatz +ist der, sich zuerst eine Genehmigung zu verschaffen. + +Zu Testzwecken haben Sie die Genehmigung, den Host +scanme.nmap.org zu scannen. Diese Genehmigung gilt +nur für das Scannen mit Nmap und nicht für das Testen von Exploits oder +Denial-of-Service-Angriffen. Bitte führen Sie nicht mehr als ein Dutzend +Scans pro Tag auf diesem Host durch, um die Bandbreite nicht zu erschöpfen. +Falls diese freie Dienstleistung missbraucht wird, wird sie abgeschaltet, +und Nmap wird dann Failed to resolve given hostname/IP: +scanme.nmap.org ausgeben. Diese Genehmigung gilt auch +für die Hosts scanme2.nmap.org, +scanme3.nmap.org usw., auch wenn diese Hosts noch +nicht existieren. + + + Beispiel + nmap -v scanme.nmap.org + +Diese Option scannt alle reservierten TCP-Ports auf dem Rechner +scanme.nmap.org. Die Option +schaltet den ausführlichen Modus an. + + Beispiel + Beispiel + nmap -sS -O scanme.nmap.org/24 + +Startet einen Stealth-SYN-Scan auf allen aktiven Rechnern unter +den 256 IPs im Netzwerk der Größe Klasse C, in dem +Scanme sitzt. Es versucht auch herauszufinden, welches Betriebssystem +auf jedem aktiven Host läuft. Wegen des SYN-Scans und der +Betriebssystemerkennung sind dazu root-Rechte notwendig. + + Beispiel + nmap -sV -p 22,53,110,143,4564 + 198.116.0-255.1-127 + + +Startet eine Host-Auflistung und einen TCP-Scan in der ersten Hälfte +von allen 255 möglichen acht-Bit-Unternetzen im Klasse-B-Adressraum 198.116. +Dabei wird getestet, ob die Systeme SSH, DNS, POP3 oder IMAP auf ihren +Standardports laufen haben oder irgendetwas auf Port 4564. Falls einer +dieser Ports offen ist, wird eine Versionserkennung benutzt, um festzustellen, +welche Anwendung darauf läuft. + + + Beispiel + Beispiel + nmap -v -iR 100000 -PN -p 80 + + +Verlangt von Nmap, 100.000 Hosts zufällig auszuwählen und sie nach +Webservern (Port 80) zu scannen. Eine Host-Auflistung wird mit + unterbunden, weil es Verschwendung ist, zuerst eine +Reihe von Testpaketen zu senden, um festzustellen, ob ein Host aktiv ist, +wenn Sie auf jedem Zielhost ohnehin nur einen Port testen. + + + Beispiel + Beispiel + nmap -PN -p80 -oX logs/pb-port80scan.xml -oG + logs/pb-port80scan.gnmap 216.163.128.20/20 + +Das scannt 4096 IPs nach Webservern (ohne sie anzupingen) +und speichert die Ausgabe im grepbaren und im XML-Format. + + + + +Das Nmap-Buch + +Auch wenn dieser Reference Guide alle wesentlichen +Nmap-Optionen genau beschreibt, kann er nicht vollständig zeigen, +wie man diese Features anwendet, um Aufgaben der realen Welt zu lösen. +Zu diesem Zweck haben wir das Buch +Nmap Network Scanning: The Official +Nmap Project Guide to Network Discovery and Security +Scanning.Nmap Network Scanning: The Official +Nmap Project Guide to Network Discovery and Security +Scanning veröffentlicht. +Es zeigt, wie man Firewalls und Intrusion Detection-Systeme unterwandert, +die Performance von Nmap optimiert, und wie man häufige Netzwerkaufgaben +mit der Nmap Scripting Engine automatisiert. Außerdem enthält es Tipps +und Anleitungen für häufige Nmap-Aufgaben wie die Netzwerkinventarisierung, +Penetrationstests, die Erkennung schurkischer Wireless Access Points und +das Verhindern von Wurmausbrüchen im Netzwerk. +Dabei zeigt es mit Beispielen und Diagrammen, wie die Kommunikation +auf der Leitung aussieht. Mehr als die Hälfte des Buches ist online +frei verfügbar. Weitere Informationen finden Sie unter +. +Die deutsche Übersetzung dieses Buches von Dinu Gherman ist im Mai +2009 unter dem Titel +Nmap: Netzwerke scannen, analysieren und absichern +im Open Source Press-Verlag +erschienen. + + + + + Fehler + Fehlerberichte + +Wie sein Autor ist auch Nmap selbst nicht perfekt. Aber Sie +können helfen, es zu verbessern, indem Sie Fehlerberichte schicken oder +sogar Patches schreiben. Falls Nmap sich nicht wie erwartet verhält, +sollten Sie zuerst auf die neueste Version aktualisieren, die unter + verfügbar ist. Wenn das Problem anhält, +versuchen Sie herauszufinden, ob es bereits erkannt und bearbeitet +wurde. Suchen Sie nach der Fehlermeldung auf unserer Suchseite unter + oder bei Google. Stöbern +Sie in den nmap-dev-Archiven unter +.nmap-dev Mailingliste +Lesen Sie auch diese Manpage vollständig. Wenn Sie keine Lösung finden, +schicken Sie einen Fehlerbericht per E-Mail an +dev@nmap.org. Beschreiben Sie darin bitte alles, +was Sie über das Problem wissen, inklusive der Nmap-Version und der +Betriebssystemversion, unter der Sie Nmap einsetzen. Berichte von Problemen +und Fragen zur Anwendung von Nmap werden sehr viel wahrscheinlicher +beantwortet, wenn sie an dev@nmap.org geschickt +werden statt direkt an Fyodor. Wenn Sie sich erst auf der nmap-dev-Liste +eintragen, bevor Sie Ihre E-Mail schicken, entgeht Ihre Nachricht auch +der Moderation und kommt schneller an. Eintragen können Sie sich unter +. + +Code-Patches zur Behebung von Fehlern sind noch besser als +Fehlerberichte. Eine einfache Anweisung für die Erstellung von Patch-Dateien +mit Ihren Änderungen ist unter + verfügbar. Patches können +an nmap-dev (empfohlen) oder direkt an Fyodor +geschickt werden. + + + + Autor + Fyodor + fyodor@nmap.org + () + + + Über die Jahre haben hunderte von Menschen wertvolle Beiträge + zu Nmap geleistet. Sie sind detailliert in der Datei + CHANGELOGchangelog + aufgeführt, die mit dem Nmap-Quellcode verbreitet wird und auch unter + verfügbar ist. + + + + + Sorry, this section has not yet been translated to German. Please see the English version. + + + +
-- cgit v1.2.3