Skip to main content

2.7 Nmap im autorisierten Netz – Hosts, Ports und Dienste untersuchen

Ziel dieser Seite

Nmap ist ein Werkzeug zur aktiven Netzwerkerkundung und Portanalyse. Administratoren können damit unter anderem prüfen:

  • welche Systeme in einem autorisierten Netz erreichbar sind;
  • welche TCP- und UDP-Ports antworten;
  • welche Dienste an diesen Ports angeboten werden;
  • welche Dienstversionen wahrscheinlich verwendet werden;
  • ob eine Firewall Pakete verwirft oder zurückweist;
  • ob ein Dienst nur lokal oder auch aus einem anderen Netzsegment erreichbar ist;
  • ob sich die Erreichbarkeit nach einer Änderung verbessert oder verschlechtert hat;
  • ob ein dokumentierter Sollzustand mit dem tatsächlich sichtbaren Zustand übereinstimmt.

Nmap sendet aktiv Pakete oder Verbindungsversuche an Zielsysteme. Es ist daher kein rein passives Diagnosewerkzeug.

Nmap darf ausschließlich gegen eigene Systeme oder mit eindeutiger Genehmigung des zuständigen Betreibers verwendet werden. Vor einem Scan müssen Zielbereich, Zeitraum, Scanart, Quellsystem und zulässige Intensität festgelegt werden.


Kennzeichnungen

KennzeichnungBedeutung
[RO]Lokale Abfrage ohne Netzwerkprüfung
[TEST]Aktiver Netzwerk- oder Diensttest
[PRIV]Erhöhte Berechtigungen können erforderlich sein
[FILE]Befehl erstellt oder verarbeitet Dateien
[SENS]Ausgabe kann sensible Infrastrukturinformationen enthalten
[DISRUPT]Test kann Dienste, Geräte oder Überwachungssysteme belasten
[CHANGE]Befehl verändert eine Einstellung oder Datei

1. Wofür sollte Nmap in der Fehleranalyse verwendet werden?

Geeignete und ungeeignete Einsatzbereiche anzeigen

Geeignete administrative Aufgaben

AufgabeBeispiel
Einzelnen Dienst prüfenIst TCP-Port 443 vom Clientnetz erreichbar?
Erreichbare Systeme erfassenWelche freigegebenen Testsysteme antworten im VLAN?
Firewalländerung kontrollierenIst der freigegebene Port nach der Regeländerung erreichbar?
Dienstinventar vergleichenStimmen offene Ports mit der Dokumentation überein?
DienstidentifikationWelcher Dienst antwortet tatsächlich auf einem Port?
TCP und UDP unterscheidenAntwortet nur TCP oder auch UDP?
Erreichbarkeit aus verschiedenen Segmenten vergleichenIst der Dienst intern erreichbar, aus dem Gastnetz aber gefiltert?
Fehlerzustand dokumentierenWelche Ergebnisse waren vor und nach einer Änderung sichtbar?

Nmap ist nicht geeignet für

  • Scans fremder öffentlicher Systeme ohne Erlaubnis;
  • unkontrollierte Scans kompletter Unternehmensnetze;
  • das Umgehen von Firewalls oder Überwachungssystemen;
  • Verschleierungs-, Spoofing- oder Tarntechniken im normalen Administrationsbetrieb;
  • Brute-Force-, Exploit- oder Denial-of-Service-Tests;
  • den Nachweis, dass ein Dienst fachlich korrekt funktioniert;
  • die alleinige Entscheidung, ob ein System sicher ist.

Ein offener Port beweist nur, dass aus Sicht des Scanstandorts eine entsprechende Antwort empfangen wurde. Er beweist nicht, dass:

  • die Anwendung vollständig funktioniert;
  • die Anwendung korrekt konfiguriert ist;
  • eine Benutzeranmeldung möglich ist;
  • der Dienst keine Sicherheitslücken besitzt;
  • alle Clients denselben Netzwerkpfad verwenden.

2. Wie wird Nmap auf Windows, Linux und macOS geprüft?

Installations- und Versionsprüfung anzeigen
AufgabeWindowsLinuxmacOS
Programmpfad suchen[RO] Get-Command nmap[RO] command -v nmap[RO] command -v nmap
Version anzeigen[RO] nmap --version[RO] nmap --version[RO] nmap --version
Hilfe anzeigen[RO] nmap -h[RO] nmap -h[RO] nmap -h
Lokale HandbuchseiteNicht standardmäßig vorhanden[RO] man nmap[RO] man nmap

Windows

Die offizielle Windows-Installation von Nmap verwendet normalerweise Npcap für Raw-Packet-Funktionen. Für bestimmte Scanarten sollte PowerShell oder die Eingabeaufforderung als Administrator gestartet werden.

Linux und macOS

Scanarten, die Raw-IP-Pakete verwenden, benötigen normalerweise erhöhte Rechte:

[TEST][PRIV][SENS] sudo nmap -sS -p 443 192.0.2.10

Ein TCP-Connect-Scan kann gewöhnlich ohne erhöhte Rechte ausgeführt werden:

[TEST][SENS] nmap -sT -p 443 192.0.2.10

Die tatsächlich verfügbaren Funktionen hängen von Betriebssystem, Nmap-Version, Rechten und Paket-Capture-Treiber ab.


3. Welche Freigaben müssen vor einem Scan vorliegen?

Autorisierungscheckliste anzeigen

Vor einem Scan sollten mindestens folgende Punkte dokumentiert sein:

PunktBeispiel
AuftraggeberZuständige IT-Abteilung
Zielsystem192.0.2.10
Zielnetz192.0.2.0/28
Erlaubte PortsTCP 22, 80 und 443
Erlaubte ScanartenHost Discovery, TCP Connect, Versionserkennung
ScanquelleAdministrationssystem 192.0.2.50
Zeitraum14:00–14:15 Uhr
Verantwortliche KontaktpersonMax Mustermann
AbbruchkriteriumDienstfehler, hohe Last oder Alarmmeldung
ProtokollierungAusgabe als normale, XML- und grepbare Datei
Erwarteter SollzustandTCP 443 offen, TCP 22 gefiltert

