Nmap/Ausgabe: Unterschied zwischen den Versionen

Aus Foxwiki
Keine Bearbeitungszusammenfassung
K Textersetzung - „z.B.“ durch „z. B. “
Zeile 53: Zeile 53:
   -d [level]
   -d [level]
* Beim Debugging noch wesentlich mehr Daten bekommen.
* Beim Debugging noch wesentlich mehr Daten bekommen.
* Die Debug-Stufe auch als Argument an -d übergeben. So setzt z.B. -d9 die Stufe neun.
* 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.
* Das ist die höchste verfügbare Stufe.
; Gründe für Host- und Portzustände
; Gründe für Host- und Portzustände
Zeile 82: Zeile 82:
   --append-output
   --append-output
(an Ausgabedateien hinzufügen, statt sie zu überschreiben)
(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 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'''. .
* Wenn man deren Inhalt lieber behalten und die neuen Ergebnisse anhängen möchten, benutzen Sie die Option '''--append-output'''. .
   --resume <filename>
   --resume <filename>
Zeile 128: Zeile 128:
Die interaktive Ausgabe ist standardmäßig vorgegeben und verfügt über keine eigenen Kommandozeilenoptionen, aber die anderen vier Formate benutzen
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
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
angegeben werden, aber jedes nur einmal. Vielleicht möchten Sie z.&nbsp;B.&nbsp; 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 -oX myscan.xml -oN myscan.nmap. Auch wenn in
XML-Ausgabe desselben Scans für eine programmbasierte Analyse. Das erreichen Sie mit den Optionen -oX myscan.xml -oN myscan.nmap. 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
diesem Kapitel der Kürze wegen einfache Namen wie myscan.xml benutzt werden, empfehlen sich im Allgemeinen aussagekräftigere Namen. Welche Namen Sie
Zeile 141: Zeile 141:
ausgegeben.
ausgegeben.


Anders als bei anderen Nmap-Argumenten ist das Leerzeichen zwischen dem Options-Flag für eine Ausgabedatei (z.B. -oX) und dem Dateinamen oder
Anders als bei anderen Nmap-Argumenten ist das Leerzeichen zwischen dem Options-Flag für eine Ausgabedatei (z.&nbsp;B.&nbsp; -oX) und dem Dateinamen oder
Minuszeichen obligatorisch. Falls Sie die Leerzeichen weglassen und Argumente wie z.B. -oG- oder -oXscan.xml angeben, erzeugt Nmap aus Gründen der
Minuszeichen obligatorisch. Falls Sie die Leerzeichen weglassen und Argumente wie z.&nbsp;B.&nbsp; -oG- oder -oXscan.xml angeben, erzeugt Nmap aus Gründen der
Rückwärtskompatibilität Ausgabedateien im normalen Format, die jeweils die Namen G- und Xscan.xml haben.
Rückwärtskompatibilität Ausgabedateien im normalen Format, die jeweils die Namen G- und Xscan.xml haben.


Zeile 209: Zeile 209:
     Aus Gründen der Bequemlichkeit können Sie Scan-Ergebnisse mit -oA basename gleichzeitig in normalem, in XML- und in grepbarem Format speichern.
     Aus Gründen der Bequemlichkeit können Sie Scan-Ergebnisse mit -oA basename 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
     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.
     ein Präfix mit einem Verzeichnispfad darin setzen, z.&nbsp;B.&nbsp; ~/nmaplogs/foocorp/ unter Unix oder c:\hacking\sco unter Windows.


Optionen für Ausführlichkeit und Debugging
Optionen für Ausführlichkeit und Debugging
Zeile 227: Zeile 227:
     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
     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 (-v) wird auch das Debugging mit einem Kommandozeilen-Flag eingeschaltet (-d), und die Debug-Stufe kann durch eine
     Ausführlichkeits-Option (-v) wird auch das Debugging mit einem Kommandozeilen-Flag eingeschaltet (-d), und die Debug-Stufe kann durch eine
     mehrfache Angabe gesteigert werden. Alternativ dazu können Sie eine Debug-Stufe auch als Argument an -d übergeben. So setzt z.B. -d9 die Stufe
     mehrfache Angabe gesteigert werden. Alternativ dazu können Sie eine Debug-Stufe auch als Argument an -d übergeben. So setzt z.&nbsp;B.&nbsp; -d9 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
     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.
     Zielen ausführen.
Zeile 239: Zeile 239:
--reason (Gründe für Host- und Portzustände)
--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.
     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
     Diese Option zeigt die Paketart an, die einen Port- oder Hostzustand ermittelt hat, z.&nbsp;B.&nbsp; 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
     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 (-sS und -PS) sind sehr detailliert, aber der TCP-Connect-Scan (-sT) wird durch die Implementierung des connect-Systemaufrufs
     der SYN-Ping (-sS und -PS) sind sehr detailliert, aber der TCP-Connect-Scan (-sT) wird durch die Implementierung des connect-Systemaufrufs
Zeile 247: Zeile 247:
--stats-every time (periodische Timing-Statistik ausgeben)
--stats-every time (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
     Gibt periodisch eine Timing-Statusmeldung nach einem Intervall der Länge time aus. Dabei kann diese Zeitangabe beschrieben werden, wie in
     „TIMING UND PERFORMANCE“ dargestellt, d.h. Sie können z.B. --stats-every 10s benutzen, um alle 10 Sekunden eine Statusaktualisierung zu
     „TIMING UND PERFORMANCE“ dargestellt, d.h. Sie können z.&nbsp;B.&nbsp; --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.
     erhalten. Diese erscheint in der interaktiven Ausgabe (auf dem Bildschirm) und in der XML-Ausgabe.


Zeile 253: Zeile 253:
     Bewirkt, dass Nmap für jedes gesendete oder empfangene Paket eine Zusammenfassung ausgibt. Das wird bei der Fehlersuche oft gemacht, ist aber
     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
     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 -p20-30. Wenn Sie nur wissen
     Zeilen ausgegeben werden, möchten Sie vielleicht eine beschränkte Anzahl zu scannender Ports angeben, z.&nbsp;B.&nbsp; mit -p20-30. Wenn Sie nur wissen
     möchten, was im Versionserkennungssubsystem vor sich geht, benutzen Sie stattdessen --version-trace. Wenn Sie nur an einer Script-Mitverfolgung
     möchten, was im Versionserkennungssubsystem vor sich geht, benutzen Sie stattdessen --version-trace. Wenn Sie nur an einer Script-Mitverfolgung
     interessiert sind, geben Sie --script-trace an. Mit --packet-trace erhalten Sie all das zusammen.
     interessiert sind, geben Sie --script-trace an. Mit --packet-trace erhalten Sie all das zusammen.
Zeile 266: Zeile 266:
--iflist (liste Schnittstellen und Routen auf)
--iflist (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
     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).
     fehlerhaften Gerätebeschreibungen (z.&nbsp;B.&nbsp; wenn Nmap eine PPP-Verbindung als Ethernet behandelt).


--log-errors (protokolliere Fehler/Warnungen in eine Datei im normalen Ausgabeformat)
--log-errors (protokolliere Fehler/Warnungen in eine Datei im normalen Ausgabeformat)
Zeile 283: Zeile 283:


--append-output (an Ausgabedateien hinzufügen, statt sie zu überschreiben)
--append-output (an Ausgabedateien hinzufügen, statt sie zu überschreiben)
     Wenn Sie einen Dateinamen für ein Ausgabeformat wie z.B. -oX oder -oN angeben, wird diese Datei standardmäßig überschrieben. Wenn Sie deren
     Wenn Sie einen Dateinamen für ein Ausgabeformat wie z.&nbsp;B.&nbsp; -oX oder -oN 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 --append-output. Dann wird bei allen angegebenen
     Inhalt lieber behalten und die neuen Ergebnisse anhängen möchten, benutzen Sie die Option --append-output. Dann wird bei allen angegebenen
     Ausgabedateinamen dieses Nmap-Aufrufs an die Dateien angehängt, statt sie zu überschreiben. Mit XML-Scandaten (-oX) funktioniert das nicht so
     Ausgabedateinamen dieses Nmap-Aufrufs an die Dateien angehängt, statt sie zu überschreiben. Mit XML-Scandaten (-oX) funktioniert das nicht so

Version vom 19. Mai 2023, 15:31 Uhr

Ausgabe steuern

Formate

  • Nmap erzeugt seine Ausgabe in fünf verschiedenen Formaten.
  • 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 einfache grepbare[1] 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

  • Die interaktive Ausgabe ist standardmäßig vorgegeben und verfügt über keine eigenen Kommandozeilenoptionen.
  • 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.
  • Eine normale Ausgabe für eine eigene Untersuchung speichern und eine XML-Ausgabe desselben Scans für eine programmbasierte Analyse.
  • Das erreicht man mit den Optionen -oX myscan.xml und -oN myscan.nmap.
  • Obwohl myscan.xml benutzt wird, empfehlen sich aussagekräftigere Namen.
  • Der Befehl nmap -oX myscan.xml target XML speichert in myscan.xml'.
  • 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

Normale Ausgabe

 -oN <filespec>
  • 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

 -oX <filespec>
  • 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 für die Benutzung durch Programme gedacht, kann aber auch 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.
  • 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 verfügbar.
  • Beispiele sind Nmap::Scanner und Nmap::Parser für Perl in CPAN.

Optionen

  • Die XML-Ausgabe verweist auf ein XSL-Stylesheet, mit dem man die Ergebnisse als HTML formatieren kann.
    • Nutzung: XML-Ausgabe in einem Webbrowser wie Firefox oder IE laden.
    • Funktioniert nur auf dem Rechner, auf dem Sie Nmap ausgeführt haben (oder auf einem, der ähnlich konfiguriert ist).
    • Der Pfad zu nmap.xsl ist darin festkodiert.
    • 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.
Optionen für Ausführlichkeit und Debugging
Größere Ausführlichkeit
 -v
  • 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.
  • Es werden Schätzungen für die Dauer bis zur Fertigstellung angegeben.
  • 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.
Erhöhe oder setze Debugging-Stufe
 -d [level]
  • 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.
Gründe für Host- und Portzustände
  --reason
  • 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.
Periodische Timing-Statistik ausgeben
 --stats-every 
  • Gibt periodisch eine Timing-Statusmeldung nach einem Intervall der Länge

Gesendete und empfangene Pakete und Daten mitverfolgen

 --packet-trace
  • Bewirkt, dass Nmap für jedes gesendete oder empfangene Paket eine Zusammenfassung ausgibt.

Zeige nur offene (oder möglicherweise offene) Ports an

 --open
  • Manchmal interessieren nur offene Ports, und nicht Ports, die geschlossen, gefiltert und geschlossen|gefiltert sind

Liste Schnittstellen und Routen auf

 --iflist
  • Gibt die Liste der Schnittstellen und Systemrouten aus, die Nmap entdeckt hat.
Protokolliere Fehler/Warnungen in eine Datei im normalen Ausgabeformat .
 --log-errors
  • Von Nmap ausgegebene Warnungen und Fehlermeldungen gehen nur auf den Bildschirm (interaktive Ausgabe).
  • Eine Alternative zu --log-errors 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[2].
 --no-stylesheet

(lasse XSL-Stylesheet-Deklaration im XML weg)

  • Gibt man die Option an, dann wird Nmap in seiner XML-Ausgabe auf keinerlei XSL-Stylesheet verweisen.
  • Die xml-stylesheet-Anweisung wird dann weggelassen.

AUSGABE

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 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, weil man davon ausgeht, dass sie erst nach Abschluss des Scans analysiert wird und nicht, während er 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 Ausgabe, 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 |<-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 -oX myscan.xml -oN myscan.nmap. 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 -oX 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. Ernste Fehler werden weiterhin auf den normalen Standardfehlerstrom, stderr, ausgegeben.

Anders als bei anderen Nmap-Argumenten ist das Leerzeichen zwischen dem Options-Flag für eine Ausgabedatei (z. B.  -oX) und dem Dateinamen oder Minuszeichen obligatorisch. Falls Sie die Leerzeichen weglassen und Argumente wie z. B.  -oG- oder -oXscan.xml 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-ähnliche 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 -oX 'scan-%T-%D.xml' 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

-oN filespec (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.

-oX filespec (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 https://nmap.org/data/nmap.dtd 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[10]
   und Nmap::Parser[11]
   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 --webxml oder --stylesheet benutzen.

-oS filespec (ScRipT KIdd|3-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“.

-oG filespec (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) 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 https://nmap.org/book/output-formats-grepable-output.html.

-oA basename (Ausgabe in allen Formaten)

   Aus Gründen der Bequemlichkeit können Sie Scan-Ergebnisse mit -oA basename 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

-v (größere 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.
   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.

-d [level] (erhöhe oder setze Debugging-Stufe)

   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 (-v) wird auch das Debugging mit einem Kommandozeilen-Flag eingeschaltet (-d), und die Debug-Stufe kann durch eine
   mehrfache Angabe gesteigert werden. Alternativ dazu können Sie eine Debug-Stufe auch als Argument an -d übergeben. So setzt z. B.  -d9 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). zu erfragen.
   Manche Einträge sind selbsterklärend, aber je höher die Debug-Stufe ist, desto obskurer werden die Meldungen.

--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, 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 (-sS und -PS) sind sehr detailliert, aber der TCP-Connect-Scan (-sT) wird durch die Implementierung des connect-Systemaufrufs
   beschränkt. Dieses Merkmal wird automatisch von der Debug-Option (-d) aktiviert, und die Ergebnisse werden auch dann in XML-Protokolldateien
   gespeichert, wenn diese Option gar nicht angegeben wird.

--stats-every time (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
   „TIMING UND PERFORMANCE“ 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.

--packet-trace (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 -p20-30. Wenn Sie nur wissen
   möchten, was im Versionserkennungssubsystem vor sich geht, benutzen Sie stattdessen --version-trace. Wenn Sie nur an einer Script-Mitverfolgung
   interessiert sind, geben Sie --script-trace an. Mit --packet-trace erhalten Sie all das zusammen.

--open (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
   --open 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.

--iflist (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).

--log-errors (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 -oN 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 --log-errors 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

--append-output (an Ausgabedateien hinzufügen, statt sie zu überschreiben)

   Wenn Sie einen Dateinamen für ein Ausgabeformat wie z. B.  -oX oder -oN 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 --append-output. Dann wird bei allen angegebenen
   Ausgabedateinamen dieses Nmap-Aufrufs an die Dateien angehängt, statt sie zu überschreiben. Mit XML-Scandaten (-oX) funktioniert das nicht so
   gut, da die erzeugte Datei im Allgemeinen nicht mehr sauber geparst wird, es sei denn, Sie reparieren sie von Hand.

--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.
   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 (-oN) oder ein grepbares (-oG) 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 --resume 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.

--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.
   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 --stylesheet an. Dabei müssen Sie den vollständigen Pfadnamen oder die URL angeben. Sehr häufig wird --stylesheet
   https://nmap.org/data/nmap.xsl benutzt. Das sagt einem Browser, dass er die neueste Version des Stylesheets von Nmap.Org laden soll. Die Option
   --webxml 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.

--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.