====== nmap ======
**nmap** ist ein [[http://wiki.ubuntuusers.de/Portscan|Portscanner]], mit dem sich Netzwerke und / oder Computer im Internet (d.h. mit eigener IP-Adresse) auf offene Ports und den darauf lauschenden Diensten prüfen lassen. nmap kann z.B. zum Testen der eigenen Firewallkonfiguration eingesetzt werden oder auch zum Testen des eigenen Computers auf offene Ports und (unerwünscht?) im Hintergrund laufenden Diensten.
===== Links =====
* [[http://wiki.ubuntuusers.de/nmap|Quelle dieses Artikels: Ubuntuusers.de]]
* [[http://insecure.org/nmap|Homepage von nmap]]
* [[wpde>Nmap|Wikipedia zu nmap]]
===== Paket installieren =====
Das Paket **nmap** muss installiert werden:
sudo aptitude install nmap
===== Bedienung =====
Um nmap zu starten, öffnet man ein Terminal [[#source-3|[3]]] und führt den folgenden Befehl aus:
sudo nmap [Scan-Technik] Ziel
Als //Ziel// sollte eine IP-Adresse (oder ein Adressbereich) angegeben werden. Wird nmap ohne Angabe eines Ziels aufgerufen, so erhält man als Ausgabe eine kurze Übersicht über die verschiedenen Scan-Techniken und Optionen.
==== Hinweis: ====
nmap kann auch ohne Root-Rechte gestartet werden, allerdings ist der Funktionsumfang (also die Art der möglichen Scans) dann stark eingeschränkt.
==== Scan-Techniken ====
nmap kennt verschiedene Scan-Techniken, die wie folgt aufgerufen werden können:
^ **nmap - Scan-Techniken** ^^
^ **Scan Technik** ^ **Beschreibung** ^
| -sT | Einfacher Connect Scan. Hierbei wird pro zu scannendem Port eine volle TCP-Verbindung auf- und wieder abgebaut. Dieser Scan steht als einziger zur Verfügung, wenn **nmap** ohne Root-Recht aufgerufen wird. |
| -sS | "SYN-Stealth-Scan": Ähnlich -sT, allerdings wird keine komplette TCP-Verbindung aufgebaut, daher unauffälliger. (Standard bei Root-Rechten) |
| -sU | Scannt UDP-Ports statt TCP. |
| -sP | Ping-Scan: Prüft nur auf Erreichbarkeit über Ping. Sinnvoll, um ganze Netzbereiche auf aktive Hosts zu testen. |
==== Experten-Info: ====
Folgende etwas exotischere Techniken (und noch weitere) können in Einzelfällen sinnvoll sein. Es empfiehlt sich aber das vorherige Studium der [[http://wiki.ubuntuusers.de/man|Manpage]] oder der [[http://insecure.org/nmap|Homepage]] von nmap, um die Besonderheiten und möglichen Erkenntnisse zu verstehen.
^ **Besondere Scantechniken** ^^
^ **Scan Technik** ^ **Beschreibung** ^
| "-sF" , "-sN" , "-sX" | nmap sendet an die zu scannenden Ports bewusst manipulierte bzw. falsche TCP-Pakete. Anhand der Reaktion des Ports (bzw. des Servers) lassen sich ggfs. Rückschlüsse ziehen, ob der Port offen oder von einer Firewall geschützt ist. Im Vergleich zu "-sT" oder "-sR" ebenfalls unauffälliger. |
| "-sA", "-sW" | Dient ebenfalls zum Testen, ob ein Port offen oder geschlossen bzw. geschützt ist. Besonders gut zum Erkennen von Firewalls. |
==== Optionen====
nmap kennt diverse Optionen, die mit den oben genannten Scan-Techniken kombiniert werden können:
=== Versions- und OS-Erkennung ===
^ **nmap - Optionen (Version und OS)** ^^
^ **Option** ^ **Beschreibung** ^
| -sR | Wird ein RPC-Dienst erkannt, so werden zusätzliche RPC-Pakete gesendet, da so evtl. weitere Informationen zum dem auf dem betreffenden Port lauschenden Dienst herausgefunden werden können. |
| -sV | Versucht durch zusätzliche Tests, den Dienst auf jedem offenen Port zu identifizieren. Beinhaltet -sR. |
| -O | OS-Detection: Versucht, an besonderen Eigenarten der Netzwerkimplementierungen das Betriebssystem des Zieles zu identifizieren. |
| -A | Kurzform für -sV -O |
=== Ports ===
Standardmäßig scannt nmap alle Ports von 1 bis 1024, sowie die höheren, die in der Datei **/usr/share/nmap/nmap-services** aufgeführt sind. Folgende Optionen erzeugen ein abweichendes Verhalten:
^ **nmap - Optionen (Ports)** ^^
^ **Option** ^ **Beschreibung** ^
| -p X | Scannt nur Port X |
| -p X-Y | Scannt nur Port X bis Y |
| -p X,Y,Z | Scannt die Ports X, Y und Z |
| -p- | Alle Ports scannen |
| -F | Schneller Scan, scannt nur die bekannten Ports, welche in der Datei **nmap-services** aufgeführt sind. |
| -r | Scannt alle Ports in numerischer Reihenfolge, was zu besserer Übersichtlichkeit mit der Option -v führen kann. Standardmäßig wählt nmap eine zufällige Reihenfolge. |
=== sonstige Optionen ===
^ **nmap - Optionen (Ports)** ^^
^ **Option** ^ **Beschreibung** ^
| -P0 | Normalerweise überprüft nmap vor einem vollen Portscan über Ping und TCP-Port 80, ob der Rechner überhaupt existiert und online ist. Diese Option schaltet das ab und wird benötigt um Hosts zu scannen, die keinen Webserver laufen haben und Ping blocken. |
| -e eth0 | Weist nmap explizit an, die Netzwerkschnittstelle eth0 zu nutzen. Normalerweise wählt nmap die Schnittstelle selber aus. |
| -oN DATEI | Protokolliert den Scan in **DATEI** |
| -v | Gibt zusätzliche Informationen während des Scans aus. Kann nie schaden. |
===== Grafische Oberflächen für nmap =====
Grundsätzlich start man aber besser mit [[http://wiki.ubuntuusers.de/sudo|Root-Rechten]], da sonst der Funktionsumfang (also die Art der möglichen Scans) dann stark eingeschränkt ist. Mit Hilfe der genannten Programme kann man die verschiedenen oben geschriebenen Scantechniken und Optionen bequem aus diversen Auswahlmenüs zusammenstellen. Der entsprechenden Aufruf von nmap wird in einer Zeile des Fensters dargestellt.
* [[http://nmap.org/zenmap/|zenmap]]
* [[http://www.heise.de/software/download/nmapfe/14703sp1|NmapFE]]