Zum Inhalt springen

Nächste Ausgabe 6. Juli 2026

Zurück zum Blog

Nmap-Tutorial: Netzwerk-Scanning von null bis zur Entdeckung

Terminalfenster mit Nmap-Scan-Ergebnissen mit hervorgehobenen offenen Ports und Dienstversionen auf dunklem Hintergrund

Lernen Sie Nmap von Grund auf mit praktischen Befehlsbeispielen. Host-Erkennung, Port-Scanning, Diensterkennung, OS-Fingerprinting und NSE-Skripte in diesem praktischen Anfänger-Tutorial.

Daute Delgado
11 Min. Lesezeit
  • Offense
  • Detection
  • Skills
  • Mindset
  • Confidence
Diesen Artikel teilen:

TL;DR

Nmap ist das am weitesten verbreitete Netzwerk-Scanning-Tool in der Cybersicherheit, das von über 80 % der Penetrationstester für die Aufklärung eingesetzt wird. Dieses Tutorial führt Anfänger durch jede wesentliche Nmap-Technik: Host-Erkennung mit Ping-Sweeps, TCP-Connect- und SYN-Stealth-Scans, UDP-Scanning, Dienstversionserkennung, OS-Fingerprinting und Automatisierung mit dem Nmap Scripting Engine (NSE). Jedes Konzept enthält echte Terminal-Befehle, die Sie in Ihrem eigenen Labor ausführen können.

Der Einsatz sollte Routine sein. Elena, eine Junior-Penetrationstesterin bei ihrer ersten professionellen Bewertung, saß in einem Konferenzraum mit ihrem Laptop, der mit dem Gäste-Netzwerk des Kunden verbunden war. Ihr Teamleiter hatte sie über den Umfang informiert: ein /24-Subnetz, 254 mögliche Hosts, vollständige Port-Enumeration. Sie hatte die Methodik im Training studiert, die Dokumentation gelesen und ihre Zertifizierungsprüfung bestanden. Jetzt musste sie tatsächlich aktive Maschinen finden, herausfinden was sie ausführten und jeden exponierten Dienst dokumentieren, bevor das Offensiv-Team mit der Exploitation beginnen konnte.

Sie öffnete ein Terminal und tippte ihren ersten Nmap-Befehl. Innerhalb von Sekunden begannen die Ergebnisse zu scrollen. Host 10.0.1.12: Ports 22, 80, 443 offen. Host 10.0.1.35: Ports 21, 139, 445 offen. Eine SMB-Dateifreigabe auf einem ungepatchten Server. Eine Webanwendung mit einer veralteten Apache-Version. Ein Datenbank-Port, der dem gesamten Subnetz ausgesetzt war. In 20 Minuten hatte Elena die Angriffsfläche kartiert, die den gesamten Einsatz leiten würde. Das Netzwerk hatte ihr alles gesagt, was sie wissen musste. Sie musste nur die richtigen Fragen stellen.

Das ist es, was Nmap tut. Es übersetzt das abstrakte Konzept der Netzwerksicherheit in konkrete, umsetzbare Daten. Jeder offene Port ist eine Tür. Jeder laufende Dienst ist ein Gespräch, das darauf wartet zu beginnen. Nmap hilft Ihnen, sie alle zu finden.

Was Nmap tatsächlich macht

Nmap, Kurzform für Network Mapper, ist ein Open-Source-Tool, das 1997 von Gordon Lyon entwickelt wurde. Es sendet speziell gestaltete Pakete an Ziel-Hosts und analysiert die Antworten, um festzustellen, welche Hosts aktiv sind, welche Ports offen sind, welche Dienste laufen und oft welches Betriebssystem das Ziel verwendet.

Im Gegensatz zu passiven Überwachungstools wie Wireshark ist Nmap ein aktiver Scanner. Es erzeugt Datenverkehr und beobachtet, wie das Ziel reagiert. Das macht es unverzichtbar für Penetrationstests, Netzwerk-Audits und Sicherheitsbewertungen, bedeutet aber auch, dass Sie eine Genehmigung haben müssen, bevor Sie ein Netzwerk scannen, das Sie nicht besitzen.

