Nmap Netzwerk Scanning Tutorial
Nmap Netzwerk-Scanning Tutorial – Netzwerk analysieren und absichern
Was ist Nmap?
Nmap (Network Mapper) ist ein kostenloses Open-Source-Tool zum Erkunden und Überprüfen von Netzwerken. Es kann:
- Hosts in einem Netzwerk ermitteln
- Offene Ports identifizieren
- Betriebssysteme erkennen
- Dienste und deren Versionen identifizieren
- Sicherheitslücken aufspüren
Nmap installieren
Unter Ubuntu/Debian
$ sudo apt update $ sudo apt install nmap nmap-scripts
Unter RHEL/CentOS
$ sudo yum install nmap
Version überprüfen
$ nmap --version Nmap version 7.92 ( https://nmap.org )
Grundlegende Scan-Typen
Einfacher Ping-Scan
Nur Host-Erkennung, keine Port-Scans:
$ nmap -sP 192.168.1.0/24 Starting Nmap 7.92 Nmap scan report for 192.168.1.1 Host is up (0.0023s latency). Nmap scan report for 192.168.1.50 Host is up (0.0045s latency).
SYN Scan (Stealth Scan)
Standard-Scan, schnell und zuverlässig. Erkennt Open, Closed, Filtered:
$ sudo nmap -sS 192.168.1.50 Starting Nmap 7.92 Nmap scan report for 192.168.1.50 Host is up (0.0034s latency). Not shown: 998 filtered ports PORT STATE SERVICE 22/tcp open ssh 80/tcp open http
TCP Connect Scan
Vollständige TCP-Verbindung. Funktioniert ohne Root-Rechte:
$ nmap -sT 192.168.1.50
UDP Scan
Scannt UDP-Ports (langsamer):
$ sudo nmap -sU 192.168.1.50 PORT STATE SERVICE 53/udp open domain 161/udp open snmpPort-Bereiche scannen
Spezifische Ports scannen
$ nmap -p 22,80,443 192.168.1.50 $ nmap -p 1-1000 192.168.1.50 # Ports 1-1000 $ nmap -p- 192.168.1.50 # Alle Ports (0-65535)OS-Erkennung
Betriebssystem erkunden
Mit -O wird versucht, das OS zu erkennen:
$ sudo nmap -O 192.168.1.50 Nmap scan report for 192.168.1.50 Host is up (0.0034s latency). ... Device type: general purpose Running: Linux 5.x OS CPE: cpe:/o:linux:linux_kernel:5 OS details: Linux 5.4 - 5.19Aggressivere Erkennung
$ sudo nmap -A 192.168.1.50 # -A = -O -sV -sC --tracerouteService und Versions-Erkennung
Dienste auf Ports identifizieren
-sV versucht, die Service-Version zu erkennen:
$ nmap -sV 192.168.1.50 PORT STATE SERVICE VERSION 22/tcp open ssh OpenSSH 7.4 (protocol 2.0) 80/tcp open http Apache httpd 2.4.6 (CentOS) 443/tcp open https Apache httpd 2.4.6 (CentOS)Output-Formate
Normal Output
$ nmap 192.168.1.50 -oN scan-output.txtXML Output (für Tools)
$ nmap 192.168.1.50 -oX scan-output.xmlGrepable Output
$ nmap 192.168.1.50 -oG scan-output.gnmap $ cat scan-output.gnmap | grep "open"Alle Formate gleichzeitig
$ nmap 192.168.1.50 -oA scan-output # Erzeugt: scan-output.nmap, scan-output.xml, scan-output.gnmapNSE Scripts (Nmap Scripting Engine)
NSE Scripts sind Module für erweiterte Scans. Sie können Sicherheitslücken prüfen, Informationen sammeln und mehr:
Verfügbare Scripts auflisten
$ ls /usr/share/nmap/scripts/ | head -20 acarsd-info.nse afp-brute.nse afp-ls.nse afp-path-vuln.nse afp-serverinfo.nseHäufig verwendete Scripts
$ nmap --script=ssl-enum-ciphers -p 443 192.168.1.50 # SSL/TLS Ciphers $ nmap --script=smb-os-discovery 192.168.1.50 # Windows OS-Info $ nmap --script=http-title 192.168.1.50 # HTTP Title $ nmap --script=dns-brute 192.168.1.50 # DNS Brute-Force $ nmap --script=vuln 192.168.1.50 # Vulnerability ScanTiming Templates
Nmap hat verschiedene Timing-Profile für unterschiedliche Szenarien:
| Template | Name | Geschwindigkeit | Use-Case |
|---|---|---|---|
-T0 |
Paranoid | Sehr langsam | Unerkannt bleiben (IDS-Umgehung) |
-T1 |
Sneaky | Langsam | IDS-evasion |
-T2 |
Polite | Normal | Weniger Netzwerk-Last |
-T3 |
Normal | Standard | Default-Verhalten |
-T4 |
Aggressive | Schnell | Lokales Netzwerk |
-T5 |
Insane | Sehr schnell | Schnelle lokale Scans |
Beispiel:
$ nmap -T4 192.168.1.0/24 # Aggressiver Scan für lokales Netzwerk $ nmap -T1 192.168.1.50 # Stealth-Scan über InternetPraktische Scan-Kombinationen
Schneller Vollständiger Audit eines Servers
$ sudo nmap -A -T4 -p- 192.168.1.50 -oA full-auditErklärt:
-A:Aggressiver Scan (OS, Version, Scripts)-T4:Schnelle Timing-p-:Alle 65535 Ports-oA:Alle Output-Formate speichern
Netzwerk-Host-Discovery
$ nmap -sn 192.168.1.0/24 # Ping-Scan: Welche Hosts sind online?Security Audit: Vulnerable Services
$ sudo nmap --script vuln,safe -p- 192.168.1.50 -oA vuln-scanWeb-Server Audit
$ nmap -sV -sC -p 80,443 --script http* 192.168.1.50Eigene Server mit Nmap überprüfen
✅ Gut zu wissen: Das Scannen deiner eigenen Systeme ist der beste Weg, um Sicherheitslücken zu finden, bevor es Angreifer tun.Schritt 1: Externe Ports überprüfen
$ nmap -sS -p 1-65535 YOUR_SERVER_IP -oA external-scanErwartetes Ergebnis: Nur notwendige Ports sollten offen sein (z.B. 22/SSH, 80/HTTP, 443/HTTPS).
Schritt 2: Services identifizieren
$ nmap -sV YOUR_SERVER_IP | grep "open"Überprüfe, ob die Service-Versionen aktuell sind.
Schritt 3: Sicherheitslücken prüfen
$ sudo nmap --script vuln YOUR_SERVER_IPHäufige Nmap-Optionen Zusammenfassung
| Option | Beschreibung | Beispiel |
|---|---|---|
-sS |
SYN Stealth Scan | nmap -sS 192.168.1.50 |
-sT |
TCP Connect Scan | nmap -sT 192.168.1.50 |
-sU |
UDP Scan | nmap -sU 192.168.1.50 |
-p |
Port-Bereich | nmap -p 22,80,443 192.168.1.50 |
-O |
OS-Detection | sudo nmap -O 192.168.1.50 |
-sV |
Service-Version | nmap -sV 192.168.1.50 |
--script |
NSE Scripts | nmap --script vuln 192.168.1.50 |
-A |
Aggressiv (OS, Version, Scripts) | sudo nmap -A 192.168.1.50 |
-T |
Timing Template | nmap -T4 192.168.1.50 |
-oN |
Speichere Normal Output | nmap -oN scan.txt 192.168.1.50 |
-oX |
Speichere XML Output | nmap -oX scan.xml 192.168.1.50 |
-oG |
Speichere Grepable Output | nmap -oG scan.gnmap 192.168.1.50 |
-oA |
Alle Output-Formate | nmap -oA scan 192.168.1.50 |
Wichtige Sicherheitshinweise
- Deine eigenen Systeme und Netzwerke
- Autorisierte Penetrationstests
- Security-Audits mit schriftlicher Genehmigung