Vor dem Start klären

  • Befinden sich empfindliche Altgeräte im Zielbereich?
  • Sind Drucker, Telefonanlagen, Kameras, Steuerungen oder medizinische Geräte betroffen?
  • Gibt es Intrusion-Detection- oder Intrusion-Prevention-Systeme?
  • Muss das Security Operations Center informiert werden?
  • Gibt es eine maximale Scanrate?
  • Darf eine Dienst- oder Betriebssystemerkennung durchgeführt werden?
  • Dürfen NSE-Skripte verwendet werden?
  • Wie lange dürfen Ergebnisse gespeichert werden?

Die Erlaubnis, einen einzelnen Server zu prüfen, ist keine Erlaubnis zum Scan des gesamten Subnetzes.


4. Wie werden Zielsysteme sicher angegeben?

Zielspezifikation anzeigen
ZielartBeispiel
Einzelne IPv4-Adresse192.0.2.10
Mehrere einzelne Ziele192.0.2.10 192.0.2.20
DNS-Nameserver.example.com
CIDR-Netz192.0.2.0/28
IPv4-Adressbereich192.0.2.10-20
IPv6-Adresse2001:db8::10
Ziele aus einer Datei-iL targets.txt
Bestimmtes Ziel ausschließen--exclude 192.0.2.15
Ausschlussliste verwenden--excludefile excluded.txt

Einzelnes Ziel

[TEST][SENS] nmap 192.0.2.10

Kleines, ausdrücklich freigegebenes Netz

[TEST][SENS] nmap 192.0.2.0/28

IPv6-Ziel

[TEST][SENS] nmap -6 2001:db8::10

Ziele aus einer autorisiert erstellten Datei

[TEST][FILE][SENS] nmap -iL targets.txt

Zielbereich nur auflösen und auflisten, ohne Zielpakete zu senden

[RO][SENS] nmap -sL 192.0.2.0/28

-sL führt einen List Scan durch. Dabei werden die Ziele aufgelistet und standardmäßig gegebenenfalls Reverse-DNS-Abfragen durchgeführt. Es findet kein normaler Host- oder Portscan gegen die Zielsysteme statt.

Ohne DNS-Auflösung auflisten

[RO][SENS] nmap -sL -n 192.0.2.0/28

Das Auflisten des Zielbereichs vor dem aktiven Scan hilft, fehlerhafte CIDR-Angaben frühzeitig zu erkennen.


5. Wie wird geprüft, welche Hosts erreichbar sind?

Host Discovery anzeigen

Nur Host-Erkennung, ohne Portscan

[TEST][SENS] nmap -sn 192.0.2.0/28

-sn deaktiviert den anschließenden Portscan. Nmap führt aber weiterhin aktive Host-Erkennungsprüfungen durch.

Ohne Namensauflösung

[TEST][SENS] nmap -sn -n 192.0.2.0/28

Grund für die Bewertung anzeigen

[TEST][SENS] nmap -sn --reason 192.0.2.0/28

Lokales Ethernet-Netz

Im lokalen Ethernet-Netz verwendet Nmap für die Host-Erkennung normalerweise ARP beziehungsweise bei IPv6 Neighbor Discovery. Das ist häufig zuverlässiger als ein einfacher ICMP-Echo-Test.

Gezielte ICMP-Echo-Erkennung

[TEST][PRIV][SENS] sudo nmap -sn -PE 192.0.2.0/28

TCP-SYN-Erkennung auf freigegebenen Ports

[TEST][PRIV][SENS] sudo nmap -sn -PS22,80,443 192.0.2.0/28

TCP-ACK-Erkennung

[TEST][PRIV][SENS] sudo nmap -sn -PA80,443 192.0.2.0/28

UDP-Erkennung auf einem gezielt freigegebenen Port

[TEST][PRIV][SENS] sudo nmap -sn -PU53 192.0.2.0/28

Wichtige Interpretation

ErgebnisAussage
Host is upNmap hat eine als Erreichbarkeitsnachweis bewertete Antwort erhalten
Kein HosteintragKeine ausreichende Antwort empfangen
ICMP antwortet nichtHost kann trotzdem über TCP oder UDP erreichbar sein
ARP-Antwort im lokalen NetzGerät ist auf Layer 2 erreichbar
Hohe LatenzKann durch Netzwerk, Zielsystem oder Scanverfahren entstehen

Ein fehlender Hosttreffer beweist nicht, dass das System ausgeschaltet ist. Firewalls können die für die Erkennung verwendeten Pakete verwerfen.


6. Was bedeutet -Pn, und wann sollte es verwendet werden?

Portscan ohne vorherige Host-Erkennung anzeigen

Mit -Pn behandelt Nmap die angegebenen Ziele als erreichbar und überspringt die normale Host-Erkennung.

[TEST][SENS] nmap -Pn -p 443 192.0.2.10

Sinnvoller Einsatz

  • der Host ist nachweislich aktiv;
  • ICMP und andere Discovery-Pakete werden gefiltert;
  • ein bestimmter Port soll unabhängig von der Host-Erkennung geprüft werden;
  • nur ein einzelnes oder sehr kleines freigegebenes Ziel wird untersucht.

Auswirkung

Ohne erfolgreiche Host-Erkennung würde Nmap möglicherweise melden:

Host seems down.

Mit -Pn wird der Portscan trotzdem durchgeführt.

Risiko bei großen Zielbereichen

nmap -Pn 192.0.2.0/16