Installieren Sie Nmap von nmap.org oder über den Paketmanager Ihres Systems. Auf Kali Linux ist es vorinstalliert. Auf Ubuntu oder Debian führen Sie aus:

bash
sudo apt install nmap

Auf macOS mit Homebrew:

bash
brew install nmap

Überprüfen Sie die Installation:

bash
nmap --version

Sie sollten Version 7.90 oder höher sehen. Mit installiertem Nmap sind Sie bereit, mit dem Scannen zu beginnen.

Host-Erkennung: aktive Ziele finden

Bevor Sie Ports scannen, müssen Sie wissen, welche Hosts im Netzwerk tatsächlich aktiv sind. Alle 65.535 Ports auf 254 Adressen zu scannen, wenn nur 12 Maschinen existieren, verschwendet Zeit und erzeugt unnötiges Rauschen. Die Host-Erkennung grenzt das Feld ein.

Die einfachste Erkennungstechnik ist ein Ping-Sweep, der ICMP-Echo-Anfragen an jede Adresse in einem Bereich sendet und notiert, welche antworten:

bash
nmap -sn 192.168.1.0/24

Das Flag -sn weist Nmap an, den Port-Scan zu überspringen und nur zu prüfen, ob Hosts aktiv sind. Die Ausgabe zeigt jeden antwortenden Host mit seiner IP-Adresse und, falls verfügbar, seinem Hostnamen und seiner MAC-Adresse. In einem typischen Heimnetzwerk ist dies in unter 5 Sekunden abgeschlossen.

Manche Hosts blockieren ICMP. Wenn Ping fehlschlägt, verwendet Nmap zusätzliche Techniken. Der folgende Befehl kombiniert ARP-Erkennung (effektiv in lokalen Netzwerken), TCP-SYN-Sonden an Port 443, TCP-ACK-Sonden an Port 80 und ICMP-Timestamp-Anfragen:

bash
sudo nmap -sn -PE -PS443 -PA80 -PP 192.168.1.0/24

Das sudo-Präfix ist hier wichtig. Mehrere Erkennungsmethoden erfordern Raw-Socket-Zugriff, den nur Root- oder Administratorkonten verwenden können.

TCP-Scanning: Connect-Scans und SYN-Stealth-Scans

Sobald Sie wissen, welche Hosts aktiv sind, zeigt das Port-Scanning, welche Dienste auf Verbindungen lauschen. TCP-Scanning ist der häufigste Ansatz, weil TCP die Mehrheit der vernetzten Dienste antreibt: Webserver, SSH, Datenbanken, E-Mail und mehr.

TCP-Connect-Scan

Der TCP-Connect-Scan ist die einfachste Methode. Nmap vervollständigt einen vollständigen Drei-Wege-Handshake (SYN, SYN-ACK, ACK) mit jedem Port. Wenn die Verbindung erfolgreich ist, ist der Port offen. Wenn das Ziel ein RST-Paket zurückgibt, ist der Port geschlossen.

bash
nmap -sT 192.168.1.10

Dieser Scan erfordert keine besonderen Privilegien, weil er den normalen Verbindungsmechanismus des Betriebssystems verwendet. Der Nachteil ist die Sichtbarkeit: Eine vollständige TCP-Verbindung erscheint in Server-Protokollen, Firewall-Aufzeichnungen und IDS/IPS-Alarmen. Wenn Diskretion wichtig ist, verwenden Sie stattdessen einen SYN-Scan.

SYN-Stealth-Scan

Der SYN-Scan, auch Half-Open-Scan genannt, ist Nmaps Standard, wenn Sie es mit Root-Privilegien ausführen. Er sendet ein SYN-Paket und wartet auf eine Antwort, ohne den Handshake abzuschließen:

bash
sudo nmap -sS 192.168.1.10

