netzwerk-header
 
Navigation
image Home
image Datenschutz
image Impressum
nav

Netzwerke
image Geschichte
image Grundlagen
image Komponente
image Skripte
image FAQ
image Glossar
nav

W-LAN
image Allgemeines
image Sicherheit
image Reichweite
nav

Netzwerk Praxis
image Windows
image Linux
nav

Sonstiges
image Downloads
image Hardware
image Specials
image Newsarchiv
image Partner
nav

 
 


Nmap Tutorial / Nmap HowTo

Nmap ist einer der bekanntesten Netzwerkscanner überhaupt. Das Programm gilt als digitales Schweizer Messer und sollte nicht nur von Administratoren beherrscht werden können. Für einen optimalen Einstieg mit Nmap gibt es nachfolgend ein kleines Nmap Tutorial in dem man die Grundlagen zum Programm lernt.


Nmap Installation

Schon bei der Installation von Nmap sollte man aufmerksam sein, um das Programm besser verstehen zu können. So werden neben dem eigentlichen Programm Nmap noch weitere Komponente installiert, die für den Betrieb wichtig sind. Da wäre z.B. die WinPcap-Programmbibliothek die Treiber für den Zugriff auf die Netzwerkkarte enthält. Zenmap hingegen ist die grafische Oberfläche (GUI) von Nmap. Nmap selbst ist nämlich ein Kommandozeilen-Tool. Um das Programm aber Einsteigerfreundlich zu gestalten, haben die Entwickler noch eine grafische Oberfläche entwickelt. Im nachfolgenden Nmap Tutorial steht vor allem die Kommandozeile im Vordergrund, dennoch sollte man mal Zenmap installiert und damit gearbeitet haben.
Nmap Installation

Nmap Start

Wie schon gesagt kann man Nmap auch mit Zenmap als grafische Oberfläche starten. Dafür reicht ein Doppelklick auf die Verknüpfung die je nach Auswahl auf dem Desktop erscheint. Wir wollen uns aber der Kommandozeile widmen. Diese startet man unter Windows mit einem Klick auch „Start“ -> „Ausführen“ und der anschließenden Eingabe von „cmd“ und das Bestätigen mit Enter. Anschließend geht eine schwarze „DOS“-Box auf – die Konsole.

Wer bei der Installation nicht das Häkchen von der Option „Register Nmap Path“ entfernt hat, der kann Nmap von jedem beliebigen Pfad aufrufen und muss nicht erst zum Installations-Pfad wechseln. Durch die einfach Eingabe von des Befehls „nmap“ und der anschließenden Bestätigung mit Enter, werden allerlei Parameter aufgelistet, mit denen man das Programm steuern kann.

Der Aufbau eines Nmap-Scans sieht im Grundsatz folgendermaßen aus:

nmap Optionen Zielbereich

Der Zielbereich könnte also z.B. so aussehen: 192.168.0.1-5. Damit würden die Geräte mit den IP-Adressen 192.168.0.1, 192.168.0.2, 192.16.8.0.3 ... 192.16.8.0.5 gescannt werden. Insgesamt also 5 Adressen. Natürlich kann auch nur eine einzige Ip-Adresse gescannt werden:

Nmap Konsole


Der Zielbereich kann ebenfalls aus einer mit Komma getrennte Liste von IP-Adressen (z.B. 192.16.8.2.1,2,3,5) bestehen. Ebenfalls ist es möglich mit Asterix bzw. per Wildcard einen ganzen Block zu scannen, z.B. für 254 Hosts 192.168.2.*. Genauso ist es möglich ein ganzes Subnetz explizit zu scannen. Dafür kommt der Parameter /MASK zum Einsatz, also z.B. 192.168.2.1/16, was wiederum den Zielbereich 192.168.*.* bedeutet. Man sieht also, dass man hier sehr flexibel ist.

Wie man sieht arbeitet Nmap standardmäßig mit IPv4-Adressen. Generell sind aber auch IPv6-Adressen möglich.

Ohne weitere Optionen prüft Nmap auf dem Zielgerät die ersten 1000 Ports. Ein Großteil davon sind die so genannten Well Known Ports, also Ports die bestimmten Applikationen von der IANA fest zugeordnet sind, wie z.B. http (Port 80).

Nmap Localhost

Grundsätzlich möchte man ja seinen eigenen Rechner nach offenen Ports untersuchen. Unter Linux ist das kein Problem. Der Befehl „nmap localhost“ oder „nmap 127.0.0.1“ reicht aus und schon bekommt man die offenen Ports auf dem eigenen Computer aufgelistet. Bei Windows muss man allerdings noch zwei Parameter vor den Localhost anhängen, um ein Ergebnis zu bekommen.

Ausnahme Windows
Unter Windows muss man für den Selbstscan vor dem Localhost-Befehl noch die Parameter sT (TCP connect scan) und -Pn (Nmap soll ohne den Ping-Befehl scannen) anhängen. So lautete der vollständige Localhost-Scan unter Windows so:

nmap -sT -Pn 127.0.0.1



Zu beachten ist, dass dieser Scan etwas dauern kann. So dauerte der Localhost-Scan unter Windows bei mir etwa 200 Sekunden also über 3 Minuten.

Wie weit der Scan schon vorangeschritten ist, erkennt man in dem man eine beliebige Taste drückt. Nmap gibt dann nämlich eine Statusmeldung aus, die z.B. so aussieht:

Stats: 0:00:21 elapsed; 0 hosts completed (1 up), 1 undergoing Connect Connect Scan Timing: About 9.87% done; ETC: 00:41 (0:03:12 remaining)




Betriebssystem-Scan

Via OS-Fingerprinting kann Nmap auch das verwendete Betriebssystem des Ziels herausfinden. Dabei unterscheidet man zwischen aktiver und passiver Betriebssystemerkennung. Bei der aktiven Erkennung ist das Ergebnis meist genau und liefert das exakte Ergebnis. Dafür kann ein aktiver Scan leicht aufgedeckt werden. Möchte man also im Hintergrund bleiben, dann muss man einen passiven Scan ausführen. Dabei liest Nmap nur „passiv“ den Datenstrom mit und versucht daraus die Informationen zu ermitteln. Zwar kann solch ein passiver Scan nur sehr schwer erkannt werden, dafür sind die Ergebnisse aber auch nicht sonderlich exakt.

Einen aktiven Betriebssystem-Scan kann man mit dem Parameter -A veranlassen. Also beispielsweise:

nmap -A Zieladresse


Portscan

Natürlich kann man mit Nmap auch spezielle Ports scannen, bzw. Port-Bereiche. Dafür gibt es den Parameter -p. Möchte man alle Ports von 500 bis 5000 scannen, dann gibt man ein:

nmap -p 500-5000 Zieladresse


Möchte man lediglich Port 500 und Port 5000 scannen, dann separiert man die Ports mit Komma(s), z.B.

nmap -p 500,5000 Zieladresse



Wer viel Zeit mitbringt, der kann alle 65536 Ports mit dem Befehl „nmap -p- Zieladresse“ scannen.

Weitere Parameter

Mit Nmap kann man natürlich noch viel mehr machen. Am besten man nimmt sich selbst einmal die Zeit und geht die ganzen möglichen Parameter durch. Auch die Kombination von diesen ergibt meistens sehr aufschlussreiche Informationen. Nachfolgend stelle ich noch ein paar weitere nützliche Parameter vor:

Ausführlicher Scan: -v

Wenn man einen ausführlichen Scan möchte, dann muss man den Parameter -v (v für verbose) an den Befehl hängen. Macht man dies, dann dokumentiert Nmap jeden seiner Schritte und gibt diese Dokumentation direkt auf dem Bildschirm aus. So kann man besser nachverfolgen was Nmap gerade macht.

Nmap Ping: -sP

Mit Nmap kann man auch einfache Pings versenden. Über diesen ICMP echo request ermittelt das Programm Geräte die im Netzwerk hängen. Möchte man z.B. wissen wer noch so ans Netzwerk: 192.168.2.X angeschlossen ist, dann kann man dies mit dem nachfolgenden Befehl herausfinden:

nmap -sP 192.168.2.*



Zu beachten ist, dass Hosts einem Echo Request nicht antworten müssen, da dies z.B. Firewalls unterdrücken.

Scannen unter falscher Identität

Natürlich nur zu Testzwecken kann man auch unter falscher Identität scannen. Das ist deshalb relevant, da man wenn man die normalen Befehle ausführt bei einer Logdatei auch entsprechend registriert wird. Man kann so jeden Scan also auf den betreffenden Computer zurückverfolgen. Scannt man unter einer falschen Identität ist das natürlich nicht mehr so einfach. Der Aufbau für einen Scan unter falscher Identität ist folgendermaßen:

nmap -sS Ziel-IP-Adresse -D Ersatz-IP-Adresse



Als Ersatz-IP-Adresse sollte eine Adresse genutzt werden, die auch im Netzwerk existiert und online ist (davor z.B. per Ping ermitteln). Es können auch mehrere Ersatz-IP-Adressen angegeben werden. Dafür muss man die Adresse einfach per Komma separieren.

Nmap/Portscanning Legal

Das scannen von Netzwerken ist nur zuhause erlaubt, bzw. man braucht die Erlaubnis für einen Portscan. Dieses Nmap Tutorial dient deshalb auch nur dafür, dass man zuhause im eigenen Netzwerk offene Ports finden und schließen kann. Wer in fremden Netzwerken, z.B. im Internet, ohne Erlaubnis irgendwelche Server scannt, der kann sich strafbar machen. Zudem kann muss man auch mit Schadensersatzansprüchen rechnen.