Dieser Scan würde jedes Ziel im Bereich als aktiv behandeln und entsprechend prüfen. Das kann sehr lange dauern und erhebliche Netzlast oder Sicherheitsmeldungen verursachen.

-Pn sollte nicht pauschal für große Netze verwendet werden. Es eignet sich hauptsächlich für bekannte, ausdrücklich freigegebene Einzelziele oder kleine Zielgruppen.


7. Welche Portzustände zeigt Nmap an?

Portzustände und Bedeutung anzeigen
ZustandBedeutung
openEine Anwendung nimmt an diesem Port Verbindungen oder Pakete an
closedZiel ist erreichbar, aber an diesem Port antwortet kein Dienst
filteredNmap kann wegen eines Filters oder Netzwerkhindernisses nicht bestimmen, ob der Port offen oder geschlossen ist
unfilteredPort ist erreichbar, der verwendete Scan kann aber nicht zwischen offen und geschlossen unterscheiden
open|filteredNmap kann nicht zwischen offen und gefiltert unterscheiden
closed|filteredNmap kann nicht zwischen geschlossen und gefiltert unterscheiden

Wichtig

filtered bedeutet nicht automatisch:

Eine Firewall auf dem Zielsystem blockiert den Port.

Mögliche Ursachen sind unter anderem:

  • Host-Firewall;
  • Netzwerk-Firewall;
  • Access Control List;
  • Routerfilter;
  • Security Group;
  • Paketverlust;
  • asymmetrisches Routing;
  • IPS oder Rate Limiting;
  • falscher Rückweg;
  • unvollständige Scanantwort.

Mit --reason zeigt Nmap an, auf welcher Antwort oder Nichtantwort die Bewertung beruht:

[TEST][SENS] nmap --reason -p 22,80,443 192.0.2.10

8. Welche Ports scannt Nmap standardmäßig?

Portauswahl anzeigen

Ohne ausdrückliche Portangabe untersucht Nmap standardmäßig die 1.000 häufigsten Ports des jeweiligen gescannten Protokolls. Es handelt sich nicht automatisch um alle 65.535 TCP-Ports.

Bestimmte Ports

[TEST][SENS] nmap -p 22,80,443 192.0.2.10

Portbereich

[TEST][SENS] nmap -p 8000-8100 192.0.2.10

Alle TCP-Ports

[TEST][SENS] nmap -p- 192.0.2.10

-p- steht für die Ports 1 bis 65.535. Ein vollständiger Portscan ist wesentlich umfangreicher als ein Standardscan und muss ausdrücklich freigegeben sein.

Die häufigsten 100 Ports

[TEST][SENS] nmap --top-ports 100 192.0.2.10

Schneller Scan der häufigsten Ports

[TEST][SENS] nmap -F 192.0.2.10

-F reduziert die Anzahl der normalerweise untersuchten Ports. Die genaue Portauswahl hängt von der lokalen Nmap-Dienstdatenbank ab.

Nur offene Ports anzeigen

[TEST][SENS] nmap --open -p 22,80,443,445,3389 192.0.2.10

--open verkürzt die Ausgabe. Für die Fehleranalyse können geschlossene und gefilterte Ports jedoch wichtige Informationen liefern. Die vollständige Ausgabe sollte deshalb häufig bevorzugt werden.


9. Was ist ein TCP-Connect-Scan?

TCP-Connect-Scan `-sT` anzeigen

Der TCP-Connect-Scan verwendet die normale connect()-Funktion des Betriebssystems. Er kann gewöhnlich ohne Raw-Packet-Rechte ausgeführt werden.

[TEST][SENS] nmap -sT -p 22,80,443 192.0.2.10

Eigenschaften

EigenschaftTCP Connect
Option-sT
Erhöhte RechteNormalerweise nicht erforderlich
VerbindungVollständiger TCP-Verbindungsaufbau zu offenen Ports
Protokollierung am ZielWahrscheinlich
EignungFunktionale Erreichbarkeitsprüfung einzelner TCP-Ports
BelastungBei wenigen Ports normalerweise gering, aber aktiv

Einzelnen HTTPS-Port prüfen

[TEST][SENS] nmap -sT -Pn -p 443 --reason 192.0.2.10

Da bei offenen Ports eine vollständige Verbindung aufgebaut wird, kann der Zielserver den Versuch in seinen Logs erfassen.

Für einen gezielten administrativen Funktionstest ist das nicht grundsätzlich nachteilig: Der Scan soll nachvollziehbar und autorisiert sein.


10. Was ist ein TCP-SYN-Scan?

TCP-SYN-Scan `-sS` anzeigen

Beim SYN-Scan sendet Nmap ein TCP-SYN-Paket, ohne bei einem offenen Port eine vollständige Anwendungssitzung aufzubauen.

[TEST][PRIV][SENS] sudo nmap -sS -p 22,80,443 192.0.2.10

Typische Antworten

AntwortNmap-Bewertung
SYN/ACKopen
RSTclosed
Keine Antwort nach Wiederholungenfiltered
Bestimmte ICMP-Unreachable-Antwortfiltered

Eigenschaften

EigenschaftTCP SYN
Option-sS
Erhöhte RechteAuf Unix-Systemen normalerweise erforderlich
Vollständige TCP-VerbindungNein
Unterscheidungopen, closed, filtered
EignungKontrollierte Portprüfung im autorisierten Netz

Der Ausdruck „halb offen“ bedeutet nicht, dass der Scan unsichtbar ist. Firewalls, IDS, IPS und Zielsysteme können SYN-Scans erkennen und protokollieren.


11. Wie werden UDP-Dienste geprüft?

UDP-Scan `-sU` anzeigen

UDP ist verbindungslos. Ein fehlendes Antwortpaket lässt deshalb häufig keine eindeutige Entscheidung zu.

Gezielter UDP-Scan

[TEST][PRIV][SENS] sudo nmap -sU -p 53,123,161 192.0.2.10