Wenn das Ziel mit SYN-ACK antwortet, ist der Port offen. Nmap sendet sofort ein RST, um die Verbindung zu beenden, bevor sie vollständig aufgebaut ist. Wenn das Ziel mit RST antwortet, ist der Port geschlossen. Wenn nach mehreren Neuübertragungen keine Antwort kommt, wird der Port als gefiltert markiert, was bedeutet, dass eine Firewall oder ein Paketfilter wahrscheinlich den Datenverkehr blockiert.

Ein Standard-SYN-Scan prüft 1.000 der am häufigsten verwendeten TCP-Ports. Um alle 65.535 Ports zu scannen:

bash
sudo nmap -sS -p- 192.168.1.10

Das Flag -p- bedeutet «alle Ports». Sie können auch benutzerdefinierte Bereiche angeben. Scannen Sie nur die wichtigsten Web- und Datenbank-Ports:

bash
sudo nmap -sS -p 21,22,80,443,3306,5432,8080,8443 192.168.1.10

UDP-Scanning: das vergessene Protokoll

Viele Sicherheitsbewertungen konzentrieren sich ausschließlich auf TCP und verpassen kritische Dienste, die auf UDP laufen. DNS (Port 53), SNMP (Port 161), DHCP (Port 67/68) und NTP (Port 123) basieren alle auf UDP. Ein verwundbarer SNMP-Dienst mit Standard-Community-Strings kann die gesamte Netzwerkkonfiguration einem Angreifer offenlegen.

UDP-Scanning ist grundlegend langsamer als TCP, weil es keinen Handshake gibt. Nmap sendet ein UDP-Paket an den Ziel-Port. Wenn der Port geschlossen ist, gibt das Ziel eine ICMP-«Port Unreachable»-Nachricht zurück. Wenn der Port offen ist, kann er mit Daten antworten oder überhaupt nichts senden. Diese Stille macht UDP-Scanning zu einem Wartespiel auf Timeouts.

bash
sudo nmap -sU --top-ports 100 192.168.1.10

Das Flag --top-ports 100 begrenzt den Scan auf die 100 am häufigsten verwendeten UDP-Ports, was die Scan-Zeit drastisch reduziert. Ein vollständiger UDP-Scan aller 65.535 Ports kann über eine Stunde auf einem einzelnen Host dauern. Für gründliche Bewertungen kombinieren Sie TCP und UDP:

bash
sudo nmap -sS -sU -p T:1-1000,U:53,67,68,123,161,162,500 192.168.1.10

Dies scannt die Top-1.000-TCP-Ports und spezifische hochwertige UDP-Ports in einem Durchgang.

Dienstversionserkennung

Zu wissen, dass Port 8080 offen ist, sagt Ihnen wenig. Zu wissen, dass er Apache Tomcat 9.0.43 ausführt, sagt Ihnen genau, welche CVEs Sie prüfen müssen. Die Versionserkennung verwandelt eine Liste offener Ports in ein Software-Inventar, das Sie recherchieren, testen und berichten können.

bash
sudo nmap -sV 192.168.1.10

Das Flag -sV löst Nmaps Dienstsonden aus. Für jeden offenen Port sendet Nmap eine Reihe protokollspezifischer Anfragen und vergleicht die Antworten mit einer Datenbank von über 11.000 Dienstsignaturen. Die Ausgabe enthält den Dienstnamen, die Versionsnummer und manchmal zusätzliche Details wie die OS-Distribution oder den konfigurierten Hostnamen.

Sie können die Erkennungsintensität steuern. Die Standardstufe (7 von 9) balanciert Genauigkeit mit Geschwindigkeit. Für maximale Genauigkeit bei kritischen Zielen:

bash
sudo nmap -sV --version-intensity 9 192.168.1.10

Für schnellere Scans während der ersten Aufklärung senken Sie die Intensität:

bash
sudo nmap -sV --version-light 192.168.1.10

Die Versionserkennung ist der Punkt, an dem Nmap von der Aufklärung zu umsetzbarer Intelligenz übergeht. Ein Schwachstellenscanner gleicht die exakte Versionszeichenkette mit Datenbanken wie der National Vulnerability Database (NVD) ab. OpenSSH 7.4 auf einem Server im Jahr 2026 zu finden, sagt Ihnen sofort, dass dieses System Jahre hinter den Sicherheits-Patches liegt.

