Nmap: Unterschied zwischen den Versionen

Aus Mikiwiki
Wechseln zu: Navigation, Suche
(Weblinks)
(Dokumentation)
 
Zeile 135: Zeile 135:
  
 
Zur Dokumentation und für Vergleiche zwischen Scan-Durchgängen bringt Nmap vielfältige Varianten der Protokollierung mit. Die Option "-oA" schaltet drei sinnvolle Formate ein und bereitet einer manuellen Überprüfung sowie der maschinellen Verarbeitung den Weg. Für Vergleiche zwischen Scan-Durchläufen steht [https://nmap.org/ndiff/ Ndiff] zur Verfügung.
 
Zur Dokumentation und für Vergleiche zwischen Scan-Durchgängen bringt Nmap vielfältige Varianten der Protokollierung mit. Die Option "-oA" schaltet drei sinnvolle Formate ein und bereitet einer manuellen Überprüfung sowie der maschinellen Verarbeitung den Weg. Für Vergleiche zwischen Scan-Durchläufen steht [https://nmap.org/ndiff/ Ndiff] zur Verfügung.
 +
 +
== Ausgabe ==
 +
 +
The output from Nmap is a list of scanned targets, with supplemental information on each depending on the options used. Key among that information is the "interesting ports table". That table lists the port number and protocol, service name, and state. The state is either open, filtered, closed, or unfiltered.
 +
* <b>Open</b> means that an application on the target machine is listening for connections/packets on that port.
 +
* <b>Filtered means</b> that a firewall, filter, or other network obstacle is blocking the port so that Nmap cannot tell whether it is open or closed.
 +
* <b>Closed</b> ports have no application listening on them, though they could open up at any time.
 +
 +
Ports are classified as unfiltered when they are responsive to Nmap's probes, but Nmap cannot determine whether they are open or closed. Nmap reports the state combinations open|filtered and closed|filtered when it cannot determine which of the two states describe a port. The port table may also include software version details when version detection has been requested. When an IP protocol scan is requested (-sO), Nmap provides information on supported IP protocols rather than listening ports.
  
 
== Verwendung ==
 
== Verwendung ==

Aktuelle Version vom 3. Dezember 2021, 10:10 Uhr

Der Shell-Befehl nmap (network mapper) ist ein Portscanner und prüft, welche Dienste auf einem Rechner in einem Rechnernetz von aussen zugänglich sind. Um alle Möglichkeiten nutzen zu können, muss nmap als Benutzer "root" aufgerufen werden. Zu den Funktionen gehören:

  • Erkennung des Betriebssystems des gescannten Systems anhand von Nmaps TCP-Fingerprinting
  • Feststellung der Uptime des untersuchten Rechners
  • Zuverlässige Identifizierung der offenen Dienste und deren Versionen

Trotz seines Rufs als Cracker-Instrument erweist sich Nmap auch als nützliches Werkzeug für Systemverwalter. Nmaps teilweise heftige Protokolltricks sind aber nicht immer frei von Risiken: wenn ein Mission-Critical-System unerwartet empfindlich reagiert und wegen eines Scans ausfällt, zeit dies dem Systemverwalter zwar eine wichtige Schwachstelle, allerdings ist dies auch nicht weiter hilfreich, wenn der Schaden den Informationsgewinn überwiegt.

Ein Scan des eigenen Rechners verwendet (auch bei Angabe der von aussen erreichbaren IP-Adresse) das Loopback Device und listet damit auch Ports, die sich von aussen nicht erreichen lassen.

Ab Version 4 sind auch ARP-Scans in die Scan-Engine integriert.

Für den Shell-Befehl nmap gibt es auch grafische Oberflächen: Nmap-gtk, Nmapfe (unter Unix) und Nmapwin (unter Windows). Dank PHP-Nmap lässt sich Nmap sogar per Webbrowser nutzen. Aufsetzend auf Nmap taugt Cancerbero zur Serverüberwachung.

Konzept

Nmap-Scans laufen standardmässig in drei Schritten ab:

  • Ping: Das Zielsystem wird angepingt. Zur Wahl stehen dabei herkömmliche ICMP-Echo-Requests und Nmap-eigene Techniken, um aktive Hosts aufzuspüren.
  • Lookup: Mit einem Reverse-Lookup wird die IP-Adresse des Systems in einen Namen aufgelöst.
  • Scan: Mit der ausgewählten Technik werden die Ports der Ziele gescannt. Bei Bedarf bricht CTRL+C den Vorgang ab. Schreibt Nmap eine Protokolldatei, so kann es später an derselben Stelle fortfahren.

Nmap kennt vier Zustände, in denen sich ein Port befinden kann:

  • Offen (open): Die Kommunikation auf diesem Port ist ungehindert möglich.
  • Gefiltert (filtered): Der Port ist vermutlich durch eine Firewall geblockt. Finden SYN- oder Connect-Scan offene und gefilterte Ports, dann hat sich der Systemverwalter mit seiner vermeintlich sicheren DROP-Konfiguration selber ausgetrickst.
  • Nicht gefiltert (unfiltered): ACK- oder Window-Scans spüren ungefilterte Ports auf. Grundsätzlich ist die Kommunikation auf dem Port möglich, für weitergehende Information sind andere Scantechniken nötig.
  • Geschlossen (closed): Der Port ist entweder korrekt durch eine Firewall geschützt oder es lauscht kein Dienst auf ihm. In beiden Fällen gelingt keine Kommunikation.

Um sie festzustellen, wird einen Fülle von Scantechniken angeboten. Statt stur eine gewöhnliche TCP-Verbindung zu öffnen, sendet Nmap gezielt Pakete, die gegen etliche RFCs verstossen, und zieht aus der Raktion der gescannten Systeme seine Schlüsse. Nmap braucht dafür allerdings die Rechte von Benutzer "root", um mit Raw-Sockets arbeiten und die Pakete selbst zusammensetzen zu dürfen.

Installation

Debian GNU/Linux 10

$ sudo apt-get install nmap

SUSE Linux

Über YaST.

Optionen

Zur Auswahl stehen 15 Methoden, um Hosts zu scannen. Jede Methode kennt 20 Einstellungen, die teils zu sehr ausgefallenen Paketen führen.

Scantechnik Syntax Nutzen Erklärung
TCP connect() -sT Ohne root-Rechte scannen Der "connect()"-Scan verwendet die gleichnamige Betriebssystemfunktion, der Verbindungsaufbau verläuft RFC-konform mit einem Three-Way-Handshake: der Scanner sendet ein TCP-Paket mit gesetztem SYN-Flag und passenden Quell- bzw. Zielports. Horcht kein Dienst auf dem Zielport, so antwortet das System mit einem RST-Paket, das die Verbindung abbaut; andernfalls antwortet es mit einem Paket mit gesetzten SYN- und ACK-Flags. Ein ACK-Flag schliesst den Handshake ab, die Verbinung steht. Nmap beendet sie sofort mit einem Reset.
Port geschlossen:
192.168.5.22 -> 192.168.5.10 TCP 60319 > 80 [SYN]
192.168.5.10 -> 192.168.5.22 TCP 80 > 60319 [RST, ACK]

Port offen:
192.168.5.22 -> 192.168.5.10 TCP 60320 > 80 [SYN]
192.168.5.10 -> 192.168.5.22 TCP 80 > 60320 [SYN, ACK]
192.168.5.22 -> 192.168.5.10 TCP 60320 > 80 [ACK]
192.168.5.22 -> 192.168.5.10 TCP 60320 > 80 [RST, ACK]
TCP SYN -sS Unauffälliger Scan Diese Technik schont die Netz- und Systemressourcen, funktioniert unabhängig vom Betriebssystem und bleibt unauffällig, benötigt aber die Rechte von Benutzer "root". Statt eine vollständige TCP-Verbindung aufzubauen, sendet Nmap nur das erste SYN-Paket aus dem Three-Way-Handshake. Ein geschlossener Port reagiert mit einem RST-Flag, um die halb geöffnete Verbindung sauber abzubauen. Ein offener Port antwortet mit einem SYN/ACK, das Nmap mit einem Reset quittiert. Der gescannte Dienst bemerkt nichts und hinterlässt keine verräterischen Einträge in Protokolldateien.
Port geschlossen:
192.168.5.22 -> 192.168.5.10 TCP 60319 > 80 [SYN]
192.168.5.10 -> 192.168.5.22 TCP 80 > 60319 [RST, ACK]

Port offen:
192.168.5.22 -> 192.168.5.10 TCP 60320 > 80 [SYN]
192.168.5.10 -> 192.168.5.22 TCP 80 > 60320 [SYN, ACK]
192.168.5.22 -> 192.168.5.10 TCP 60320 > 80 [RST]

Ein IDS lässt sich dadurch aber nicht täuschen. Die ungewöhnlich hohe Anzahl gleichzeitiger Verbindungswünsche zu wechselnden Ports entlarvt den Portscan. Snort protokolliert:

[**] [100:1.1] spp_portscan: PORTSCAN DETECTED from 192.168.5.22
        (THRESHOLD 4 connections exceeded in 0 seconds)
[**] 10/05-19:40:49.540435

Solche Spuren vermeidet Nmap auf Wunsch mit einem geänderten Timing, bei dem sich der Scanner langsam vortastet. Die Pakete verlieren sich dann im übrigen Netzwerkehr, dem IDS gelingt es nicht mehr, die Einzelstücke des Scan einander zuzuordnen.

FIN -sF Nahezu unbemerkt scannen Verzicht auf jeglichen Verbindungsaufbau, egal ob halb oder vollständig. Es wird nur ein einziger Frame zum Zielsystem gesendet, die Varianten FIN, Xmas und Null unterscheiden sich nur durch die im TCP-Header gesetzten Flags, die in dieser Kombination unter normalen Umständen nicht vorkommen. Keiner setzt dabei das SYN-Flag. Ob der Port verfügbar ist zeigt sich anhand des Antwortpakets oder durch dessen Ausbleiben. Bei einem geschlossenen Port reagieren standardkonforme TCP-Stacks mit einem RST-Paket, das die Verbindung zurücksetzt. Lauscht ein Dienst auf dem Zielport, wird das gescannte System mit hoher Wahrscheinlichkeit keine Verbindung finden, zu der das Auftragspaket passt. Leider definieren die zutreffenden RFCs nur ungeanu, wie mit solchen Paketen zu verfahren ist. Daher reagieren die TCP-Stacks unterschiedlich, die Beispiele zeigen das Verhalten eines Linux-Rechners: er ignoriert die unerwarteten Pakete. Windows-Systeme nehmen hier eine Sonderrolle ein: sie antworten immer mit einem Reset der Verbindung - offene und geschlossene Ports sind nicht zu unterscheiden. Auch dieses Verhalten lässt auf das Betriebssystem schliessen, da sonst nur exotische TCP-Stacks so reagieren. Bleibt jede Antwort aus, so klassifiziert Nmap den Port als offen oder gefiltert, da Firewalls solche Pakete ebenfalls meist kommentarlos verwerfen. Wer es genau wissen will, arbeitet zusätzlich mit Version Detection (auch: Version Probe): sie verzichtet auf jede Tarnung und ermittelt offensiv den Zustand des Ports.
FIN-Scan, Port geschlossen:
192.168.5.22 -> 192.168.5.10 TCP 56485 > 80 [FIN]
192.168.5.10 -> 192.168.5.22 TCP 80 > 56485 [RST, ACK]

FIN-Scan, Port offen:
192.168.5.22 -> 192.168.5.10 TCP 43406 > 80 [FIN]
192.168.5.22 -> 192.168.5.10 TCP 43407 > 80 [FIN]

Xmas-Scan, Port geschlossen:
192.168.5.22 -> 192.168.5.10 TCP 49499 > 80 [FIN, PSH, URG]
192.168.5.10 -> 192.168.5.22 TCP 80 > 49499 [RST, ACK]

Xmas-Scan, Port offen:
192.168.5.22 -> 192.168.5.10 TCP 47109 > 80 [FIN, PSH, URG]
192.168.5.22 -> 192.168.5.10 TCP 47110 > 80 [FIN, PSH, URG]

Null-Scan, Port geschlossen:
192.168.5.22 -> 192.168.5.10 TCP 50508 > 80 []
192.168.5.10 -> 192.168.5.22 TCP 80 > 50508 [RST, ACK]

Null-Scan, Port offen:
192.168.5.22 -> 192.168.5.10 TCP 55971 > 80 []
192.168.5.22 -> 192.168.5.10 TCP 55972 > 80 []
Xmas -sX Nahezu unbemerkt scannen
Null -sN Nahezu unbemerkt scannen
Ping -sP Aktive Hosts finden
Version Detection -sV Dienste genauer identifizieren Es wird untersucht, welche Software auf einem Port lauscht. Vorher findet ein Portscan (Connect- oder SYN-Scan) mögliche Kandidaten. Version Detection startet eine gewöhnliche Verbindung und kommuniziert mit dem Dienst. Das hinterlässt fast immer Einträge in den Protokolldateien. Die gewonnenen Erkenntnisse vergleicht Nmap mit seiner Datenbasis in "nmap-service-probes". In Version 3.93 enthielt sie 2'895 Dienste-Signaturen.

Was bei einzelnen Diensten klappt, macht Nmap auch mit dem kompletten System: OS Detection, also die Erkennung des Betriebssystems aus der Ferne, gehört zu den fortgeschrittenen Techniken. Mit der gebotenen Qualität hält kein anderes Programm mit. OS Detection profitiert von subtilen Unterschieden im Verhalten der TCP-Stacks. Eine Datenbank verzeichnet die spezifischen Merkmale also sogenannte Fingerprints; Nmap 3.93 lieferte in "nmap-os-fingerprints" 1707 davon mit. Ein Abgleich mit dieser Liste entlarvt den Protokollstack und sein Betriebssystem. Der Scan arbeitet erstunlich unauffällig - er verzichtet auf Verbindungen zu speziellen Anwendungen und begnügt sich mit etwa 30 einfachen Frames. OS Detection beginnt mit einem gewöhnlichen Portscan und startet anschliessend acht kleine Tests, die eigens erzeugte Pakte zum Zielhost senden. Manche davon würden in einem normalen Netz nie vorkommen, ein IDS entdeckt sie recht leicht. Das Zielsystem bemerkt von dem Abtasten aber nichts. Nebenbei ermittelt die TCP-Timestamp-Option noch die Uptime des Systems. Erkennt Nmap das Zielsystem nicht, legt es dem Anwender alle gewonnenen Daten vor. Weiss der, um welches Betriebssystem es sich handelt, kann er auf der Submit-Seite die Signatur veröffentlichen. Auf diese Weise helfen Nmap-Benutzer die Erkennungsrate weiter zu verbessern.

ACK -sA Firewalls erkennen Ein ACK-Scan hilft weiter, wenn Nmap einen gefilterten Port nicht von einem offenen unterscheiden kann. Die einfache und unauffällige Technik schafft es zwar nicht, einen Port als offen zu klassifizieren, erkennt aber Firewalls. Nmap schickt ein einzelnes ACK-Paket zum Zielhost, der eigentlich mit einem Reset-Paket antworten müsste. Bleibt es aus oder trifft dafür ein ICMP-Destination-Unreachable-Paket ein, dann blockierte sehr wahrscheinlich eine Firewall die Übertragung - der Port ist also gefiltert.
Window -sW Weiterentwickelter ACK-Scan Der Windows-Scan ist eine abgewandelte Form des ACK-Scans, um offene Ports zu identifizieren. Der Scan beginnt mit einem ACK-Paket, wertet aber zusätzlich die Window-Size aus, die das Zielsystem in seiner Antwort einträgt. Aus RST-Paketen mit einer Fenstergrösse grösser null schliesst Nmap, dass der Port geöffnet ist.
UDP -sU UDP-Dienste finden Für den UDP-Scan existieren kaum Optionen, da das Protokoll ohne SYN oder sonstige Flags auskommt. UDP-Scanning ist also denkbar einfach: Anfragen an geschlossene Ports beantwortet das Zielsystem mit einem ICMP-Port-Unreachable-Paket, ein geöffneter Port liefert dagegen meist Daten zurück. Kommen keine Antwortpakete, klassifiziert Nmap den Port als offen oder gefiltert - im Zweifelsfall hilft Version Detecting weiter. Viele Systeme begrenzen ihre ICMP-Fehlermeldungen auf niedrige Raten von wenigen Paketen pro Sekunde. Nmap erkennt dieses Verhalten und arbeitet entsprechend langsamer. UDP-Scans können dann aber sehr lange dauern.
IP Protocol -sO Unterstützte Protokolle feststellen Der IP-Protocol-Scan verrät, welche Schickt-4-Protokolle ein Zielhost unterstützt. Bei einem Linux-Client findet Nmap z. B. ICMP, IGMP, TCP, UDP und IPV6 (für IPV6-über-IPV4-Tunnel). Der Scan probiert alle Protokollnummern (1 bis 255) durch und wartet auf Antworten. Diese Informationen lassen auch Rückschlüsse auf den Typ des gescannten Systems zu. Mit etwas Hintergrundwissen gelingt eine grobe Klassifizierung, da nur Router und spezielle Server z. B. VRRP oder CARP unterstützen.
RPC -sR Informationen über RPC-Dienste Identifizierung von auf RPC beruhenden Diensten wie NFS oder NIS und deren zugehörige Ports. RPC-Scans sind nur zusammen mit anderen Varianten sinnvoll, die vorher Informationen über geöffnete Ports liefern. Version detection aktiviert den RPC-Scan automatisch. Um auch versteckte RPC-Dienste aufzuspüren, nutzt diese Technik die spezielle RPC-Anweisung "PROC=0". Sie hat keine Auswirkung auf einen eventuell vorhandenen Dienst, entlockt ihm aber ein Lebenszeichen. Nicht-RPC-Dienste können mit der Anweisung nichts anfangen und bleiben stumm. Da RPC-Scans direkt mit einer Anwendung interagieren, gehören sie zu den auffälligsten Techniken, sie verraten im günstigsten Fall aber viel über das untersuchte System.
Decoy Manchmal hinterlassen selbst die besten Nmap-Scantechniken zuviel Spuren. Oder ein Penetration-Tester braucht detaillierte Informationen über einzelne Dienste, die ihm nur ein auffälliger Scan liefert. Muss er dennoch unerkannt bleiben, kanner versuchen die IDS und Systemverwalter der Gegenseite mit falschen Ködern abzulenken. Nmap nennt diese Technik "Decoy", sie emuliert zusätzlich zum echten Scanvorgang viele weitere Scans, die von einer definierten Anzahl gefälschter IP-Adressen ausgehen. Das erhöht zwar die Wahrscheinlichkeit, dass die Scans auffallen, macht es aber schwerer, den Verursacher in der Vielazhl von Kandidaten zu erkennen. Aus Sicht des Systemverwalters is Decoy Scanning ausserdem eine gute Möglichkeit zum Testen der Leistungsfähigkeit von Hots, Firewalls und IDS. Nmap emuliert prblemlos bis zu 128 gleichzeitige Hosts. Auf sehr leistungsfähigen, gut angebundenen Rechnern bietet es sich an, diese Grenze in der "MAX_DECOYS"-Konstante in "nmap.h" zu erhöhen und Nmap neu zu übersetzen.
List -sL Dummy zur Kontrolle
Idle -sI Scannen über Dritte Ein Idle Scan (auch: Blind Scanning) bedient sich eines unbeteiligten Dritten und tauscht mit dem gescannten System zu keinem Zeitpunkt Pakete aus. Das nötige IP Spoofing übernimmt Nmap selbst. Die Technik funktioniert aber nur unter folgenden Voraussetzungen:
  • Der sogenannte Zombie-Host (der unbeteiligte Dritte, auch Proxy genannt) sollte wenig bis gar keine Netzwerklast haben, um die IPID (Identification Field im IP-Header) nicht zu beeinflussen.
  • Die IPID des Zombies muss vorhersehbar sein. Ein geeignetes System erhöht sie bei jedem neuen Paket um den Wert 1.

Ob sich der Zombie eignet, erkennt Nmap recht schnell: Das Programm sendet sechs SYN/ACK-Pakete zum Zombie-Host und erwartet, dass die IPIDs der zurückgesandten RST-Pakete linear ansteigen. Andernfalls bricht der Scan mit folgender Meldung ab: "Idlescan is unable to obtain meaningful results from proxy". Steigen die IPIDs vorhersehbar, wiederholt Nmap den Prozess viermal und verwendet dazu Pakete mit der Absenderadresse des zu scannenden Systems. Der Zombie wird seine RST-Pakete jedoch zum Zielhost statt zum Scanner senden. Um dennoch ein Ergebnis zu erhalten, schickt Nmap ein weiteres SYN/ACK-Paket zum Zombie, diesmal wieder mit der eigenen Absenderadresse. Nur wenn die IPID im folgenden RST-Paket um fünf gestiegen ist, betrachtet Nmap den Idle Scan als durchführbar.

Beim Untersuchen des Zielsystems geht Nmap ähnlich vor: Es sendet SYN-Pakete an das Zielsystem, verwendet als Absender aber die Zombie-Adresse. Anfragen an geschlossene Ports beantwortet das Scan-Ziel mit einem RST an den Zombie, der das unerwartete Paket ignoriert. Ein offener Port dagegen versucht die Verbindung durch ein SYN/ACK-Paket weiter aufzubauen. Von der Verbindung weiss der Zombie nichts und reagiert seinerseits mit einem RST. Dabei erhöht er seine IPID - den neuen Zählerstand kann der Scan-Host anschliessend vom Zombie abfragen. Um den Vorgang zu beschleunigen, geht Nmap von der sinnvollen Annahme aus, dass die meisten Ports ohnehin geschlossen sind. Nmap beginnt also mit 30 zufällig gewählten TCP-Ports, an die er je ein SYN-Paket sendet. Hat sich anschliessend die IPID erhöht, weiss Nmap wieviele Ports im gescannten Bereich offen waren. Im zweiten Anlauf halbiert ee die Zahl der Ports und grenzt den Bereich so lange ein, bis es die genauen Portnummern kennt.

FTP Bounce -b Eher historisch

Für routinemässige Checks bietet sich an, die IP-Adressen der riskanten Rechner in einer Textdatei zu sammeln. In Verbindung mit der Option "--excludefile" kann der Systemverwalter so ganze Netze scannen, ohne diese Rechner zu beeinträchtigen.

Dokumentation

Zur Dokumentation und für Vergleiche zwischen Scan-Durchgängen bringt Nmap vielfältige Varianten der Protokollierung mit. Die Option "-oA" schaltet drei sinnvolle Formate ein und bereitet einer manuellen Überprüfung sowie der maschinellen Verarbeitung den Weg. Für Vergleiche zwischen Scan-Durchläufen steht Ndiff zur Verfügung.

Ausgabe

The output from Nmap is a list of scanned targets, with supplemental information on each depending on the options used. Key among that information is the "interesting ports table". That table lists the port number and protocol, service name, and state. The state is either open, filtered, closed, or unfiltered.

  • Open means that an application on the target machine is listening for connections/packets on that port.
  • Filtered means that a firewall, filter, or other network obstacle is blocking the port so that Nmap cannot tell whether it is open or closed.
  • Closed ports have no application listening on them, though they could open up at any time.

Ports are classified as unfiltered when they are responsive to Nmap's probes, but Nmap cannot determine whether they are open or closed. Nmap reports the state combinations open|filtered and closed|filtered when it cannot determine which of the two states describe a port. The port table may also include software version details when version detection has been requested. When an IP protocol scan is requested (-sO), Nmap provides information on supported IP protocols rather than listening ports.

Verwendung

Der aktuelle Rechner wird nach geöffneten (die TCP- und UDP-Ports von 0 bis 65535) gescannt.

# nmap -p 1-65535 localhost
Starting Nmap 7.40 ( https://nmap.org ) at 2020-01-02 15:43 CET
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000014s latency).
Other addresses for localhost (not scanned): ::1
Not shown: 65529 closed ports
PORT      STATE SERVICE
25/tcp    open  smtp
333/tcp   open  texar
443/tcp   open  https
3306/tcp  open  mysql
8080/tcp  open  http-proxy
11211/tcp open  memcache

Nmap done: 1 IP address (1 host up) scanned in 6.83 seconds

Der Rechner mit der angegebenen IP-Adresse wird nach geöffneten "well-known Ports" (die TCP- und UDP-Ports von 0 bis 1023) gescannt.

# nmap 192.168.10.25
Starting Nmap 4.53 ( http://insecure.org ) at 2008-11-26 17:13 CET
Interesting ports on xxx.xxx.xx (192.168.10.25):
Not shown: 1705 closed ports
PORT    STATE SERVICE
21/tcp  open  ftp
22/tcp  open  ssh
...
Nmap done: 1 IP address (1 host up) scanned in 15.631 seconds

Prüfung nach offenen TCP-Ports des Bereichs 1-1024 auf dem Rechner mit der IP-Adresse 10.0.5.2.

# nmap -sT -p 1-1024 10.0.5.2

Prüfung nach offenen Ports des Bereichs 1-65535 auf dem Rechner mit der IP-Adresse 10.0.5.2.

# nmap -p 1-65535 10.0.5.2

OS fingerprinting: Versuch, das Betriebssystem des Rechners mit der IP-Adresse 193.31.11.194 anhand des Antwortverhaltens offener ports zu bestimmen.

# nmap -O 192.168.10.25
Starting nmap 3.81 ( http://www.insecure.org/nmap/ ) at 2006-03-24 16:51 CET
Interesting ports on xxx.xxx.xx (192.168.10.25):
(The 1635 ports scanned but not shown below are in state: closed)
PORT      STATE SERVICE
21/tcp    open  ftp
22/tcp    open  ssh
...
10083/tcp open  amidxtape
Device type: general purpose
Running: FreeBSD 2.X|3.X|4.X
OS details: FreeBSD 2.2.1 - 4.1
Uptime 8.006 days (since Thu Mar 16 16:43:10 2006)

MAC-Adressen herausfinden und in die Datei "file" schreiben.

$ nmap -sP 192.168.10.0/21 && arp -a > file

Erkennung der auf Port 22 von Rechner 192.168.10.25 laufenden SSH-Version.

$ nmap -sV 192.168.10.25 -p22
Starting nmap 3.81 ( http://www.insecure.org/nmap/ ) at 2006-03-24 16:56 CET
Interesting ports on xxx.xxx.xx (192.168.10.25):
PORT   STATE SERVICE VERSION
22/tcp open  ssh     SSH 1.2.17 (protocol 1.5)

Durchsuchen des Class-C-Subnetzes 192.168.6.0 per SYN-Scan (Option "-sS") und zusätzliches Sammeln von Informationen über Betriebssysteme (OS-Detection "-O"). Die IP-Adressen in Hostnamen aufzulösen ist hier sinnlos, "-n" deaktiviert deshalb den Reverse Lookup. Zur Entlastung der WAN-Verbindungen schaltet "-T Polite" auf eine weniger aggressive Timing-Variante um. Die Option "-oA remote" sorgt für eine ausführliche Protokollierung. Nmap schreibt drei Standardformate: einfach lesbares "remote.nmap", per grep leichter durchsuchbares "remote.gnmap" sowie die XM-Datei "remote.xml".

$ nmap -vv -sS -O -T Polite -n -oA remote 192.168.6.0/24

Aufruf der grafischen Oberfläche NmapFE unter KDE.

$ kdesu nmapfe

FAQ

Herausfinden des Dienstes, welcher unter einem bestimmten Port läuft

Beispielsweise soll ermittelt werden, welcher konkrete Dienst unter Port 11211 läuft.

Der Befehl fuser zeigt für Portt 11211 die PID 515 an.

# fuser 11211/tcp
11211/tcp:             515

Für PID 515 ist folgendes zu sehen.

# ls -l /proc/515/exe
lrwxrwxrwx 1 root root 0 Aug  1 22:33 /proc/515/exe -> /usr/bin/memcached

Mit dem befehl whatis wird eine Kurzbeschreibung zum Programm "memcached" angezeigt.

# whatis memcached
memcached (1)        - high-performance memory object caching system

Ein anderes Beispiel.

# fuser 50882/tcp
50882/tcp:             494
# ls -l /proc/494/exe
lrwxrwxrwx 1 root root 0 Aug  1 22:33 /proc/494/exe -> /sbin/rpc.statd
# whatis rpc.statd
rpc.statd (8)        - NSM service daemon

Weblinks

Herausgeber Sprache Webseitentitel Anmerkungen
country US.gif Gordon Lyon (Fyodor) eng Nmap security scannerwbm

Früher: http://www.insecure.org/nmap/