Mit Begründung und Versionserkennung

[TEST][PRIV][SENS] sudo nmap -sU -sV --reason -p 53,123,161 192.0.2.10

Typische Ergebnisse

AntwortMögliche Bewertung
Gültige UDP-Antwortopen
ICMP Port Unreachableclosed
Bestimmte andere ICMP-Fehlerfiltered
Keine Antwortopen|filtered

Warum UDP-Scans länger dauern

  • viele offene UDP-Dienste antworten nur auf gültige Protokollanfragen;
  • gefilterte Pakete erzeugen häufig keine Antwort;
  • ICMP-Fehlermeldungen können begrenzt werden;
  • Nmap muss Zeitüberschreitungen und Wiederholungen abwarten.

Nur die tatsächlich benötigten Ports prüfen

[TEST][PRIV][SENS] sudo nmap -sU -p 53 192.0.2.10

Ein ungeplanter Scan aller 65.535 UDP-Ports kann sehr lange dauern und unnötige Last verursachen.


12. Wie werden TCP und UDP gemeinsam untersucht?

Kombinierten Scan anzeigen

TCP-SYN- und UDP-Scan können kombiniert werden:

[TEST][PRIV][SENS] sudo nmap -sS -sU -p T:53,80,443,U:53,123 192.0.2.10

Bedeutung

AusdruckGeprüfte Ports
T:53,80,443TCP 53, 80 und 443
U:53,123UDP 53 und 123

Ohne die Präfixe T: und U: kann die Portzuordnung bei einem kombinierten Scan missverständlich werden.

DNS über TCP und UDP prüfen

[TEST][PRIV][SENS] sudo nmap -sS -sU -p T:53,U:53 192.0.2.10

Ein offener TCP- und UDP-Port bestätigt noch nicht, dass DNS-Anfragen korrekt beantwortet werden. Danach sollte ein protokollspezifischer Test folgen, beispielsweise mit dig, Resolve-DnsName oder nslookup.


13. Wie werden Dienste und Versionen erkannt?

Service- und Versionserkennung `-sV` anzeigen

Die Versionserkennung sendet zusätzliche, teilweise protokollspezifische Anfragen an offene oder wahrscheinlich offene Ports.

[TEST][SENS] nmap -sV -p 22,80,443 192.0.2.10

Leichtere Versionserkennung

[TEST][SENS] nmap -sV --version-light -p 22,80,443 192.0.2.10

Intensität festlegen

[TEST][SENS] nmap -sV --version-intensity 2 -p 22,80,443 192.0.2.10

Der Wertebereich für --version-intensity reicht von 0 bis 9:

IntensitätVerhalten
0Nur wenige, besonders wahrscheinliche Prüfungen
2Reduzierte, häufig ausreichende Prüfung
7Standardintensität
9Alle verfügbaren Versionserkennungs-Probes

Interpretation

443/tcp open  https  nginx 1.24.0

Dabei sind zu unterscheiden:

FeldAussage
443/tcpUntersuchte Port-/Protokollkombination
openNmap erhielt eine Antwort für einen offenen Port
httpsErkannter oder anhand der Portzuordnung vermuteter Dienst
nginx 1.24.0Von Nmap ermittelte oder geschätzte Produktversion

Versionsergebnisse können unvollständig oder irreführend sein, beispielsweise durch:

  • Reverse Proxies;
  • Load Balancer;
  • TLS-Termination;
  • absichtlich veränderte Banner;
  • Backports von Sicherheitskorrekturen;
  • herstellerspezifische Builds;
  • Protokollweiterleitungen;
  • IDS- oder IPS-Antworten.

Ein Nmap-Versionshinweis sollte mit der lokalen Paketverwaltung, der Anwendungskonfiguration oder der Herstelleroberfläche bestätigt werden.


14. Wie wird eine Betriebssystemerkennung durchgeführt?

OS-Erkennung `-O` anzeigen

Nmap versucht anhand verschiedener Netzwerkmerkmale, das Betriebssystem des Zielsystems zu bestimmen.

[TEST][PRIV][SENS] sudo nmap -O 192.0.2.10

Nur gezielte Ports und OS-Erkennung

[TEST][PRIV][SENS] sudo nmap -O -p 22,80,443 192.0.2.10

Erkennungsversuche begrenzen

[TEST][PRIV][SENS] sudo nmap -O --osscan-limit 192.0.2.0/28

--osscan-limit beschränkt die OS-Erkennung auf Ziele, bei denen Nmap dafür geeignete Bedingungen erkennt.

Voraussetzungen für gute Ergebnisse

Nmap erzielt bessere Resultate, wenn mindestens:

  • ein offener TCP-Port;
  • ein geschlossener TCP-Port;
  • ausreichende Antworten des Zielsystems

vorhanden sind.

Mögliche Ungenauigkeiten

  • Firewall verändert Antworten;
  • NAT oder Proxy liegt zwischen Quelle und Ziel;
  • mehrere Systeme teilen eine IP-Adresse;
  • Netzwerkgerät beantwortet Pakete stellvertretend;
  • zu wenige geeignete Ports antworten;
  • Betriebssystem-Fingerprint ist nicht eindeutig.

Die Ausgabe ist eine Netzwerkerkennung beziehungsweise Schätzung und kein sicherer Beweis für das installierte Betriebssystem.


15. Welche einfachen NSE-Skripte können für die Diagnose verwendet werden?

Nmap Scripting Engine sicher einordnen

Die Nmap Scripting Engine, kurz NSE, erweitert Nmap um Skripte. Diese können von einfachen Informationsabfragen bis zu Sicherheits- und Belastungstests reichen.

Standard-Skripte

[TEST][DISRUPT][SENS] nmap -sC -p 22,80,443 192.0.2.10

-sC entspricht:

--script=default