OS-Erkennung und Fingerprinting

Nmap identifiziert Betriebssysteme, indem es subtile Unterschiede in der Implementierung der TCP/IP-Stacks analysiert. Windows, Linux, macOS und Netzwerkgeräte antworten alle auf speziell gestaltete Pakete auf leicht unterschiedliche Weise. Diese Unterschiede bilden einen Fingerprint, den Nmap mit seiner Datenbank abgleicht.

bash
sudo nmap -O 192.168.1.10

Die OS-Erkennung funktioniert am besten, wenn mindestens ein offener und ein geschlossener Port auf dem Ziel existieren. Ohne beides kann Nmap nicht die vollständige Palette der Sondenpakete senden, die für ein genaues Fingerprinting benötigt werden. Die Ausgabe enthält die OS-Familie, eine Versionsschätzung und einen Konfidenzprozentsatz.

Für einen umfassenden initialen Scan, der SYN-Scanning, Versionserkennung und OS-Erkennung kombiniert:

bash
sudo nmap -sS -sV -O 192.168.1.10

Oder verwenden Sie das Flag -A, das OS-Erkennung, Versionserkennung, Skript-Scanning und Traceroute in einem Befehl aktiviert:

bash
sudo nmap -A 192.168.1.10

Das Flag -A wird als «aggressiver» Modus bezeichnet. Es erzeugt erheblichen Netzwerkverkehr und dauert länger, verwenden Sie es daher bei gezielten Zielen statt bei ganzen Subnetzen.

Das Nmap Scripting Engine

Das Nmap Scripting Engine (NSE) erweitert Nmap von einem Port-Scanner zu einer vollständigen Aufklärungsplattform. In Lua geschrieben, umfasst NSE über 600 Skripte, organisiert in Kategorien: auth für Authentifizierungstests, vuln für Schwachstellenerkennung, discovery für Netzwerkenumeration, brute für Credential-Tests und mehr.

Führen Sie den Standardsatz von Skripten gegen ein Ziel aus:

bash
sudo nmap -sC 192.168.1.10

Das Flag -sC entspricht --script=default und führt Skripte aus, die als sicher und nützlich für die meisten Bewertungen gelten. Standard-Skripte umfassen SSH-Schlüssel-Fingerprinting, HTTP-Titelextraktion, SSL-Zertifikatsanalyse und SMB-Freigaben-Enumeration.

Zielen Sie auf spezifische Schwachstellenkategorien:

bash
sudo nmap --script vuln 192.168.1.10

Dies führt jedes Skript in der Kategorie vuln aus und prüft auf bekannte Schwachstellen in erkannten Diensten. Beachten Sie, dass einige Schwachstellenskripte aktiv Schwächen ausnutzen (wie das Testen von Standard-Zugangsdaten), lesen Sie daher die Skript-Dokumentation, bevor Sie sie gegen Produktionssysteme ausführen.

Führen Sie einzelne Skripte für gezielte Prüfungen aus. Testen Sie die EternalBlue-SMB-Schwachstelle (MS17-010):

bash
sudo nmap --script smb-vuln-ms17-010 -p 445 192.168.1.10

Prüfen Sie die SSL/TLS-Konfiguration auf Webservern:

bash
sudo nmap --script ssl-enum-ciphers -p 443 192.168.1.10

Das SANS Institute empfiehlt, NSE mit Versionserkennung für maximale Abdeckung zu kombinieren:

bash
sudo nmap -sV -sC --script vuln 192.168.1.10

Sie können die vollständige Liste verfügbarer Skripte auf nmap.org/nsedoc erkunden.

Ausgabeformate: Ihre Ergebnisse speichern

Professionelle Bewertungen produzieren Beweismaterial. Die rohe Terminal-Ausgabe ist schwer zu analysieren, zu durchsuchen und in Berichte einzufügen. Nmap unterstützt mehrere Ausgabeformate für verschiedene Zwecke.

Normale Ausgabe in eine Textdatei:

bash
sudo nmap -sS -sV -oN scan_results.txt 192.168.1.10

