Dieser Beitrag ist erschienen in freiesMagazin (Link) 05/2010 / Lizenz: GNU Free Documentation License (GNU FDL) (Link) / Autor: Thorsten Töpper.
Wenn Sie diesen Artikel weiterverwenden möchten, beachten Sie bitte die Lizenzbedingungen. Vielen Dank.
Der Portscanner Nmap – Eine Einführung
von Thorsten Töpper
Wer mit Netzwerken zu tun hat, wird früher oder später über den Begriff Portscanner stolpern – jene Softwaregattung, welche es einem ermöglicht herauszufinden, auf welchen Ports sein eigenes System Dienste bereitstellt und zu welchen Ports dieses Systems man Verbindung aufnehmen kann. Die Verwendung eines Portscanners zum Überprüfen von eigenen Netzwerken ist eine wichtige Sache. Dabei ist die Verwendung gegen ein eigenes System nicht verboten [1] [2]. Dieser Artikel stellt den bekannten Portscanner Nmap vor und führt in die Grundlagen seiner Bedienung ein.
Installation
Es gibt kaum eine Linuxdistribution, bei der es nicht möglich ist, Nmap mittels der Paketverwaltung über das meist gleichnamige Paket nmap zu installieren. Wer Nmap für Windows benötigt oder das Programm aus den Quellen heraus installieren muss, findet dies auf der Projektseite [3]. Generell sollte man Nmap aber mithilfe der Paketverwaltung installieren.
Da der Scanner weit mehr Funktionen bietet als das reine Scannen von Systemen, hat er auch einige zusätzliche Abhängigkeiten mit den Paketen openssl, libpcap und pcre. Allerdings liegen die Pakete libpcap und pcre in angepasster Form den Nmap-Quellen bei, eine weitere Installation ist also nicht zwingend notwendig.
Wer die grafische Oberfläche Zenmap [4] nutzen möchte, benötigt außerdem python und pygtk.
Erste Schritte
Für einen einfachen Scan der ersten 1000 Ports genügt der Aufruf von Nmap mit dem gewünschten Ziel. Dieses kann auf verschiedene Arten angegeben werden: als einfache IP-Adresse, als Host oder auch als IP-Bereich. Bei IP-Adressen gelten nach wie vor IPv4-Adressen als Standard; soll eine IPv6-Adresse gescannt werden, ist die Verwendung des Schalters -6 nötig. Allerdings sind noch nicht alle Funktionen des Scanners IPv6-fähig; außerdem muss das System IPv6 unterstützen. Einen Scan des eigenen Systems kann man über einen der folgenden Aufrufe durchführen:
$ nmap 127.0.0.1 |
Dabei werden mit dem letzten Befehl die Adressen von 127.0.0.1 bis 127.0.0.254 überprüft.
Die Ausgabe für einen IPv6-Scan des Localhosts mittels nmap -6 ::1 kann beispielsweise so aussehen:
$ nmap -6 ::1 |
Die Ausgabe eines Scans mit der IPv4-Adresse 127.0.0.1 auf demselben System könnte dies hier liefern:
$ nmap 127.0.0.1 |
Wie man den Daten entnehmen kann, ist der SSH-Dienst dieses Systems ausschließlich über IPv4 zu erreichen. Man sieht also, dass den Ergebnissen unterschiedlicher Scans desselben Systems schon Informationen über die Konfiguration einzelner Dienste entnommen werden können.
Systeminformationen auslesen
Anders als die meisten Portscanner bietet Nmap die Möglichkeit, weitere Informationen über das System und die darauf verwendeten Dienste auszulesen.
Für das Auslesen der Dienstversionen wird der Schalter -sV verwendet, für das Auslesen der Informationen über das Betriebssystem der Schalter -O, hierfür muss die Ausführung mit Rootrechten erfolgen:
# nmap -O -sV 127.0.0.1 |
Zu scannende Bereiche festlegen
Für die Festlegung der zu scannenden Ports gibt es verschiedene Argumente für den Schalter -p. So scannt man die Ports 1000 bis 1010 mittels:
$ nmap -p 1000-1010 127.0.0.1 |
Möchte man gezielt eine Liste einzelner Ports scannen, trennt man diese durch Kommata:
$ nmap -p 22,80,443 127.0.0.1 |
Möchte man alle 65 536 Ports scannen, setzt man einen Bindestrich direkt hinter den Schalter:
$ nmap -p- 127.0.0.1 |
Darüber hinaus bietet Nmap noch einige weitere Möglichkeiten zur Wahl der zu scannenden Ports, wie den Schalter -F, mit welchem die 100 Ports, welche am wahrscheinlichsten offen sind, gescannt werden. Zum Absichern des eigenen Systems sind diese aber nicht zwingend nötig.
Scantimings und Host Discovery
Um die eigene Firewall zu testen, sollte man sein System mit unterschiedlichen Timings scannen. Nmap liefert hierfür den Schalter -Tx, wobei x für eine Ziffer von 0 bis 5 steht. Die Ziffern stehen für:
# Alias |
Ein sogenannter Quick Scan erfolgt mittels
$ nmap -T4 -F 127.0.0.1 |
Man muss nun nicht unbedingt alle sechs Timings ausprobieren, aber ein Versuch mit zwei unterschiedlichen ist dennoch anzuraten, um die Reaktion der Firewall in Erfahrung zu bringen.
Da manche Systeme Pings blockieren, ist es ratsam, den Schalter -PN zu nutzen, woraufhin Nmap jedes System scannt, ungeachtet dessen, ob dieses auf einen Ping reagiert.
Mehr Informationen zu den verschiedenen Timing-Optionen findet man auf den Nmap-Projektseiten [5].
Grafische Oberflächen
Da man als normaler Heimanwender nicht sonderlich oft ein System absichern muss, aber auch nicht unbedingt die Manpage nach passenden Optionen durchsuchen möchte, ist es ratsam, die Nmap zugehörige GTK-Oberfläche Zenmap zu nutzen. Es vereinfacht die Bedienung enorm und führt auch schnell in die weitere Bedienung des Scanners ein.
Für Qt-Nutzer gibt es mit Nmapsi [6] ein Qt-Gegenstück, dieses muss jedoch gesondert installiert werden.
Weiterführende Literatur
Dieser Artikel soll nur als einfache Einführung in die grundlegende Verwendung dieses doch sehr umfangreichen Programms dienen. Eine komplette Beschreibung würde sicherlich eine ganze Ausgabe von freiesMagazin füllen.
Wer sich weiter mit Nmap auseinandersetzen möchte, sei zuerst einmal auf die sehr ausführliche und übersichtliche Manpage [7] verwiesen, des Weiteren findet man auf der Projektseite auch Informationen zum Buch [8] über dieses Programm sowie Teile des englischen Originals zur Lektüre im Browser.
Links
[1] http://www.bundesverfassungsgericht.de/pressemitteilungen/bvg09-067.html
[2] http://www.pro-linux.de/NB3/artikel/2/400/bundesverfassungsgericht-und-der-hackerparagraph-202.html
[3] http://nmap.org/download.html
[5] http://nmap.org/book/man-performance.html
[7] http://linux.die.net/man/1/nmap
Autoreninformation
Thorsten Töpper studiert Informatik Bachelor und ist in seiner Freizeit als Trusted-User bei Arch Linux aktiv. Durch sein reges Interesse an Netzwerken und Firewalls verwendet er Nmap regelmäßig in seiner Freizeit.
| < Zurück | Weiter > |
|---|