Auch Standardskripte senden zusätzliche Anfragen an Dienste und sollten nur nach Freigabe verwendet werden.

Bestimmtes, zuvor geprüftes Skript

[TEST][SENS] nmap --script http-title -p 80,443 192.0.2.10

Skriptbeschreibung anzeigen

[RO] nmap --script-help http-title

Mehrere freigegebene Informationsskripte

[TEST][SENS] nmap --script http-title,http-headers -p 80,443 192.0.2.10

Vor einem NSE-Einsatz müssen geprüft werden:

  • Skriptname;
  • Skriptbeschreibung;
  • Kategorie;
  • benötigte Argumente;
  • mögliche Auswirkungen;
  • Zielport;
  • Umfang der Autorisierung.

Im normalen Troubleshooting nicht pauschal verwenden

--script vuln
--script exploit
--script brute
--script dos
--script intrusive

Diese Kategorien können Schwachstellenprüfungen, Anmeldeversuche oder belastende Tests enthalten. Sie gehören nicht in eine gewöhnliche Netzwerkdiagnose ohne gesonderten Auftrag.

Auch die Kategorie safe ist keine absolute Garantie für Wirkungslosigkeit. Das konkrete Skript muss vor dem Einsatz geprüft werden.


16. Warum sollte -A nicht unüberlegt verwendet werden?

Aggressive Erkennung erklären

Die Option -A aktiviert mehrere Funktionen gleichzeitig:

  • Betriebssystemerkennung;
  • Versionserkennung;
  • Standardskript-Scan;
  • Traceroute.
[TEST][PRIV][DISRUPT][SENS] sudo nmap -A 192.0.2.10

Für eine gezielte Fehleranalyse ist dieser Befehl häufig zu breit. Er sendet mehr unterschiedliche Prüfungen als ein einfacher Portscan und erzeugt umfangreichere Logs und mögliche Sicherheitsmeldungen.

Besser ist eine schrittweise Auswahl:

[TEST][SENS] nmap -sT -p 443 192.0.2.10

Danach bei Bedarf:

[TEST][SENS] nmap -sV --version-light -p 443 192.0.2.10

Und nur bei begründetem Bedarf:

[TEST][PRIV][SENS] sudo nmap -O -p 22,80,443 192.0.2.10

Dadurch bleibt erkennbar, welche Scanoption welche Reaktion verursacht hat.


17. Wie wird die Namensauflösung kontrolliert?

DNS-Optionen anzeigen

Keine DNS-Auflösung durchführen

[TEST][SENS] nmap -n -p 22,80,443 192.0.2.10

DNS-Auflösung für alle Ziele erzwingen

[TEST][SENS] nmap -R -p 22,80,443 192.0.2.10

Bedeutung

OptionWirkung
-nKeine Reverse-DNS-Auflösung
-RReverse-DNS-Auflösung für alle Ziele
Keine OptionNmap entscheidet abhängig vom Scanergebnis

Für reproduzierbare Portprüfungen ist -n häufig sinnvoll:

  • Scan wird nicht durch DNS verzögert;
  • keine zusätzlichen DNS-Abfragen;
  • Ergebnisse zeigen die tatsächlichen IP-Adressen;
  • DNS- und Portprobleme werden getrennt untersucht.

Wenn die DNS-Zuordnung selbst Teil der Diagnose ist, sollte sie bewusst separat geprüft werden.


18. Wie wird die Scanrate kontrolliert?

Timing und Belastungsbegrenzung anzeigen

Nmap bietet Timing-Vorlagen:

VorlageNameEinordnung
-T0ParanoidExtrem langsam
-T1SneakySehr langsam
-T2PoliteReduzierte Geschwindigkeit
-T3NormalStandard
-T4AggressiveSchneller, nur in stabilen und freigegebenen Netzen
-T5InsaneSehr aggressiv; für normales Troubleshooting ungeeignet

Normale Geschwindigkeit

[TEST][SENS] nmap -T3 -p 22,80,443 192.0.2.10

Rücksichtsvollere Prüfung

[TEST][SENS] nmap -T2 -p 22,80,443 192.0.2.10

Maximale Paketrate begrenzen

[TEST][SENS] nmap --max-rate 50 -p 1-1000 192.0.2.10

--max-rate 50 fordert Nmap auf, im Durchschnitt nicht schneller als 50 Pakete pro Sekunde zu senden. Abhängig von Scanart und Betriebssystem können trotzdem kurzfristige Abweichungen auftreten.

Host-Zeitüberschreitung

[TEST][SENS] nmap --host-timeout 2m -p 22,80,443 192.0.2.10

Wenn ein Ziel nach zwei Minuten nicht vollständig geprüft wurde, beendet Nmap die weitere Bearbeitung dieses Hosts.

Für empfindliche Systeme

  • nur einzelne Ziele;
  • nur benötigte Ports;
  • -T2 oder -T3;
  • niedrige --max-rate;
  • keine umfassende Versionserkennung;
  • keine pauschalen NSE-Skripte;
  • System- und Dienstüberwachung parallel beobachten.

19. Wie werden Ergebnisse gespeichert?

Ausgabeformate anzeigen
OptionFormatVerwendung
-oN DATEINormale TextausgabeMenschliche Auswertung
-oX DATEIXMLAutomatisierte Verarbeitung
-oG DATEIGrepbares FormatÄlteres zeilenorientiertes Format
-oA BASISNAMEAlle drei FormateVollständige Dokumentation

Normale Ausgabe speichern

[TEST][FILE][SENS] nmap -sT -p 22,80,443 -oN server-scan.txt 192.0.2.10

XML-Ausgabe

[TEST][FILE][SENS] nmap -sT -p 22,80,443 -oX server-scan.xml 192.0.2.10

Alle Hauptformate

[TEST][FILE][SENS] nmap -sT -p 22,80,443 -oA server-scan 192.0.2.10