XML-Ausgabe für die Integration mit anderen Tools (Metasploit, Schwachstellenscanner, benutzerdefinierte Parser):

bash
sudo nmap -sS -sV -oX scan_results.xml 192.168.1.10

Grepbare Ausgabe für schnelle Kommandozeilen-Analyse:

bash
sudo nmap -sS -sV -oG scan_results.gnmap 192.168.1.10

In allen drei Formaten gleichzeitig speichern:

bash
sudo nmap -sS -sV -oA scan_results 192.168.1.10

Das Flag -oA erstellt drei Dateien mit dem von Ihnen angegebenen Basisnamen: .nmap (normal), .xml (XML) und .gnmap (grepbar). Verwenden Sie bei echten Einsätzen immer -oA. Sie wissen nie, welches Format Sie später benötigen, und das Ziel erneut zu scannen, um ein anderes Ausgabeformat zu erhalten, verschwendet Zeit und erzeugt zusätzliches Netzwerkrauschen.

Alles zusammenführen: ein praktischer Arbeitsablauf

Ein strukturierter Nmap-Arbeitsablauf durchläuft vier Phasen, wobei jede auf den vorherigen Ergebnissen aufbaut.

Phase 1: Host-Erkennung. Durchsuchen Sie den Zielbereich nach aktiven Hosts.

bash
sudo nmap -sn 10.0.1.0/24 -oA discovery

Phase 2: Schneller Port-Scan. Scannen Sie entdeckte Hosts nach den häufigsten Ports.

bash
sudo nmap -sS --top-ports 1000 -iL targets.txt -oA quick_scan

Phase 3: Tiefe Enumeration. Führen Sie vollständige Port-Scans mit Versions- und OS-Erkennung auf interessanten Zielen durch.

bash
sudo nmap -sS -sV -O -p- -iL priority_targets.txt -oA deep_scan

Phase 4: Gezieltes NSE. Führen Sie Schwachstellen- und Enumerationsskripte gegen spezifische Dienste aus.

bash
sudo nmap -sV --script vuln,auth -p 21,22,80,443,445 -iL priority_targets.txt -oA vuln_scan

Dieser phasenweise Ansatz ist effizient und methodisch. Sie vermeiden es, Stunden mit vollständigen Port-Scans irrelevanter Hosts zu verbringen, und bauen ein vollständiges Bild auf, das jeden Fund für Ihren Bericht dokumentiert.

Timing und Leistung

Nmap bietet Timing-Vorlagen von T0 (paranoid) bis T5 (wahnsinnig). Der Standard ist T3 (normal). Bei internen Bewertungen, wo Diskretion weniger kritisch ist, erhöhen Sie die Geschwindigkeit:

bash
sudo nmap -T4 -sS -sV -p- 192.168.1.10

Bei externen Bewertungen, wo IDS-Umgehung wichtig ist, verlangsamen Sie den Scan:

bash
sudo nmap -T2 -sS -sV 10.0.1.10

Die T4-Vorlage ist die am häufigsten verwendete bei professionellen Bewertungen. Sie bietet eine bedeutende Geschwindigkeitssteigerung, ohne Zielnetzwerke zu überlasten. Vermeiden Sie T5 in Produktionsnetzwerken, da das aggressive Timing Paketverluste verursachen und ungenaue Ergebnisse produzieren kann.

Häufige Fehler, die Sie vermeiden sollten

Anfänger machen beim Einstieg in Nmap oft die gleichen Fehler. Vollständige Port-Scans ohne vorherige Host-Erkennung zu starten verschwendet Zeit und Bandbreite. Das Vergessen des sudo-Präfixes bedeutet, dass Nmap auf TCP-Connect-Scans zurückfällt statt schnellere SYN-Scans zu verwenden. Ohne gespeicherte Ausgabe zu scannen bedeutet, Ergebnisse zu verlieren, die Sie nicht reproduzieren können. UDP zu ignorieren hinterlässt einen blinden Fleck, den Angreifer nicht ignorieren werden. Aggressives Timing (T5) in überlasteten Netzwerken zu verwenden produziert unzuverlässige Ergebnisse, weil Timeouts falsche Negative erzeugen.

