|   |   | 
| (371 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | 
| Zeile 1: | Zeile 1: | 
|  | = '''Network Mapper (nmap)'''=
 |  | '''{{BASEPAGENAME}}''' - Netzwerk-Analysewerkzeug, Sicherheits- und Portscanner  | 
|  | * Nmap ist ein freier Portscanner zum Scannen und Auswerten von Hosts in einem Rechnernetz.[[https://de.wikipedia.org/wiki/Nmap]]
 |  | 
|  | * Der Name steht für Network Mapper.
 |  | 
|  | * Ursprünglich für Linux entwickelt.
 |  | 
|  | * Mit Einschränkungen auch für Windows-Systeme nutzbar (seit 2000).[[http://translate.google.com/translate?hl=de&sl=auto&tl=de&u=https%3A%2F%2Fnmap.org%2Fbook%2Finst-windows.html]]
 |  | 
|  | 
 |  | 
 | 
|  | =Netzwerke scannen= |  | == Beschreibung == | 
|  | Was ist Network Scanning?
 |  | === Network Scanning === | 
|  | * Netzwerke scannen und analysieren |  | * Netzwerke scannen und analysieren | 
|  | * angeschlossene undaktiven Systeme erkennen |  | * Angeschlossene und aktive Systeme erkennen | 
|  | * Details zu Diensten, Konfigurationen und Versionen bestimmen |  | * Details zu Diensten, Konfigurationen und Versionen bestimmen | 
|  | * Netzwerk-Inventarisierung |  | * Netzwerk-Inventarisierung | 
| Zeile 14: | Zeile 10: | 
|  | * Überwachung von Betriebszeiten, Hosts oder Diensten |  | * Überwachung von Betriebszeiten, Hosts oder Diensten | 
|  | 
 |  | 
 | 
|  | = Syntax =
 |  | 
|  |  nmap [Scan Type(n)] [Optionen] {Ziel}
 |  | 
|  | 
 |  | 
 | 
|  | = Einfacher Portscan = |  | === Network Mapper (nmap) === | 
|  | == nmap ohne Optionen == |  | [[Datei:Zenmap.png|mini|500px|Nmap GUI [[Zenmap]]]] | 
|  | * Es geht darum herauszufinden, ob ein Port offen ist, welche Anwendung dahinter läuft und ob dort Sicherheitslücken und Schwachstellen zu vermuten sind.
 |  | ; Portscanner | 
|  | * Ein einfacher Port-Scanner wird alle Ports pauschal inzwei oder drei Zustände einteilen:
 |  | Scannen und Auswerten von Hosts in einem Rechnernetz | 
|  | # offen, 
 |  | 
|  | # geschlossen,
 |  | 
|  | # gefiltert (offen/geschlossen).
 |  | 
|  | 
 |  | 
 | 
|  | == Bedeutung der Ausgabe ==
 |  | ; Nmap ("Network Mapper")  | 
|  | * Der Zustand "Offen"bedeutet, dass eine Anwendung oder ein Dienst bereit ist TCP-Verbindungen oder UDP-Pakete auf diesem Port anzunehmen.
 |  | Werkzeug für die Netzwerkanalyse und Sicherheitsüberprüfung | 
|  | * Um Kommunikationsverbindungen betreiben zu können, bedarf es offener Ports. 
 |  | * Es wurde entworfen, um große Netzwerke Schnell zu scannen | 
|  | * Anzahl offener Ports begrenzen, umdie Angriffsfläche so klein wie möglich zuhalten. |  | * Funktioniert auch bei einzelnen Hosts | 
|  | * Offene Ports werden zusätzlich geschützt oder Verbindungsmöglichkeiten eingeschränkt.
 |  | 
|  | * Der Zustand "Geschlossen" bedeutet, dass keine Anwendung und kein Dienst an diesem Port auf eingehende Datenpakete und Verbindungsversuche lauscht bzw. hört. |  | 
|  | * Auf ihm sind keine Kommunikationsverbindungen möglich.
 |  | 
|  | * Ein geschlossener Port ist nur so lange geschlossen, wie eine Anwendung auf diesen Port hört und Verbindungen und Pakete annimmt.
 |  | 
|  | * Um offene, aber auchgeschlossene Ports zu schützen, setzen Systemadministratoren einen Portfilter (Firewall) ein.
 |  | 
|  | * So verhindert man z.B. die Verbindungsversuche durch Port-Scans.
 |  | 
|  | * Ein Port-Scan soll nur den Zustand eines Ports ermitteln, aber keine echte Verbindung aufbauen.
 |  | 
|  | * Weil er die dahinterliegende Anwendung nicht kennt, kann er nur Testpakete an einen Port schicken.
 |  | 
|  | * Der Filter verhindert, dass diese Testpakete durchkommen.
 |  | 
|  | * In der Regel werden diese Pakete verworfen.
 |  | 
|  | * Dann kann für diesen Port weder der Status "offen" oder "geschlossen" gelten.
 |  | 
|  | * Dafür gibt es den Zustand "gefiltert" oder "blockiert".
 |  | 
|  | 
 |  | 
 | 
|  | = Ziele festlegen =
 |  | ; Nmap benutzt rohe IP-Pakete | 
|  | * NMAP ist bei der Angabe des Scan-Ziels sehr flexibel.
 |  | Auf neuartige Weise, um festzustellen | 
|  | * Das kann ein Domain-Name sein,eine IP-Adresse oder ein ganzes Subnetz.
 |  | * welche Hosts im Netzwerk verfügbar sind | 
|  |     Domain: www. XXX.XX
 |  | * welche Dienste (Anwendungsname und -version) diese Hosts bieten | 
|  |     IP-Adresse: 192.168.1.1
 |  | * welche Betriebssysteme (und Versionen davon) darauf laufen | 
|  |     Subnetz: 192.168.1.1/24
 |  | * welche Art von Paketfiltern/-Firewalls benutzt werden | 
|  |     Subnetz: 192.168.1.*
 |  | * sowie Dutzende anderer Eigenschaften | 
|  | * Man sollte einen Port-Scan nicht auf ein ganzes Subnetz anwenden. |  | 
|  | * Ein ganzes Subnetz zu scannen, kann sehr lange dauern, wenn die Hostsgefilterte Ports haben.
 |  | 
|  | * Die Anzahl der Ports reicht von 1 bis 65.535.
 |  | 
|  | * NMAP scannt standardmäßig nur etwa 1.000 der meistgenutzten Ports, die in der Datenbank "nmap-services" aufgelistet sind.
 |  | 
|  | * Mit der Option "-F" (für engl. fast, dt. schnell)kann man den Port-Scan sogar auf die 100 meistgenutzten Ports beschränken. |  | 
|  | * Interessante Ports scannen mit der Option "-p": |  | 
|  | ** Für den Port 22 verwendet man die Option "-p22".
 |  | 
|  | ** Für die Ports 22, 25 und80 verwendet man die Option "-p22,25,80".
 |  | 
|  | ** Für die Ports von1 bis 100 verwendet man die Option "-p-100". |  | 
|  | ** Für die Ports von 80 bis 88 verwendet man die Option "-p80-88".
 |  | 
|  | ** Für alle Ports über 60.000 verwendet man die Option "-p60000-".
 |  | 
|  | ** Alle Ports von 1 bis 65.535 scannen: Option "-p-". |  | 
|  | 
 |  | 
 | 
|  | == Einzelne Rechner ==
 |  | ; Verwendung | 
|  | * Der Zielbereich ist eine einzelne IP-Adresse 
 |  | Auch wenn Nmap üblicherweise für Sicherheitsüberprüfungen verwendet wird | 
|  | * Standardmäßig arbeitet Nmap mit IPv4 (esgeht aber auch IPv6) |  | * wird es von vielen Systemen und Netzwerkadministratoren für Routineaufgaben benutzt | 
|  | [[Datei:nmap.jpg|zentriert]]
 |  | * beispielsweise | 
|  | * Hier wurde ein Linux-PC voneinem Windows-7-Rechner aus gescannt:
 |  | ** Netzwerkinventarisierung | 
|  | ** nmap 172.16.24.102 (Nmap scan report for) |  | ** Verwaltung von Ablaufplänen für Dienstaktualisierungen  | 
|  | * Die IP-Adresse gehört also dem Linux-Rechner, den wir mit Nmap auf offene Ports hin überprüfen. |  | ** Überwachung von Betriebszeiten von Hosts oder Diensten | 
|  | * Das Ergebnis: |  | 
|  | **997 Ports erkennt Nmap als geschlossen (closed ports) |  | 
|  | * Drei Ports sind offen: 
 |  | 
|  | ** Port 21 fürFTP (open ftp)
 |  | 
|  | ** Port 80 für einen Webserver (open http) und  |  | 
|  | ** Port 110 für POP3 (open pop3)
 |  | 
|  | 
 |  | 
 | 
|  | == Netzwerkbereiche ==
 |  | ; Ausgabe | 
|  | ===Bereich auswählen===
 |  | Die Ausgabe von Nmap ist eine Liste gescannter Ziele | 
|  | * Nmapbetrachtet alles in der Kommandozeile, was keine Option (oder ein Argument einer Option) ist, als Bezeichnung eines Zielhosts.
 |  | * Mit zusätzlicher Information zu jedem, abhängig von den benutzten Optionen | 
|  | * Der einfachste Fall ist die Beschreibung einer IP-Zieladresse oder eines Zielhostnamens zum Scannen. |  | ** Die entscheidende Information dabei steht in der "Tabelle der interessanten Ports" | 
|  | * Manchmal möchten Sie ein ganzes Netzwerk benachbarter Hosts scannen. |  | ** Diese Tabelle listet die Portnummer und das -protokoll sowie den Dienstnamen und -zustand auf | 
|  | * Dafür unterstützt Nmap Adressen im CIDR-Stil.  |  | ** Der Zustand ist entweder offen, gefiltert, geschlossen oder ungefiltert | 
|  | * Sie können an eine IPv4-Adresse oder einen Hostnamen angefügt werden, und Nmap wird alle IP-Adressen scannen, bei denen die ersten <numbits> mit denen der gegebenen IP oder des gegebenen Hostnamens übereinstimmen. |  | ** Offen bedeutet, dass auf diesem Port des Zielrechners eine | 
|  | * Z.B.: würde 192.168.10.0/24 die256 Hosts zwischen 192.168.10.0 (binär: 1100.0000.1010.1000.0000.1010.0000.0000) und192.168.10.255 (binär: 1100.0000.1010.1000.0000.1010.1111.1111, inklusive) scannen. |  | 
|  | * 192.168.10.40/24 würde genau dieselben Ziele scannen.
 |  | 
|  | * Dadurch, dass der Host
 |  | 
|  |   scanme.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. |  | 
|  | 
 |  | 
 | 
|  | ===Teilbereich auswählen=== |  | == Linzenz == | 
|  | * Die CIDR-Notation ist kurz, aber nicht immer flexibel genug.
 |  | * [[Open Source]] | 
|  | * So möchte man 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.
 |  | * [[Freie Software]] | 
|  | * Nmap unterstützt das in Form einer Oktett-Bereichsadressierung.
 |  | 
|  | * Statt eine normale IP-Adresse anzugeben, kann man eine mit Kommata getrennte Liste von Zahlen oder Bereichen für jedes Oktett angeben.
 |  | 
|  | * Z.B. ü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.
 |  | 
|  | * Im ersten Oktett dann '''0-''' benutzen, damit die Zielangabe nicht wie eine Kommandozeilenoption aussieht.
 |  | 
|  | * 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=== |  | == Anwendung == | 
|  | * IPv6-Adressen können nur durch ihre vollständige IPv6-Adresse oder ihren Hostnamen angegeben werden.
 |  | === Port-Zustände === | 
|  | * CIDR und Oktettbereiche werden für IPv6 nicht unterstützt, weil sie selten nützlich sind.
 |  | Anwendung auf eingehende Verbindungen/Pakete lauscht | 
|  | ===Zielauswahl=== |  | 
|  | * Auch wenn Ziele normalerweise in der Kommandozeile angegeben werden, gibt es auch die folgenden Optionen, um die Zielauswahl zu steuern:
 |  | 
|  |   -iL <inputfilename> (Eingabe aus einer Liste)
 |  | 
|  | * Eine sehr lange Liste von Hosts in der Kommandozeile anzugeben ist oft sehr umständlich, kommt aber sehr häufig vor.
 |  | 
|  | * Der DHCP-Server z.B. exportiert vielleicht eine Liste von 10.000 aktuellen Adresszuweisungen (engl. leases), die Sie scannen möchten.
 |  | 
|  | * Möchte man alle IP-Adressen außer denjenigen scannen, um Hosts zu finden, die unautorisierte statische IP-Adressen benutzen.
 |  | 
|  | * Die Liste der zu scannenden Hosts und übergibt deren Dateinamen als Argument zur Option '''-iL''' 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 man einen Bindestrich (-) als Dateinamen angibt, liest Nmap die Hosts von der Standardeingabe statt aus einer normalen Datei.
 |  | 
|  |   -iR <num hosts> (zufällige Auswahl von Zielen)
 |  | 
|  | ===Internetumfragen===
 |  | 
|  | * Für internetweite Umfragen und andere Forschungsaktivitäten möchte man Ziele vielleicht zufällig auswählen.
 |  | 
|  | * Das kann man mit der Option '''-iR''', 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. 
 |  | 
|  | ===Beispiele===
 |  | 
|  | * Befehl 
 |  | 
|  |   nmap -sS -PS80 -iR 0 -p 80
 |  | 
|  | sucht Webserver , auf denen man stöbern kann.
 |  | 
|  | *Befehl
 |  | 
|  |   --exclude <host1>[,<host2>[,...]] (Ziele ausklammern)
 |  | 
|  | 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.
 |  | 
|  | *Befehl
 |  | 
|  |   --excludefile<-exclude_file> (Liste aus Datei ausklammern)
 |  | 
|  | * Das bietet dieselbe Funktionalität wie die Option '''--exclude'''.
 |  | 
|  | * Unterschied: die ausgeklammerten Ziele in der mit Zeilenumbrüchen, Leerzeichen oder Tabulatoren getrennten Datei <exclude_file> statt aufder Kommandozeile angegeben werden.
 |  | 
|  | 
 |  | 
 | 
|  | = Dienste identifizieren = |  | {| class="wikitable options big" | 
|  | * Die Ports 25/tcp, 80/tcp und 53/udp offen sind.
 |  | |- | 
|  | * Dank der Datenbank in '''nmap-services''' gibt Nmap noch aus, dass diese Ports wahrscheinlich jeweils zu einem Mailserver (SMTP), Webserver (HTTP) und Nameserver (DNS) gehören.
 |  | ! Zustand !! Beschreibung | 
|  | * 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. 
 |  | |- | 
|  | * Eine genaue Versionsnummer hilft bei der Bestimmung der Exploits,für die einServer anfällig ist. |  | | Gefiltert ||  | 
|  | * Die Versionserkennung hilft Ihnen,an diese Information heranzukommen. |  | * Eine Firewall, ein Filter oder ein anderes Netzwerkhindernis blockiert den Port | 
|  | * Nachdem TCP- und/oder UDP-Portsmit einer der anderen Scan-Methoden entdeckt wurden,fragt dieVersionserkennung diese Ports ab. |  | * sodass [[nmap]] nicht festellen kenn, ob er offen oder geschlossen ist | 
|  | * Die Datenbank in '''nmap-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  |  | | Geschlossen || | 
|  | #Dienstprotokoll zu bestimmen (z.B. FTP, SSH, Telnet, HTTP), aberauch 
 |  | * Für geschlossene Ports gibt es keine Anwendung, die auf ihnen lauscht, auch wenn sie jederzeit geöffnet werden könnten | 
|  | #Anwendungsnamen (z.B. ISC BIND, Apache httpd, Solaris telnetd),
 |  | |- | 
|  | #Versionsnummer, 
 |  | | Ungefiltert || | 
|  | #Hostnamen, Gerätetyp (z.B. Drucker, Router),
 |  | * Als ungefiltert werden Ports dann klassifiziert, wenn sie auf Nmaps Testpakete antworten, Nmap aber nicht feststellen kann, ob sie offen oder gechlossen sind | 
|  | #dieBetriebssystemfamilie (z.B. Windows,Linux) und manchmal verschiedene Details: 
 |  | |- | 
|  | #etwa ob ein X-Server Verbindungen annimmt,
 |  | | <nowiki>offen|gefiltert</nowiki></br><nowiki>geschlossen|gefiltert</nowiki> ||  | 
|  | #die SSH-Protokollversion 
 |  | * Nmap gibt die Zustandskombinationen offen|gefiltert und geschlossen|gefiltert an, wenn es nicht feststellen kann, welcher der beiden Zustände für einen Port zutrifft | 
|  | #oder der KaZaA-Benutzername. 
 |  | |} | 
|  | 
 |  | 
 | 
|  |  | ; Details | 
|  |  | Die Port-Tabelle enthält eventuell auch Details zur Softwareversion, sofern eine Versionserkennung verlangt wurde | 
|  |  | * Wurde ein IP-Protokoll-Scan verlangt (-sO), dann bietet Nmap Angaben über die unterstützten IP-Protokolle statt über lauschende Ports | 
|  | 
 |  | 
 | 
|  | = Zenmap =
 |  | ; Weitere Informationen zum Ziel | 
|  | * Neben dertextbasierten Variante gibt es noch die grafische Benutzeroberfläche '''NmapFE''' zur komfortablen Einstellung von Nmap. 
 |  | 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 | 
|  | * Wurde mittlerweile durch die '''Zenmap''' genannte GUI abgelöst.
 |  | 
|  | [[Datei:Zenmap.png|zentriert|mini]]
 |  | 
|  | ==Scanergebnisse auslesen==
 |  | 
|  | * In der grafischen Oberfläche Zenmap lassen sich die Ergebnisse am besten auslesen[[https://www.security-insider.de/netzwerke-mit-nmap-und-zenmap-untersuchen-a-633527/]].
 |  | 
|  | * Nachdem ein Scanvorgang abgeschlossen ist,sind auf der linken Seite die Endpunkte zu finden,die Nmap gefunden undgescannt hat.
 |  | 
|  | * Mit den beiden Schaltflächen „Rechner“ und Dienste“ kann zwischen den gefundenen Endgeräten und den gefundenen Netzwerkdiensten gewechselt werden.
 |  | 
|  | * Im unteren Bereich kann das Ergebnis über die Schaltfläche „Rechner filtern“ noch besser gefiltert werden.
 |  | 
|  | * In der Mitte des Fensters sind verschiedene Registerkarten zu sehen, mit denen die Scanergebnisse besser untersucht werden können.
 |  | 
|  | * Auf der Registerkarte „Nmap-Ausgabe“ zeigt Zenmap z.B. das Ergebnis an, das Nmap auch in der Befehlszeile anzeigt.
 |  | 
|  | * Auf der Registerkarte „Ports/Rechner“ sind die gefundenen Ports zu sehen sowie weitere Informationen zum markierten Gerät.
 |  | 
|  | * Mit der Registerkarte kann jedes einzelne Gerät im Netzwerk überprüft werden.
 |  | 
|  | 
 |  | 
 | 
|  | ==Grafische Anzeige des Netzwerks== |  | === Beispiel === | 
|  | * Auf der Registerkarte „Netzstruktur“ kann Zenmap eine grafische Anzeige des Netzwerkes zur Verfügung stellen.
 |  | ; Typischer Nmap-Scan | 
|  | * Über die verschiedenen Schaltflächen „Rechnerbetrachter“, „Fischauge“ und „Steuerungen“ können verschiedene Einstellungen für die Anzeige der Rechner vorgenommen werden.
 |  | 
|  | * Die Grafik kann an dieser Stelle auch als PDF, PNG oder SVG gespeichert werden.
 |  | 
|  | * Auf der Registerkarte „Rechnereinzelheiten“ können Details zu einem Rechner angezeigt werden, die durch das Scannen erkannt wurden.
 |  | 
|  | * Zu den Informationen gehören Rechnernamen, das Betriebssystem, die geöffneten und geschlossenen Ports, den Zeitpunkt des Rechnerstarts und viele weitere Informationen.
 |  | 
|  | ==Scanergebnisse miteinander vergleichen==
 |  | 
|  | * Scanergebnisse lassen sich über den Menüpunkt Scan\Scan als Datei speichern. 
 |  | 
|  | * Mehrere solche Ergebnisse können mit Nmapauch verglichen werden, um Unterschiede zu erkennen.
 |  | 
|  | * Abgespeicherte Scanergebnisse werden mit dem Tool „ndiff“ verglichen.
 |  | 
|  | *  Der Befehl dazu ist ndiff <Datei1> <Datei2>.
 |  | 
|  | *  Ausführlichere Ergebnisse gibt Ndiff mit der Option „-v“ aus.
 |  | 
|  | * Ein solcher Vergleich lässt sich auch in Zenmap vornehmen.
 |  | 
|  | * Dazu wird in Zenmap das Menü Werkzeuge\Ergebnisse vergleichen verwendet.
 |  | 
|  | 
 |  | 
 | 
|  | = Ausgabe steuern = |  | <syntaxhighlight lang="bash" highlight="1" copy> | 
|  | ==Formate==
 |  | sudo nmap -A -T4 scanme.nmap.org | 
|  | * Nmap erzeugt seine Ausgabe in fünf verschiedenen Formaten.
 |  | </syntaxhighlight> | 
|  | * Das Standardformat heißt interaktive Ausgabe und wird an die Standardausgabe '''stdout''' gesendet.
 |  | 
|  | *  Es gibt auch die normale Ausgabe, die ähnlich zur interaktiven Ausgabe ist, außer dass sie weniger Laufzeitinformation und Warnungen ausgibt
 |  | 
|  | * Man geht davon aus, dass sie erst nach Abschluss des Scans analysiert wird und nicht, während sie noch läuft.
 |  | 
|  | * Die XML-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[[http://mikiwiki.org/wiki/grep]] Ausgaben, in der die meiste Information über einen Zielhost in einer einzigen Zeile enthalten ist.
 |  | 
|  | * Und '''sCRiPt KiDDi3 0utPUt''' für Benutzer, die sich selbst als '''root''' sehen.
 |  | 
|  | 
 |  | 
 | 
|  | ==Syntax== |  | {| class="wikitable options big" | 
|  | * Die interaktive Ausgabe ist standardmäßig vorgegeben und verfügt über keine eigenen Kommandozeilenoptionen.
 |  | |- | 
|  | * Die anderen vier Formate benutzen dieselbe Syntax.
 |  | ! Argument !! Beschreibung | 
|  | * 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.
 |  | | -A || Betriebssystem- und Versionserkennung, Script-Scanning, Traceroute | 
|  | * Eine normale Ausgabe für eine eigene Untersuchung speichern undeine XML-Ausgabe desselben Scans für eine programmbasierte Analyse.
 |  | |- | 
|  | * Das erreicht man mit den Optionen '''-oX myscan.xml''' und '''-oN myscan.nmap'''.
 |  | | -T4 || Schnellere Ausführung | 
|  | * Obwohl '''myscan.xml''' benutzt wird, empfehlen sich aussagekräftigere Namen.
 |  | |- | 
|  | * Der Befehl '''nmap -oX myscan.xml target XML'' speichert in '''myscan.xml'''.
 |  | | scanme.nmap.org || Zielhost | 
|  | * Mit einem Minuszeichen als Argument für eines der Formate eingeben. Dann schaltet Nmap die interaktive Ausgabe ab.
 |  | |} | 
|  | * Das heißt, der Befehl '''nmap-oX - target''' schreibt nur die XML-Ausgabe auf die Standardausgabe.
 |  | 
|  | * Nmap bietet auch Optionen zur Steuerung der Scan-Ausführlichkeit und Optionen, um an Ausgabedateien anzuhängen, statt sie zu überschreiben.
 |  | 
|  | 
 |  | 
 | 
|  | ==Nmap-Ausgabeformate== |  | ; Ausgabe | 
|  |   -oN <filespec>
 |  | <syntaxhighlight lang="bash" highlight="" line> | 
|  |  (normale Ausgabe)
 |  | Starting Nmap 7.95 ( https://nmap.org ) at 2025-05-31 10:49 CEST | 
|  | * Verlangt, dass eine normale Ausgabe in der angegebenen Datei gespeichert wird.
 |  | Nmap scan report for scanme.nmap.org (45.33.32.156) | 
|  | * Wie oben erwähnt, unterscheidet sich das leicht von der interaktiven Ausgabe.
 |  | Host is up (0.17s latency). | 
|  |   -oX <filespec> 
 |  | Other addresses for scanme.nmap.org (not scanned): 2600:3c01::f03c:91ff:fe18:bb2f | 
|  | (XML-Ausgabe) |  | Not shown: 994 closed tcp ports (reset) | 
|  | * Verlangt, dass eine XML-Ausgabe in der angegebenen Datei gespeichert wird.
 |  | PORT      STATE    SERVICE     VERSION | 
|  | * Nmap fügt eine DTD (Document Type Definition)hinzu, mit der XML-Parser Nmaps XML-Ausgabe validieren können.
 |  | 22/tcp    open     ssh         OpenSSH 6.6.1p1 Ubuntu 2ubuntu2.13 (Ubuntu Linux; protocol 2.0) | 
|  | * Diese ist für die Benutzung durch Programme gedacht, kann aber auch bei der Interpretation von Nmaps XML-Ausgabe helfen.
 |  | | ssh-hostkey: | 
|  | * Die DTD definiert die gültigen Elemente des Formats und zählt an vielen Stellen die dafür erlaubten Attribute und Werte auf.
 |  | |   1024 ac:00:a0:1a:82:ff:cc:55:99:dc:67:2b:34:97:6b:75 (DSA) | 
|  | * XML bietet ein stabiles Format, das man mit Software leicht parsen kann.
 |  | |   2048 20:3d:2d:44:62:2a:b0:5a:9d:b5:b3:05:14:c2:a6:b2 (RSA) | 
|  | * Solche XML-Parser sind für alle wichtigen Programmiersprachen wie C/C++, Perl, Python und Java verfügbar.
 |  | |   256 96:02:bb:5e:57:54:1c:4e:45:2f:56:4c:4a:24:b2:57 (ECDSA) | 
|  | * Beispiele sind Nmap::Scanner und Nmap::Parser für Perl in CPAN.
 |  | |_  256 33:fa:91:0f:e0:e1:7b:1f:6d:05:a2:b0:f1:54:41:56 (ED25519) | 
|  | ===Optionen===
 |  | 80/tcp    open     http        Apache httpd 2.4.7 ((Ubuntu)) | 
|  | * Die XML-Ausgabe verweist auf ein XSL-Stylesheet, mit dem man die Ergebnisse als HTML formatieren kann.
 |  | |_http-favicon: Nmap Project | 
|  | **Nutzung: XML-Ausgabe in einem Webbrowser wie Firefox oder IE laden.
 |  | |_http-server-header: Apache/2.4.7 (Ubuntu) | 
|  | ** Funktioniert nur auf dem Rechner, auf dem Sie Nmap ausgeführt haben (oder auf einem, der ähnlich konfiguriert ist).
 |  | |_http-title: Go ahead and ScanMe! | 
|  | ** Der Pfad zu '''nmap.xsl''' ist darin festkodiert.
 |  | 135/tcp   filtered msrpc | 
|  | ** Um portable XML-Dateien zu erzeugen, die auf allen mit dem Web verbundenen Rechnern als HTML angezeigt werden, nutzt man die Optionen '''--webxml''' oder '''--stylesheet'''.
 |  | 139/tcp   filtered netbios-ssn | 
|  | ====Optionen für Ausführlichkeit und Debugging====
 |  | 9929/tcp  open     nping-echo  Nping echo | 
|  |    -v |  | 31337/tcp open     tcpwrapped | 
|  |  (größere Ausführlichkeit)
 |  | Aggressive OS guesses: Linux 4.19 - 5.15 (98%), Linux 2.6.32 (94%), Linux 4.0 - 4.4 (94%), Linux 4.15 (94%), Linux 5.4 (94%), IPFire 2.27 (Linux 5.15 - 6.1) (94%), Linux 2.6.32 or 3.10 (93%), Linux 2.6.32 - 2.6.35 (92%), Linux 2.6.32 - 2.6.39 (92%), Linux 5.0 - 5.14 (91%) | 
|  | * Erhöht die Ausführlichkeit, d.h. Nmap gibt mehr Informationen über den laufenden Scan aus.
 |  | No exact OS matches for host (test conditions non-ideal). | 
|  | * Offene Ports werden angezeigt, direkt nachdem sie gefunden werden.
 |  | Network Distance: 22 hops | 
|  | * Es werden Schätzungen für die Dauer bis zur Fertigstellung angegeben.
 |  | Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel | 
|  | * Noch mehr Information erhält man, wenn man diese Option zweimal oder noch öfter angibt.
 |  | 
|  | * Allerdings gibt es in den anderen Modi einige Änderungen, bei denen die Ausgabegröße durch Weglassen einiger Details erheblich reduziert wird.
 |  | 
|  |    -d [level]  |  | 
|  | (erhöhe oder setze Debugging-Stufe) |  | 
|  | * Beim Debugging noch wesentlich mehr Daten bekommen.
 |  | 
|  | * Die Debug-Stufe auch als Argument an -d übergeben.So setzt z.B. -d9 die Stufe neun.
 |  | 
|  | * Das ist die höchste verfügbare Stufe.
 |  | 
|  |    --reason 
 |  | 
|  | (Gründe für Host- und Portzustände) |  | 
|  | * 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.
 |  | 
|  | * Die Information, die Nmap angeben kann, hängt von der Art des Scans oder Pings ab.
 |  | 
|  | * Der SYN-Scan und der SYN-Ping (-sS und -PS)sind sehr detailliert.
 |  | 
|  | * Der TCP-Connect-Scan (-sT) wird durch die Implementierung des connect-Systemaufrufs beschränkt. 
 |  | 
|  |    --stats-every <time>  |  | 
|  | (periodische Timing-Statistik ausgeben)
 |  | 
|  | * Gibt periodisch eine Timing-Statusmeldung nach einem Intervall der Länge <time> aus.
 |  | 
|  |   --packet-trace 
 |  | 
|  | (gesendete und empfangene Pakete und Daten mitverfolgen) |  | 
|  | * Bewirkt,dass Nmap für jedes gesendete oder empfangene Paket eine Zusammenfassung ausgibt.
 |  | 
|  |   --open 
 |  | 
|  | (zeige nur offene (oder möglicherweise offene)Ports an)
 |  | 
|  | * Manchmal interessieren nur offene Ports, und nicht Ports, die geschlossen,gefiltert und geschlossen|gefiltert sind.
 |  | 
|  |   --iflist 
 |  | 
|  | (liste Schnittstellen und Routen auf) |  | 
|  | * Gibt die Liste der Schnittstellen und Systemrouten aus,die Nmap entdeckt hat. .
 |  | 
|  |   --log-errors 
 |  | 
|  | (protokolliere Fehler/Warnungen in eine Datei im normalen Ausgabeformat) |  | 
|  | * Von Nmap ausgegebene Warnungen und Fehlermeldungen gehen nur auf den Bildschirm (interaktive Ausgabe).
 |  | 
|  | * Eine Alternative zu '''--log-error'''s ist die Umleitung der interaktiven Ausgabe (inklusive des Standardfehlerstroms) in eine Datei.
 |  | 
|  | ====Weitere Ausgabeoptionen====
 |  | 
|  |   --append-output 
 |  | 
|  | (an Ausgabedateien hinzufügen,statt sie zu überschreiben) |  | 
|  | *Wenn man einen Dateinamen für ein Ausgabeformat wie z.B.-oX oder -oN angibt,wird diese Datei standardmäßig überschrieben.
 |  | 
|  | * Wenn man deren Inhalt lieber behalten und die neuen Ergebnisse anhängen möchten, benutzen Sie die Option '''--append-output'''. .
 |  | 
|  |   --resume <filename> 
 |  | 
|  | (abgebrochenen Scan 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.
 |  | 
|  | *Es gibt 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. 
 |  | 
|  |   --stylesheet <path or URL> 
 |  | 
|  | (setze XSL-Stylesheet,um eine XML-Ausgabe zu transformieren) |  | 
|  | *Die Nmap-Distribution enthält ein XSL-Stylesheet namens '''nmap.xsl''' zum Betrachten oder Übersetzen einer XML-Ausgabe nach HTML.
 |  | 
|  |   --webxml 
 |  | 
|  | (lade Stylesheet von Nmap.Org) |  | 
|  | *Diese bequeme Option ist nur ein Alias für --stylesheet[[https://nmap.org/data/nmap.xsl]].
 |  | 
|  |   --no-stylesheet 
 |  | 
|  | (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.
 |  | 
|  | 
 |  | 
 | 
|  | = Weitere Informationen =
 |  | TRACEROUTE (using port 199/tcp) | 
|  |  | HOP RTT       ADDRESS | 
|  |  | 1   0.08 ms   OPNsense.localdomain (192.168.1.1) | 
|  |  | 2   12.58 ms  ip5b4210fe.dynamic.kabel-deutschland.de (91.66.16.254) | 
|  |  | 3   11.36 ms  ip53a9b3c6.static.kabel-deutschland.de (83.169.179.198) | 
|  |  | 4   15.19 ms  ip5886c088.static.kabel-deutschland.de (88.134.192.136) | 
|  |  | 5   14.70 ms  145.254.3.196 | 
|  |  | 6   20.72 ms  ae9-100-xcr1.hac.cw.net (195.89.99.1) | 
|  |  | 7   15.94 ms  ae9-100-xcr1.hac.cw.net (195.89.99.1) | 
|  |  | 8   23.11 ms  hbg-b2-link.ip.twelve99.net (80.239.193.100) | 
|  |  | 9   15.80 ms  hbg-bb3-link.ip.twelve99.net (62.115.120.70) | 
|  |  | 10  29.97 ms  ldn-bb2-link.ip.twelve99.net (62.115.122.161) | 
|  |  | 11  ... 12 | 
|  |  | 13  108.32 ms akamai-ic-371098.ip.twelve99-cust.net (62.115.38.45) | 
|  |  | 14  107.04 ms ae2.r01.lga01.icn.netarch.akamai.com (23.203.156.36) | 
|  |  | 15  124.00 ms ae26.r02.ord01.icn.netarch.akamai.com (23.32.62.118) | 
|  |  | 16  173.41 ms ae16.r02.sjc01.icn.netarch.akamai.com (23.193.113.29) | 
|  |  | 17  171.39 ms ae2.r12.sjc01.ien.netarch.akamai.com (23.207.232.41) | 
|  |  | 18  225.94 ms ae22.gw3.scz1.netarch.akamai.com (23.203.158.51) | 
|  |  | 19  ... 21 | 
|  |  | 22  169.40 ms scanme.nmap.org (45.33.32.156) | 
|  | 
 |  | 
 | 
|  | = Funktionen =
 |  | OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ . | 
|  | == Target Enumeration ==
 |  | Nmap done: 1 IP address (1 host up) scanned in 26.06 seconds</syntaxhighlight> | 
|  | * Target Enumeration ("Ziel-Aufzählung") ist keine eigenständige Funktion von NMAP, sondern eine Phase im Vorfeld des NMAP-Scannings.
 |  | 
|  | * In dieser Phase ermittelt NMAP aus der Zieladresse, die tatsächlich zu scannenden Hosts.
 |  | 
|  | * Die Zieladresse kann die IP-Adresse eines einzelnen Hosts sein oder ein ganzes Subnetz.
 |  | 
|  | * Im Fall eines Domain- oder Computernamens wird NMAP eine Adressauflösung durchführen.
 |  | 
|  | * Diese Phase lässt sich nicht überspringen, da für das Scannen die Zieladresse eindeutig sein muss.
 |  | 
|  | *  Ermittelt NMAP aus der Angabe des Benutzers mehrere Adressen, dann führt NMAP das Scanning auf alle diese Adressen aus.
 |  | 
|  | * Diesen Vorgang kann man nur dadurch vereinfachen, indem man explizit nur eine IP-Adresse angibt.
 |  | 
|  | 
 |  | 
 | 
|  | == Ping-Scanning (Host-Discovery) ==
 |  | 
|  | * Klassischer Ping-Scan (Network-Scan)
 |  | 
|  | 
 |  | 
 | 
|  |   nmap -PE -sn -oG - 192.168.0.1/24
 |  | 
|  | 
 |  | 
 | 
|  | * Der klassische Ping-Scan mit ICMP-Echo-Requests (-PE), aber ohne Port-Scan (-sn).
 |  | <noinclude> | 
|  | * Erweiterter Ping-Scan (Network-Scan)
 |  | 
|  | 
 |  | 
 | 
|  |   nmap -sP -oG -192.168.0.1/24
 |  | == Anhang == | 
|  |  | === Siehe auch === | 
|  |  | <div style="column-count:2"> | 
|  |  | <categorytree hideroot=on mode="pages">{{BASEPAGENAME}}</categorytree> | 
|  |  | </div> | 
|  |  | ---- | 
|  |  | {{Special:PrefixIndex/{{BASEPAGENAME}}/}} | 
|  | 
 |  | 
 | 
|  | * Dieser TCP-Ping-Scan ist eigentlich kein Ping-Scan, sondern eher eine sinnvolle Erweiterung zu einem klassischen Ping.
 |  | === Dokumentation === | 
|  | * Der TCP-Ping-Scan kombiniert den klassischen Ping (ICMP-Echo) mit dem TCP-SYN-Scan.
 |  | ; Man-Page  | 
|  | * Damit funktioniert der TCP-Ping-Scan manchmal besser als ein klassischer Ping bzw.ein einfacher ICMP-Echo-Request.
 |  | # [https://manpages.debian.org/bookworm/nmap/nmap.1.de.html nmap(1)] | 
|  | 
 |  | 
 | 
|  | == Port-Scanning ==
 |  | <!-- | 
|  | * Der Port-Scan ist die Hauptfunktion von NMAP. 
 |  | ; Info-Pages  | 
|  | * Hierbei testet NMAP die Port-Zustände des entfernten Hosts.
 |  | --> | 
|  | * Dabei geht es darum festzustellen, ob ein Port offen ist, also Verbindungsversuche annimmt.
 |  | 
|  | * Da der Port-Zustand "offen" nicht immer eindeutig zu bestimmen ist, stellt NMAP vielfältige Scan-Methoden und Algorithmen zu Verfügung.
 |  | 
|  | * Es geht darum, die Genauigkeit der Bestimmung von Port-Zuständen zu verbessern.
 |  | 
|  | * siehe "Anwendungsbeispiele" 11.10.3 bis 11.10.5
 |  | 
|  | 
 |  | 
 | 
|  | == Service- und Versionserkennung (Service Identification) == |  | === Links === | 
|  | * Die Versionserkennung wird mit den folgenden Optionen aktiviert und gesteuert:
 |  | ==== Projekt ==== | 
|  |   -sV 
 |  | # https://nmap.org | 
|  | (Versionserkennung)
 |  | 
|  | * Aktiviert die Versionserkennung wie oben beschrieben.
 |  | 
|  | * Alternativ dazu können Sie '''-A''' benutzen, was unter anderem auch die Versionserkennung aktiviert.
 |  | 
|  |   --allports 
 |  | 
|  | (keine Ports von der Versionserkennung ausschließen)
 |  | 
|  | * Standardmäßig schließt Nmaps Versionserkennung den TCP-Port 9100 aus.
 |  | 
|  | * Manche Drucker drucken alles aus, was an diesen Port gesendet wird.
 |  | 
|  | * Dieses Verhalten kann man ändern, indem man die Exclude-Anweisung in '''nmap-service-probes''' verändert oder entfernt.
 |  | 
|  | * Oder Sie geben '''--allports an''', um alle Ports zu scannen, unabhängig von einer Exclude-Anweisung. 
 |  | 
|  |   --version-intensity <intensity> 
 |  | 
|  | (Intensität des Versions-Scans setzen)
 |  | 
|  | * Bei einem Versions-Scan '''-sV''' sendet Nmap eine Reihe von Testpaketen, die alle über einen zugeordneten Seltenheitswert zwischen eins und neun verfügen.
 |  | 
|  | 
 |  | 
 | 
|  | ==Versionsvariantnen== |  | ==== Weblinks ==== | 
|  |   --version-light
 |  | # https://de.wikipedia.org/wiki/Nmap | 
|  | (leichten Modus setzen)
 |  | 
|  | * Das ist ein Alias für '''--version-intensity 2''' aus Bequemlichkeitsgründen. 
 |  | 
|  | * Dieser leichte Modus macht die Versionserkennung wesentlich schneller, identifiziert die Dienste aber mit geringerer Wahrscheinlichkeit.
 |  | 
|  |   --version-all
 |  | 
|  | (benutze alle Testpakete)
 |  | 
|  | * Das ist ein Alias für'''--version-intensity 9''', der garantiert, dass jedes einzelne Testpaket bei jedem Port ausprobiert wird.
 |  | 
|  |   --version-trace
 |  | 
|  | (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 '''--packet-trace''' erhalten.
 |  | 
|  |   -sR (RPC-Scan)
 |  | 
|  | * Diese Methode funktioniert zusammen mit den verschiedenen Port-Scan-Methoden von Nmap.
 |  | 
|  | * Dadurch kann man 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).
 |  | 
|  |   |  | 
|  | == Betriebssystemerkennung (OS Identification) == |  | 
|  |   |  | 
|  | =Scan-Typen=
 |  | 
|  | ==Ping-Scan==
 |  | 
|  | 1.ICMP-Echo-Ping (klassischer Ping)
 |  | 
|  |  nmap -PE 10.10.0.1 für Subnet  nmap -PE 10.10.0.1/24 oder  nmap -PE 10.10.0.*
 |  | 
|  | 2. TCP-Ping-Scan
 |  | 
|  |  nmap -sn 10.10.0.1
 |  | 
|  | 3. TCP-SYN-Ping
 |  | 
|  |  nmap -PS 10.10.0.1
 |  | 
|  | 4. TCP-ACK-Ping
 |  | 
|  | nmap -PA 10.10.0.1
 |  | 
|  | 5. UDP-Ping
 |  | 
|  |  nmap -PU 10.10.0.1
 |  | 
|  | 6. ICMP-Timestamp-Scan
 |  | 
|  |  nmap -PT 10.10.0.1
 |  | 
|  | 7. ICMP-Address-Scan
 |  | 
|  |  nmap -PM 10.10.0.1
 |  | 
|  |   |  | 
|  | ==TCP-Full-Connect-Scan==
 |  | 
|  | * Connect-Scan verwendet den gleichnamigen Systemaufruf zum Scannen von Rechnern, anstatt sich auf rohe Pakete zu verlassen, wie es die meisten anderen Methoden tun. 
 |  | 
|  | * Es wird normalerweise von unprivilegierten Unix-Benutzern und gegen IPv6-Ziele verwendet, da der SYN-Scan in diesen Fällen nicht funktioniert.
 |  | 
|  |   |  | 
|  |  nmap -sT 10.10.0.1
 |  | 
|  |   |  | 
|  | == TCP-SYN-Scan ==
 |  | 
|  | * Dies ist bei weitem der populärste Scan-Typ, weil es die schnellste Art ist, Ports des populärsten Protokolls (TCP) zu scannen. 
 |  | 
|  | * Er ist stealthier als der Verbindungs-Scan, und er funktioniert gegen alle funktionierenden TCP-Stapel (im Gegensatz zu einigen Spezial-Scans wie dem FIN-Scan).
 |  | 
|  | 
 |  | 
 | 
|  |  nmap-sS 10.10.0.1
 |  | [[Kategorie:nmap]] | 
|  | 
 |  | 
 | 
|  | 3. TCP-FIN-Scan
 |  | {{DEFAULTSORT:nmap}} | 
|  |  nmap-sF 10.10.0.1
 |  | {{DISPLAYTITLE:nmap}} | 
|  | 4. TCP-XMAS-Scan
 |  | 
|  |  nmap -sX 10.10.0.1
 |  | 
|  | 5. TCP-NULL-Scan
 |  | 
|  |  nmap-sN 10.10.0.1
 |  | 
|  | 
 |  | 
 | 
|  | ==UDP-Scan==
 |  | </noinclude> | 
|  | UDP-Ports bieten viele Sicherheitslücken
 |  | 
|  |   |  | 
|  |  nmap -sU 10.10.0.1
 |  | 
|  |   |  | 
|  | == TCP-ACK-Scan ==
 |  | 
|  | * Der ACK-Scan wird häufig zur Abbildung von Firewall-Regelsätzen verwendet. 
 |  | 
|  | * Insbesondere hilft er zu verstehen, ob Firewall-Regeln zustandsbehaftet sind oder nicht. 
 |  | 
|  | * Der Nachteil ist, dass er nicht zwischen offenen und geschlossenen Ports unterscheiden kann.
 |  | 
|  |   |  | 
|  |  nmap -sA 10.10.0.1
 |  | 
|  |   |  | 
|  | == TCP-Window-Scan ==
 |  | 
|  |   |  | 
|  | Der Window-Scan ist wie der ACK-Scan, außer dass er in der Lage ist, offene gegenüber geschlossenen Ports gegen bestimmte Rechner zu erkennen.
 |  | 
|  |  nmap -sW 10.10.0.1
 |  | 
|  |   |  | 
|  | == TCP-Maimon-Scan ==
 |  | 
|  |   |  | 
|  | Dieser obskure Firewall-evading-Scan-Typ ähnelt einem FIN-Scan, enthält aber auch das ACK-Flag. Dadurch kann er durch mehr Paketfilter-Firewalls hindurchkommen, mit dem Nachteil, dass er gegen noch weniger Systeme funktioniert als der FIN-Scan.
 |  | 
|  |  nmap -sM 10.10.0.1
 |  | 
|  |   |  | 
|  | == TCP-Idle-Scan ==
 |  | 
|  | * Der Leerlauf-Scan ist der heimlichste Scan-Typ von allen und kann manchmal vertrauenswürdige IP-Adressenbeziehungen ausnutzen.
 |  | 
|  | * Leider ist er auch langsam und komplex.
 |  | 
|  |  nmap -sI 10.10.0.1
 |  | 
|  |   |  | 
|  | == IP-Protokoll-Scan==
 |  | 
|  | * Protokoll-Scan bestimmt, welche IP-Protokolle (TCP, ICMP, IGMP usw.) vom Zielcomputer unterstützt werden. 
 |  | 
|  | * Technisch gesehen handelt es sich hierbei nicht um einen Port-Scan, da die IP-Protokollnummern und nicht die TCP- oder UDP-Portnummern durchlaufen werden. 
 |  | 
|  | * Dennoch verwendet er nach wie vor die Option -p zur Auswahl der gescannten Protokollnummern.
 |  | 
|  | * Meldet seine Ergebnisse mit dem normalen Port-Tabellenformat.
 |  | 
|  | * Verwendet sogar dasselbe zugrunde liegende Scan-Modul wie die echten Port-Scan-Methoden. 
 |  | 
|  | * Es ist also nahe genug an einem Port-Scan, dass es hierher gehört.
 |  | 
|  |  nmap -sO 10.10.0.1
 |  | 
|  |   |  | 
|  | * Ohne Angaben werden die 1000 wichtigsten Ports gescannt.
 |  | 
|  | *-F steht für die 100 wichtigsten Ports
 |  | 
|  | *-p steht für Port selektiv ( -p25 oder -p25-100 oder -p25,80,100 oder alle Ports über -p6000-)
 |  | 
|  | *-p- um alle Ports zu scannen.
 |  | 
|  |   |  | 
|  | ===OS & Service Identication mit NMAP===
 |  | 
|  | 1. OS-Scan (OS-Detection)
 |  | 
|  |  nmap -O 10.10.0.1
 |  | 
|  | 2. Service-Scan /Versions-Scan
 |  | 
|  |  nmap -sV 10.10.0.1
 |  | 
|  | 3. RPC-Scan
 |  | 
|  |  nmap -sR 10.10.0.1
 |  | 
|  | 4. Kombinierter OS- & Service-Scan
 |  | 
|  |  nmap -O -sV 10.10.0.1
 |  | 
|  |   |  | 
|  | ==Anwendungsbeispiele==
 |  | 
|  | 1. Klassischer Ping-Scan
 |  | 
|  |  nmap -PE -sn -oG – 10.10.0.1/24
 |  | 
|  | 2. Erweiterter Ping-Scan
 |  | 
|  |  nmap -sP -oG – 10.10.0.1/24
 |  | 
|  | 3. SYN-TOP100-Port-Scan
 |  | 
|  |  nmap -sS -F 10.10.0.1
 |  | 
|  | 4. SYN/Version-All-Port-without-Ping-Scan
 |  | 
|  |  nmap -sV -Pn -p0- --reason --stats-every 60s 10.10.0.1
 |  | 
|  | 5. Aggressive-All-Host-All-Port-Scan
 |  | 
|  |  nmap -sV -Pn -p0- -T4 -A -oG - --reason --stats-every 60s 10.10.0.1/24
 |  | 
|  | 6. TCP-ACK-Scan
 |  | 
|  |  nmap -sA -F 10.10.0.1
 |  | 
|  | 7. TCP-FIN-Scan
 |  | 
|  |  nmap -sF -F 10.10.0.1
 |  | 
|  | 8. UDP-Port-Scan
 |  | 
|  |  nmap -sU -F 10.10.0.1
 |  | 
|  | 9. UDP-All-Port-Scan
 |  | 
|  |  nmap -sU -p0- --reason --stats-every 60s --max-rtt-timeout 100ms --max-retrie 1 10.10.0.1
 |  | 
|  | 10. List-Scan
 |  | 
|  |  nmap -sL 10.10.0.1/24
 |  | 
|  | =Links=
 |  | 
|  | ==intern==
 |  | 
|  | ==extern==
 |  | 
|  | # https://de.wikipedia.org/wiki/Nmap
 |  | 
|  | # http://translate.google.com/translate?hl=de&sl=auto&tl=de&u=https%3A%2F%2Fnmap.org%2Fbook%2Finst-windows.html
 |  | 
|  | # https://de.wikipedia.org/wiki/Classless_Inter-Domain_Routing
 |  | 
|  | # https://www.security-insider.de/netzwerke-mit-nmap-und-zenmap-untersuchen-a-633527/
 |  | 
|  | # http://mikiwiki.org/wiki/grep 
 |  | 
|  | # https://svn.nmap.org/nmap/docs/nmap.xsl
 |  | 
|  | * https://www.elektronik-kompendium.de/sites/net/2103061.htm
 |  | 
|  | * https://nmap.org/man/de/man-target-specification.html
 |  | 
|  | * https://nmap.org/man/de/man-output.html
 |  | 
|  | * https://www.elektronik-kompendium.de/sites/net/2103021.htm
 |  | 
|  | =Bildnachweis=
 |  | 
|  | * Alle Bilder aus MediaWiki: https://www.mediawiki.org/wiki/MediaWiki/de,
 |  | 
|  | * damit frei und offen
 |  |