Dabei entstehen typischerweise:

server-scan.nmap
server-scan.xml
server-scan.gnmap

Zusätzlich Terminalausgabe mit tee speichern

Linux und macOS:

[TEST][FILE][SENS] nmap -sT -p 22,80,443 192.0.2.10 | tee server-scan.txt

PowerShell:

[TEST][FILE][SENS] nmap -sT -p 22,80,443 192.0.2.10 | Tee-Object -FilePath server-scan.txt

tee beziehungsweise Tee-Object speichert nur die sichtbare Textausgabe. Für strukturierte Verarbeitung sollte -oX oder -oA verwendet werden.


20. Wie werden Ergebnisse vor und nach einer Änderung verglichen?

Vergleichsdiagnose anzeigen

Vor der Änderung

[TEST][FILE][SENS] nmap -n -sT -p 22,80,443 --reason -oA server-before 192.0.2.10

Nach der Änderung

[TEST][FILE][SENS] nmap -n -sT -p 22,80,443 --reason -oA server-after 192.0.2.10

Linux und macOS:

[RO][FILE][SENS] diff -u server-before.nmap server-after.nmap

PowerShell:

[RO][FILE][SENS] Compare-Object (Get-Content .\server-before.nmap) (Get-Content .\server-after.nmap)

Für einen aussagekräftigen Vergleich müssen identisch sein:

  • Scanquelle;
  • Zieladresse;
  • Scanart;
  • Portliste;
  • Nmap-Version;
  • Berechtigungsstufe;
  • DNS-Einstellung;
  • Timing-Einstellung;
  • Netzwerkpfad.

Andernfalls können Unterschiede durch die Testmethode statt durch die eigentliche Änderung entstehen.


21. Wie wird ein bestimmter Dienst systematisch geprüft?

Diagnosefolge für einen einzelnen Dienst anzeigen

Beispiel: HTTPS auf TCP-Port 443.

1. Namensauflösung getrennt prüfen

Windows:

[RO] Resolve-DnsName server.example.com

Linux oder macOS:

[RO] dig server.example.com

2. Host Discovery durchführen

[TEST][SENS] nmap -sn --reason 192.0.2.10

3. Port unabhängig von Host Discovery prüfen

[TEST][SENS] nmap -Pn -n -sT -p 443 --reason 192.0.2.10

4. Dienst vorsichtig identifizieren

[TEST][SENS] nmap -Pn -n -sV --version-light -p 443 192.0.2.10

5. Anwendungsebene prüfen

[TEST][SENS] curl -vkI https://192.0.2.10/

Bei namensabhängigen virtuellen Hosts sollte der korrekte DNS-Name verwendet werden:

[TEST][SENS] curl -vI https://server.example.com/

6. TLS gesondert prüfen

[TEST][SENS] openssl s_client -connect 192.0.2.10:443 -servername server.example.com

Interpretation

ErgebnisNächster Schritt
Port closedDienststatus und lokale Listener prüfen
Port filteredFirewall, ACL, Routing und Paketmitschnitt prüfen
Port open, curl fehlschlägtHTTP-, TLS-, Proxy- oder Anwendungsproblem untersuchen
Port open, TLS falschZertifikat, SNI, TLS-Version und Zeit prüfen
Nmap erkennt falschen DienstDirekten Protokolltest durchführen
Unterschiedliche Ergebnisse aus zwei NetzenFirewall- und Routingpfad vergleichen

Nmap beantwortet hauptsächlich die Frage:

Wie reagiert dieser Port aus Sicht dieses Scanstandorts?

Für die vollständige Fehlerursache sind weitere Werkzeuge erforderlich.


22. Wie wird ein Firewallproblem eingegrenzt?

Vergleich zwischen Netzsegmenten anzeigen

Ein Scan sollte von genau den Standorten erfolgen, deren Erreichbarkeit untersucht wird.

Clientnetz A → Firewall → Servernetz
Clientnetz B → Firewall → Servernetz

Scan aus Netz A

[TEST][FILE][SENS] nmap -Pn -n -sT -p 443 --reason -oN netz-a.txt 192.0.2.10

Scan aus Netz B

[TEST][FILE][SENS] nmap -Pn -n -sT -p 443 --reason -oN netz-b.txt 192.0.2.10

Mögliche Beobachtung

Netz ANetz BMögliche Schlussfolgerung
openfilteredUnterschiedliche Firewall-, ACL- oder Routingbehandlung
openclosedMöglicherweise anderes Ziel, NAT oder unterschiedliche Antwortquelle
filteredfilteredGemeinsamer Filter, fehlender Rückweg oder Ziel nicht erreichbar
openopenGrundlegende Portfreigabe aus beiden Netzen vorhanden

Zusätzlich sollten geprüft werden:

  • Quell-IP des Scanhosts;
  • Ziel-IP nach NAT;
  • Firewall-Logs;
  • Routingtabellen;
  • Security Groups;
  • lokale Host-Firewall;
  • Paketmitschnitt auf Client, Firewall oder Server;
  • Rückweg zum jeweiligen Clientnetz.

Ein Nmap-Ergebnis allein zeigt nicht, an welchem Gerät ein Paket verworfen wurde.


23. Welche Scanarten sollten im normalen Troubleshooting vermieden werden?

Nicht empfohlene Optionen anzeigen

Folgende Funktionen gehören normalerweise nicht zur alltäglichen Fehleranalyse:

Scanart oder OptionGrund
Idle Scan -sIVerwendet ein fremdes System als sogenanntes Zombie-System
FTP Bounce -bMissbraucht einen FTP-Server als Relay
Eigene TCP-Flags --scanflagsKann Filter- und IDS-Umgehung dienen
Decoys -DVerschleiert die tatsächliche Scanquelle
Quelladress-Spoofing -SErschwert Rückverfolgung und kann Netzstörungen verursachen
Fragmentierung -fWird häufig zur Filterumgehung eingesetzt
--badsumErzeugt absichtlich ungültige Prüfsummen
NSE-Kategorie bruteFührt Anmeldeversuche durch
NSE-Kategorie exploitVersucht Sicherheitslücken auszunutzen
NSE-Kategorie dosKann Dienste beeinträchtigen
NSE-Kategorie intrusiveKann Systeme oder Anwendungen belasten
Ungeprüftes -A gegen viele SystemeKombiniert mehrere aktive Erkennungsverfahren
-T5Sehr aggressive Zeitsteuerung

Solche Funktionen werden in diesem Troubleshooting-Buch nicht als Standardbefehle empfohlen. Für einen gesonderten Sicherheitstest sind ein eigener Auftrag, eine genaue Risikoanalyse und abgestimmte Abbruchkriterien erforderlich.


24. Welche typischen Fehlinterpretationen gibt es?

Fehlertabelle anzeigen
FehlinterpretationKorrekte Einordnung
Host seems down bedeutet ausgeschaltetDiscovery-Pakete können gefiltert worden sein
open bedeutet Anwendung funktioniertNur der Port reagiert; Anwendungstest folgt
closed bedeutet Firewall blockiertDas Ziel antwortet normalerweise aktiv mit „kein Listener“
filtered bedeutet lokale Host-FirewallFilter kann an jeder Stelle des Pfads liegen
open|filtered bedeutet offenNmap kann offen und gefiltert nicht unterscheiden
Dienstname in der Porttabelle ist sicher erkanntOhne -sV kann er nur aus der Portzuordnung stammen
Angezeigte Version ist garantiert installiertBanner, Proxy oder Backport können abweichen
OS-Erkennung ist ein sicherer BeweisEs handelt sich um eine Fingerprint-Schätzung
Kein Ergebnis bei UDP bedeutet geschlossenHäufig lautet der Zustand open|filtered
-Pn macht den Scan passivPortscan bleibt aktiv; nur Host Discovery wird übersprungen
SYN-Scan ist unsichtbarIDS, IPS, Firewalls und Systeme können ihn erkennen
Ein Scan aus dem Servernetz gilt auch für das ClientnetzUnterschiedliche Netzwerkpfade können andere Ergebnisse liefern
Nmap ist ein vollständiger SchwachstellenscannerNmap ist primär ein Netzwerk- und Portscanner
Viele Optionen liefern automatisch bessere ErgebnisseMehr Prüfungen erhöhen Last, Logs und Fehlinterpretationsrisiko

25. Wie werden Nmap-Ergebnisse verifiziert?

Gegenprüfungen anzeigen
Nmap-BeobachtungGeeignete Gegenprüfung
TCP-Port offenTest-NetConnection, nc, curl oder anwendungsspezifischer Client
TCP-Port geschlossenLokale Listener mit Get-NetTCPConnection, ss oder lsof prüfen
Port gefiltertFirewall-Logs, Routing und Paketmitschnitt prüfen
DNS-Dienst offenResolve-DnsName, dig oder nslookup
HTTP/HTTPS offencurl
TLS erkanntopenssl s_client
SSH offenAutorisierten SSH-Verbindungsaufbau durchführen
SMB offenSMB-Client und Serverlogs prüfen
Dienstversion erkanntLokale Paket- oder Anwendungsversion prüfen
Betriebssystem erkanntLokale Systeminformationen oder Inventarsystem prüfen
Host nicht erkanntARP/Neighbor-Tabelle, Ping, TCP-Test und Switchinformationen prüfen

Lokale Listener prüfen

BetriebssystemBefehl
Windows[RO] Get-NetTCPConnection -State Listen
Linux[RO] ss -lntup
macOS[RO] sudo lsof -nP -iTCP -sTCP:LISTEN

Ein Port kann lokal lauschen und trotzdem aus dem untersuchten Netzsegment nicht erreichbar sein. Umgekehrt kann NAT oder Portweiterleitung einen extern erreichbaren Port zeigen, obwohl auf der Zieladresse selbst kein entsprechender lokaler Listener sichtbar ist.


26. Wie sieht ein sicherer Nmap-Diagnoseablauf aus?

Empfohlene Schrittfolge anzeigen

Vorbereitung

  1. Auftrag und Ziel der Prüfung dokumentieren.
  2. Zulässige Zieladressen und Ports festlegen.
  3. Scanquelle und Netzwerksegment dokumentieren.
  4. Empfindliche Systeme identifizieren.
  5. Erlaubte Scanarten und maximale Rate festlegen.
  6. Ansprechpartner und Abbruchkriterium festlegen.
  7. Systemzeit und Speicherort der Ergebnisse prüfen.

Zielkontrolle

  1. Zielbereich zuerst mit -sL -n auflisten.
  2. CIDR-Präfix und Ausschlüsse kontrollieren.
  3. Mit einem einzelnen Testsystem beginnen.

Schrittweise Prüfung

  1. Host Discovery mit -sn durchführen.
  2. Falls erforderlich einen bekannten Port mit -Pn prüfen.
  3. Nur benötigte Ports mit -p angeben.
  4. Zunächst TCP Connect oder SYN Scan verwenden.
  5. UDP nur für konkret benötigte Ports prüfen.
  6. --reason zur Interpretation hinzufügen.
  7. Versionserkennung nur bei Bedarf verwenden.
  8. NSE-Skripte einzeln prüfen und freigeben.
  9. Scanrate und Zielsystemüberwachung beobachten.

Dokumentation

  1. Ausgabe mit -oA speichern.
  2. Nmap-Version und verwendeten Befehl dokumentieren.
  3. Beginn, Ende und Scanquelle festhalten.
  4. Ergebnisse als Beobachtung und nicht sofort als Ursache dokumentieren.