Der bedeutendste Fehler ist, Nmap als ein Punkt-und-Klick-Werkzeug zu behandeln, anstatt zu verstehen, was jeder Scantyp auf Paketebene tut. Wenn Sie verstehen, dass ein SYN-Scan durch Manipulation des TCP-Handshakes funktioniert, können Sie fundierte Entscheidungen treffen, welcher Scantyp zu welcher Situation passt. Wenn Sie verstehen, dass UDP-Scanning auf ICMP-Antworten geschlossener Ports angewiesen ist, verstehen Sie, warum es so lange dauert und wie man es optimiert.

Was Sie als Nächstes üben sollten

Nmap ist ein Werkzeug, das man durch Anwendung lernt. Richten Sie ein Heimlabor mit virtuellen Maschinen ein, die verschiedene Betriebssysteme und Dienste ausführen. Scannen Sie sie systematisch. Vergleichen Sie SYN-Scan-Ergebnisse mit Connect-Scan-Ergebnissen und beobachten Sie die Unterschiede in Ihren Wireshark-Aufnahmen. Führen Sie Versionserkennung gegen bekannte Dienste aus und überprüfen Sie die Genauigkeit. Erkunden Sie NSE-Skripte, indem Sie ihre Dokumentation lesen und sie gegen absichtlich verwundbare Maschinen wie Metasploitable 2 oder DVWA testen.

Lernen Sie die Linux-Kommandozeile, falls Sie es noch nicht getan haben, denn die volle Leistung von Nmap kommt aus der Verkettung mit anderen Kommandozeilen-Tools. Leiten Sie grepbare Ausgabe an awk weiter, um spezifische Felder zu extrahieren. Verwenden Sie diff, um Scan-Ergebnisse über die Zeit zu vergleichen und neue Dienste zu erkennen. Speisen Sie XML-Ausgabe in Frameworks wie Metasploit für Exploitations-Arbeitsabläufe ein.

Elena beendete ihren ersten Einsatz mit einem 47-seitigen Bericht, der jeden Host, jeden offenen Port, jede veraltete Dienstversion und jede Schwachstelle dokumentierte, die das Team ausgenutzt hatte. Nmap hatte die Grundlage für all das geliefert. Das Werkzeug erforderte keine monatelange Studie oder fortgeschrittene Programmierkenntnisse. Es erforderte ein Terminal, ein Ziel, das sie scannen durfte, und die Bereitschaft, Befehle einzugeben und die Ausgabe zu lesen. Das Netzwerk sagt Ihnen alles. Sie müssen nur wissen, wie man zuhört.

Über den Autor
Daute Delgado, Founder & Bootcamp Director at Unihackers
Daute Delgado

Gründer von Unihackers

Ein Jahrzehnt im Schutz von Fluggesellschaften, SOCs und internationalen Organisationen

Daute hat Unihackers nach einem Jahrzehnt im Schutz von Fluggesellschaften, Managed SOCs und internationalen Organisationen gegründet. Er ist Associate C|CISO und feste Stimme zu KI und Cybersicherheit in internationalen Medien. Silver Winner bei den Cyber Security Excellence Awards 2021. Er unterrichtet so, wie er selbst gerne unterrichtet worden wäre: ohne Lärm, anhand dessen, was Angreifer wirklich tun, und mit Absolventen, die ab Tag eins nützlich sind.

Profil ansehen
Starten Sie Ihre Reise

Bereit, Ihre Cybersecurity-Karriere zu starten?

Schließen Sie sich Hunderten von Fachleuten an, die mit unserem praxisorientierten Bootcamp in die Cybersecurity gewechselt sind.

Starten Sie Ihre Reise

Bereit, Ihre Cybersecurity-Karriere zu starten?

Schließen Sie sich Hunderten von Fachleuten an, die mit unserem praxisorientierten Bootcamp in die Cybersecurity gewechselt sind.

Stunden
360+
Offene EU-Stellen
300K+
Durchschn. Gehalt
$85K
Das Bootcamp erkunden