Der Portscanner Nmap
Eine Einführung
Dieser Artikel stellt den bekannten Portscanner Nmap vor und führt in die Grundlagen seiner Bedienung ein.
Vorwort
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 (siehe auch ein Interview auf Pro-Linux.de. Dieser Artikel stellt den bekannten Portscanner Nmap vor und führt in die Grundlagen seiner Bedienung ein.
Installation
Es gibt kaum eine Linux-Distribution, 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. 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 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 nmap -6 ::1 nmap localhost nmap 127.0.0.1-254
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 Starting Nmap 5.21 ( http://nmap.org ) at 2010-02-28 02:08 CET Nmap scan report for ::1 Host is up (0.00026s latency). Not shown: 999 closed ports PORT STATE SERVICE 631/tcp open ipp Nmap done: 1 IPaddress (1 host up) scanned in 0.10 seconds
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 Starting Nmap 5.21 ( http://nmap.org ) at 2010-02-28 02:11 CET Nmap scan report for localhost.localdomain (127.0.0.1) Host is up (0.00024s latency). Not shown: 998 closed ports PORT STATE SERVICE 22/tcp open ssh 631/tcp open ipp Nmap done: 1 IP address (1 host up) scanned in 0.06 seconds
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.