Validierung

  1. Offene Ports mit einem Protokollwerkzeug prüfen.
  2. Gefilterte Ports mit Firewall-Logs und Paketmitschnitten untersuchen.
  3. Lokale Listener auf dem Zielsystem prüfen.
  4. Nach einer Änderung denselben Scan erneut ausführen.
  5. Ergebnisse vergleichen.
  6. Zuständige Personen über Abschluss oder Auffälligkeiten informieren.
  7. Scanresultate gemäß Schutz- und Löschrichtlinie behandeln.

27. Kurzreferenz – sichere Basisbefehle

Nmap-Befehlstabelle anzeigen
AufgabeBefehl
Version anzeigen[RO] nmap --version
Hilfe anzeigen[RO] nmap -h
Zielbereich nur auflisten[RO][SENS] nmap -sL -n 192.0.2.0/28
Hosts erkennen[TEST][SENS] nmap -sn -n 192.0.2.0/28
Grund anzeigen[TEST][SENS] nmap -sn -n --reason 192.0.2.0/28
Einzelnen TCP-Port prüfen[TEST][SENS] nmap -Pn -n -sT -p 443 --reason 192.0.2.10
Mehrere TCP-Ports[TEST][SENS] nmap -sT -p 22,80,443 192.0.2.10
SYN-Scan[TEST][PRIV][SENS] sudo nmap -sS -p 22,80,443 192.0.2.10
UDP-Ports[TEST][PRIV][SENS] sudo nmap -sU -p 53,123,161 192.0.2.10
TCP und UDP[TEST][PRIV][SENS] sudo nmap -sS -sU -p T:53,80,443,U:53,123 192.0.2.10
Häufigste 100 Ports[TEST][SENS] nmap --top-ports 100 192.0.2.10
Alle TCP-Ports[TEST][SENS] nmap -p- 192.0.2.10
Nur offene Ports ausgeben[TEST][SENS] nmap --open -p 22,80,443 192.0.2.10
Dienstversionen vorsichtig prüfen[TEST][SENS] nmap -sV --version-light -p 22,80,443 192.0.2.10
Betriebssystem schätzen[TEST][PRIV][SENS] sudo nmap -O 192.0.2.10
IPv6-Ziel[TEST][SENS] nmap -6 -p 22,80,443 2001:db8::10
Scanrate begrenzen[TEST][SENS] nmap --max-rate 50 -p 1-1000 192.0.2.10
Ergebnisse vollständig speichern[TEST][FILE][SENS] nmap -sT -p 22,80,443 -oA server-scan 192.0.2.10
Skriptbeschreibung anzeigen[RO] nmap --script-help http-title
HTTP-Titel prüfen[TEST][SENS] nmap --script http-title -p 80,443 192.0.2.10

28. Kurzreferenz – wichtigste Optionen

Optionstabelle anzeigen
OptionBedeutung
-sLZiele nur auflisten
-snNur Host Discovery, kein Portscan
-PnHost Discovery überspringen
-nKeine DNS-Auflösung
-RReverse-DNS-Auflösung erzwingen
-sTTCP Connect Scan
-sSTCP SYN Scan
-sUUDP Scan
-pPorts angeben
-p-Alle Ports von 1 bis 65.535
-FSchneller Scan mit reduzierter Portauswahl
--top-ports NN häufigste Ports prüfen
--openNur offene oder möglicherweise offene Ports anzeigen
--reasonGrund für Host- und Portbewertung anzeigen
-sVDienst- und Versionserkennung
--version-lightReduzierte Versionserkennung
-OBetriebssystemerkennung
-6IPv6 verwenden
-iLZiele aus Datei lesen
--excludeZiel ausschließen
--excludefileAusschlüsse aus Datei lesen
-T2Rücksichtsvolle Timing-Vorlage
-T3Normale Timing-Vorlage
--max-rateMaximale durchschnittliche Paketrate begrenzen
--host-timeoutZeitlimit pro Host
-oNNormale Ausgabe speichern
-oXXML-Ausgabe speichern
-oGGrepbare Ausgabe speichern
-oAAlle Hauptformate speichern
-sCStandard-NSE-Skripte ausführen
--scriptBestimmte NSE-Skripte auswählen
--script-helpBeschreibung eines Skripts anzeigen

Merksätze

  • Nmap ist ein aktives Diagnosewerkzeug und benötigt eine eindeutige Autorisierung.
  • Zuerst den Zielbereich prüfen, dann mit einem einzelnen Ziel und wenigen Ports beginnen.
  • -sn führt Host Discovery ohne anschließenden Portscan durch.
  • -Pn macht einen Scan nicht passiv, sondern überspringt nur die Host-Erkennung.
  • -sT verwendet vollständige TCP-Verbindungen und benötigt normalerweise keine Raw-Packet-Rechte.
  • -sS verwendet Raw-Pakete und benötigt auf Unix-Systemen normalerweise erhöhte Rechte.
  • filtered bedeutet, dass Nmap den Portzustand wegen fehlender oder filternder Antworten nicht bestimmen kann.
  • UDP-Ergebnisse sind häufig weniger eindeutig als TCP-Ergebnisse.
  • Ein Dienstname ohne Versionserkennung kann lediglich aus der bekannten Portzuordnung stammen.
  • Versions- und Betriebssystemergebnisse sind Hinweise und müssen lokal bestätigt werden.
  • -A, NSE-Skripte und aggressive Timing-Optionen dürfen nicht unüberlegt eingesetzt werden.
  • Ein offener Port bestätigt noch keine funktionierende Anwendung.
  • Ergebnisse müssen aus dem tatsächlich betroffenen Netzwerksegment erhoben werden.
  • Nmap-Ergebnisse sollten mit Protokolltests, lokalen Listenern, Logs und Paketmitschnitten verifiziert werden.

Quellen