|
|
(429 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) |
Zeile 1: |
Zeile 1: |
| = '''Network Mapper (nmap)'''=
| | '''{{BASEPAGENAME}}''' - Netzwerk-Analysewerkzeug, Sicherheits- und Portscanner |
| * ist ein freier Netzwerk-Scanner
| |
|
| |
|
| =Netzwerke scannen= | | == Beschreibung == |
| Was ist Network Scanning?
| | === Network Scanning === |
| * Netzwerke scannen und analysieren | | * Netzwerke scannen und analysieren |
| * angeschlossene und aktiven Systeme erkennen | | * Angeschlossene und aktive Systeme erkennen |
| * Details zu Diensten, Konfigurationen und Versionen bestimmen | | * Details zu Diensten, Konfigurationen und Versionen bestimmen |
| * Netzwerk-Inventarisierung | | * Netzwerk-Inventarisierung |
Zeile 11: |
Zeile 10: |
| * Überwachung von Betriebszeiten, Hosts oder Diensten | | * Überwachung von Betriebszeiten, Hosts oder Diensten |
|
| |
|
| = Syntax =
| |
| nmap [Scan Type(n)] [Optionen] {Ziel}
| |
|
| |
|
| = Einfacher Portscan = | | === Network Mapper (nmap) === |
| == nmap ohne Optionen == | | [[Datei:Zenmap.png|mini|500px|Nmap GUI [[Zenmap]]]] |
| * Es geht darum herauszufinden, ob ein Port offen ist, welche Anwendung dahinter läuft und ob dort Sicherheitslücken und Schwachstellen zu vermuten sind.
| | ; Portscanner |
| * Ein einfacher Port-Scanner wird alle Ports pauschal in zwei oder drei Zustände einteilen:
| | Scannen und Auswerten von Hosts in einem Rechnernetz |
| # offen,
| |
| # geschlossen,
| |
| # gefiltert (offen/geschlossen).
| |
|
| |
|
| == Bedeutung der Ausgabe ==
| | ; Nmap ("Network Mapper") |
| * Der Zustand "Offen" bedeutet, dass eine Anwendung oder ein Dienst bereit ist TCP-Verbindungen oder UDP-Pakete auf diesem Port anzunehmen.
| | Werkzeug für die Netzwerkanalyse und Sicherheitsüberprüfung |
| * Um Kommunikationsverbindungen betreiben zu können bedarf es offener Ports.
| | * Es wurde entworfen, um große Netzwerke Schnell zu scannen |
| * Anzahl offener Ports begrenzen, um die Angriffsfläche so klein wie möglich zu halten. | | * Funktioniert auch bei einzelnen Hosts |
| * Offene Ports werden zusätzlich geschützt oder Verbindungsmöglichkeiten eingeschränkt.
| |
| * Der Zustand "Geschlossen" bedeutet, dass keine Anwendung und kein Dienst an diesem Port auf eingehende Datenpakete und Verbindungsversuche lauscht bzw. hört.
| |
| * Auf ihm sind keine Kommunikationsverbindungen möglich.
| |
| * Ein geschlossener Port ist nur so lange geschlossen, wie eine Anwendung auf diesen Port hört und Verbindungen und Pakete annimmt. | |
| * Um offene, aber auch geschlossene Ports zu schützen, setzen Systemadministratoren einen Portfilter (Firewall) ein.
| |
| * So verhindert man z.B. die Verbindungsversuche durch Port-Scans.
| |
| * Ein Port-Scan soll nur den Zustand eines Ports ermitteln, aber keine echte Verbindung aufbauen.
| |
| * Weil er die dahinterliegende Anwendung nicht kennt, kann er nur Testpakete an einen Port schicken.
| |
| * Der Filter verhindert, dass diese Testpakete durchkommen.
| |
| * In der Regel werden diese Pakete verworfen.
| |
| * Dann kann für diesen Port weder der Status "offen" oder "geschlossen" gelten.
| |
| * Dafür gibt es den Zustand "gefiltert" oder "blockiert".
| |
|
| |
|
| = Ziele festlegen =
| | ; Nmap benutzt rohe IP-Pakete |
| * NMAP ist bei der Angabe des Scan-Ziels sehr flexibel.
| | Auf neuartige Weise, um festzustellen |
| * Das kann ein Domain-Name sein, eine IP-Adresse oder ein ganzes Subnetz.
| | * welche Hosts im Netzwerk verfügbar sind |
| Domain: www. XXX.XX
| | * welche Dienste (Anwendungsname und -version) diese Hosts bieten |
| IP-Adresse: 192.168.1.1
| | * welche Betriebssysteme (und Versionen davon) darauf laufen |
| Subnetz: 192.168.1.1/24
| | * welche Art von Paketfiltern/-Firewalls benutzt werden |
| Subnetz: 192.168.1.*
| | * sowie Dutzende anderer Eigenschaften |
| * Man sollte einen Port-Scan nicht auf ein ganzes Subnetz anwenden. | |
| * Ein ganzes Subnetz zu scannen, kann sehr lange dauern, wenn die Hosts gefilterte Ports haben.
| |
| * Die Anzahl der Ports reicht von 1 bis 65.535.
| |
| * NMAP scannt standardmäßig nur etwa 1.000 der meistgenutzten Ports, die in der Datenbank "nmap-services" aufgelistet sind.
| |
| * Mit der Option "-F" (für engl. fast, dt. schnell) kann man den Port-Scan sogar auf die 100 meistgenutzten Ports beschränken. | |
| * Interessante Ports scannen mit der Option "-p": | |
| ** Für den Port 22 verwendet man die Option "-p22".
| |
| ** Für die Ports 22, 25 und 80 verwendet man die Option "-p22,25,80".
| |
| ** Für die Ports von 1 bis 100 verwendet man die Option "-p-100". | |
| ** Für die Ports von 80 bis 88 verwendet man die Option "-p80-88".
| |
| ** Für alle Ports über 60.000 verwendet man die Option "-p60000-".
| |
| ** Alle Ports von 1 bis 65.535 scannen: Option "-p-". | |
|
| |
|
| == Einzelne Rechner ==
| | ; Verwendung |
| * Der Zielbereich ist eine einzelne IP-Adresse
| | Auch wenn Nmap üblicherweise für Sicherheitsüberprüfungen verwendet wird |
| * Standardmäßig arbeitet Nmap mit IPv4 (es geht aber auch IPv6) | | * wird es von vielen Systemen und Netzwerkadministratoren für Routineaufgaben benutzt |
| [[Datei:nmap.jpg|zentriert]]
| | * beispielsweise |
| * Hier wurde ein Linux-PC von einem Windows-7-Rechner aus gescannt: | | ** Netzwerkinventarisierung |
| ** nmap 172.16.24.102 | | ** Verwaltung von Ablaufplänen für Dienstaktualisierungen |
| * Die IP-Adresse gehört also dem Linux-Rechner, den wir mit Nmap auf offene Ports hin überprüfen. | | ** Überwachung von Betriebszeiten von Hosts oder Diensten |
| * Das Ergebnis: Drei Ports sind offen; 21 für FTP, 80 für einen Webserver (in unserem Fall ein Apache) und 110 für POP3. | |
| * 997 well known Ports erkennt Nmap als geschlossen. | |
|
| |
|
| == Netzwerkbereiche ==
| | ; Ausgabe |
| ===Bereich auswählen===
| | Die Ausgabe von Nmap ist eine Liste gescannter Ziele |
| * Nmap betrachtet alles in der Kommandozeile, was keine Option (oder ein Argument einer Option) ist, als Bezeichnung eines Zielhosts.
| | * Mit zusätzlicher Information zu jedem, abhängig von den benutzten Optionen |
| * Der einfachste Fall ist die Beschreibung einer IP-Zieladresse oder eines Zielhostnamens zum Scannen.
| | ** Die entscheidende Information dabei steht in der "Tabelle der interessanten Ports" |
| * Manchmal möchten Sie ein ganzes Netzwerk benachbarter Hosts scannen.
| | ** Diese Tabelle listet die Portnummer und das -protokoll sowie den Dienstnamen und -zustand auf |
| * Dafür unterstützt Nmap Adressen im CIDR-Stil.
| | ** Der Zustand ist entweder offen, gefiltert, geschlossen oder ungefiltert |
| * Sie können an eine IPv4-Adresse oder einen Hostnamen angefügt werden, und Nmap wird alle IP-Adressen scannen, bei denen die ersten <numbits> mit denen der gegebenen IP oder des gegebenen Hostnamens übereinstimmen.
| | ** Offen bedeutet, dass auf diesem Port des Zielrechners eine |
| * Z.B: würde 192.168.10.0/24 die 256 Hosts zwischen 192.168.10.0 (binär: 1100.0000.1010.1000.0000.1010.0000.0000) und 192.168.10.255 (binär: 1100.0000.1010.1000.0000.1010.1111.1111, inklusive) scannen.
| |
| * 192.168.10.40/24 würde genau dieselben Ziele scannen.
| |
| * Dadurch, dass der Host | |
| scanme.nmap.org
| |
| die IP-Adresse 64.13.134.52 hat, würde die Angabe
| |
| scanme.nmap.org/16
| |
| die 65.536 IP-Adressen zwischen 64.13.0.0 und 64.13.255.255 scannen.
| |
| * Der kleinste erlaubte Wert ist /0, der das gesamte Internet scannt.
| |
| * Der größte Wert ist /32 und scannt lediglich den Host mit angegebenem Namen oder IP-Adresse, da alle Adressen-Bits festgelegt sind.
| |
| ===Teilbereich auswählen===
| |
| * Die CIDR-Notation ist kurz, aber nicht immer flexibel genug. | |
| * Möcht man z.B. 192.168.0.0/16 scannen, aber IPs auslassen, die mit .0 oder .255 enden, weil sie als Unternetzwerk und Broadcast-Adressen benutzt werden können.
| |
| * Nmap unterstützt das in Form einer Oktett-Bereichsadressierung.
| |
| * Statt eine normale IP-Adresse anzugeben, können Sie eine mit Kommata getrennte Liste von Zahlen oder Bereichen für jedes Oktett angeben.
| |
| * Z.B. überspringt 192.168.0-255.1-254 alle Adressen im Bereich, die mit .0 oder .255 enden, und 192.168.3-5,7.1 scannt die vier Adressen 192.168.3.1, 192.168.4.1, 192.168.5.1 und 192.168.7.1.
| |
| * Beide Bereichsgrenzen können weggelassen werden, die Standardwerte sind 0 für die linke und 255 für die rechte Grenze.
| |
| * Wenn Sie allein '''-'''benutzen, ist das identisch mit 0-255.
| |
| * Im ersten Oktett dann '''0-''' benutzen, damit die Zielangabe nicht wie eine Kommandozeilenoption aussieht.
| |
| * Die Angabe 0-255.0-255.13.37 führt einen internetweiten Scan über alle IP-Adressen aus, die mit 13.37 enden. | |
| * Diese Art von breiter Abtastung kann bei Internet-Umfragen und -Forschungen hilfreich sein.
| |
| ===IPv6===
| |
| * IPv6-Adressen können nur durch ihre vollständige IPv6-Adresse oder ihren Hostnamen angegeben werden.
| |
| * CIDR und Oktettbereiche werden für IPv6 nicht unterstützt, weil sie selten nützlich sind.
| |
| ===Zielauswahl===
| |
| * Auch wenn Ziele normalerweise in der Kommandozeile angegeben werden, gibt es auch die folgenden Optionen, um die Zielauswahl zu steuern:
| |
| -iL <inputfilename> (Eingabe aus einer Liste)
| |
| * Eine sehr lange Liste von Hosts in der Kommandozeile anzugeben ist oft sehr umständlich, kommt aber sehr häufig vor.
| |
| * Der DHCP-Server z.B. exportiert vielleicht eine Liste von 10.000 aktuellen Adresszuweisungen (engl. leases), die Sie scannen möchten. | |
| * Möchte man alle IP-Adressen außer denjenigen scannen, um Hosts zu finden, die unautorisierte statische IP-Adressen benutzen. | |
| * Die Liste der zu scannenden Hosts und übergibt deren Dateinamen als Argument zur Option '''-iL''' an Nmap.
| |
| * Die Einträge dürfen alle Formate haben, die Nmap auf der Kommandozeile akzeptiert (IP-Adresse, Hostname, CIDR, IPv6 oder Oktettbereiche).
| |
| * Alle Einträge müssen durch ein oder mehrere Leerzeichen, Tabulatoren oder Zeilenumbrüche getrennt sein. | |
| * Wenn man einen Bindestrich (-) als Dateinamen angibt, liest Nmap die Hosts von der Standardeingabe statt aus einer normalen Datei. | |
| -iR <num hosts> (zufällige Auswahl von Zielen)
| |
| ===Internetumfragen===
| |
| * Für internetweite Umfragen und andere Forschungsaktivitäten möchte man Ziele vielleicht zufällig auswählen.
| |
| * Das kann man mit der Option '''-iR''', die als Argument die Anzahl der zu erzeugenden IPs annimmt.
| |
| * Nmap lässt automatisch bestimmte unerwünschte IPs aus, wie solche in privaten, Multicast- oder unbesetzten Adressbereichen.
| |
| * Für einen endlosen Scan kann man das Argument '''0''' angeben. | |
| ===Beispiele===
| |
| * Befehl | |
| nmap -sS -PS80 -iR 0 -p 80
| |
| sucht Webserver , auf denen man stöbern kann.
| |
| *Befehl
| |
| --exclude <host1>[,<host2>[,...]] (Ziele ausklammern)
| |
| gibt eine mit Kommata getrennte Liste von Zielen an, die vom Scan ausgeschlossen sein sollen, selbst wenn sie in den angegebenen Netzwerkbereich fallen.
| |
| * Die übergebene Liste benutzt die normale Nmap-Syntax und kann folglich Hostnamen, CIDR-Netzblöcke, Oktettbereiche usw. enthalten.
| |
| *Das kann nützlich sein, wenn das zu scannende Netzwerk hochkritische Server und Systeme enthält, die man nicht anfassen darf, weil sie bekanntermaßen ungünstig auf Port-Scans reagieren.
| |
| * Oder Unternetze, die von anderen Leuten administriert werden.
| |
| *Befehl
| |
| --excludefile<-exclude_file> (Liste aus Datei ausklammern)
| |
| * Das bietet dieselbe Funktionalität wie die Option '''--exclude'''.
| |
| * Unterschied: die ausgeklammerten Ziele in der mit Zeilenumbrüchen, Leerzeichen oder Tabulatoren getrennten Datei <exclude_file> statt auf der Kommandozeile angegeben werden.
| |
|
| |
|
| = Dienste identifizieren = | | == Linzenz == |
| * Die Ports 25/tcp, 80/tcp und 53/udp offen sind. | | * [[Open Source]] |
| * Dank der Datenbank in '''nmap-services''' gibt Nmap noch aus, dass diese Ports wahrscheinlich jeweils zu einem Mailserver (SMTP), Webserver (HTTP) und Nameserver (DNS) gehören. | | * [[Freie Software]] |
| * Selbst wenn Nmap recht hat und auf dem Server im obigen Beispiel SMTP-, HTTP- und DNS-Server laufen, ist das nicht besonders viel an Information.
| |
| * Eine genaue Versionsnummer hilft bei der Bestimmung der Exploits, für die ein Server anfällig ist.
| |
| * Die Versionserkennung hilft Ihnen, an diese Information heranzukommen.
| |
| Nachdem TCP- und/oder UDP-Ports mit einer der anderen Scan-Methoden entdeckt wurden, fragt die Versionserkennung diese Ports ab, um mehr darüber zu erfahren, was tatsächlich darauf läuft. Die Datenbank in nmap-service-probes enthält Testpakete für die Abfrage verschiedenster Dienste und Ausdrücke für den Vergleich und das Parsen der Antworten. Nmap versucht, das Dienstprotokoll zu bestimmen (z.B. FTP, SSH, Telnet, HTTP), aber auch Anwendungsnamen (z.B. ISC BIND, Apache httpd, Solaris telnetd), Versionsnummer, Hostnamen, Gerätetyp (z.B. Drucker, Router), die Betriebssystemfamilie (z.B. Windows, Linux) und manchmal verschiedene Details: etwa ob ein X-Server Verbindungen annimmt, die SSH-Protokollversion oder der KaZaA-Benutzername. Natürlich bieten die meisten Dienste nicht all diese Information. Falls Nmap mit OpenSSL-Unterstützung kompiliert wurde, verbindet es sich mit SSL-Servern, um den hinter dieser Verschlüsselungsebene lauschenden Dienst zu ermitteln. Wenn RPC-Dienste erkannt werden, wird automatisch Nmaps RPC-Holzhammer (-sR) benutzt, um die RPC-Programm- und Versionsnummern zu bestimmen. Manche UDP-Ports bleiben im Zustand offen|gefiltert, nachdem ein UDP-Port-Scan nicht bestimmen konnte, ob der Port offen oder gefiltert ist. Die Versionserkennung versucht, diesen Ports eine Antwort zu entlocken (genauso wie bei offenen Ports) und den Zustand auf offen zu ändern, wenn das gelingt. Offene|gefilterte TCP-Ports werden genauso behandelt. Beachten Sie, dass die Nmap-Option -A unter anderem auch die Versionserkennung einschaltet. A paper documenting the workings, usage, and customization of version detection is available at https://nmap.org/book/vscan.html.
| |
|
| |
|
| Wenn Nmap Antworten von einem Dienst erhält, aber keine Übereinstimmungen dafür in seiner Datenbank finden kann, gibt es einen speziellen Fingerprint und eine URL aus, damit Sie diese Antwort einsenden können, falls Sie genau wissen, was auf diesem Port läuft. Bitte nehmen Sie sich ein paar Minuten Zeit, um sie einzusenden, damit Ihr Fund für alle ein Gewinn sein kann. Dank dieser Beiträge hat Nmap über 3000 Musterübereinstimmungen für über 350 Protokolle wie SMTP, FTP, HTTP usw.
| | == Anwendung == |
| | === Port-Zustände === |
| | Anwendung auf eingehende Verbindungen/Pakete lauscht |
|
| |
|
| Die Versionserkennung wird mit den folgenden Optionen aktiviert und gesteuert:
| | {| class="wikitable options big" |
| | |- |
| | ! Zustand !! Beschreibung |
| | |- |
| | | Gefiltert || |
| | * Eine Firewall, ein Filter oder ein anderes Netzwerkhindernis blockiert den Port |
| | * sodass [[nmap]] nicht festellen kenn, ob er offen oder geschlossen ist |
| | |- |
| | | Geschlossen || |
| | * Für geschlossene Ports gibt es keine Anwendung, die auf ihnen lauscht, auch wenn sie jederzeit geöffnet werden könnten |
| | |- |
| | | Ungefiltert || |
| | * Als ungefiltert werden Ports dann klassifiziert, wenn sie auf Nmaps Testpakete antworten, Nmap aber nicht feststellen kann, ob sie offen oder gechlossen sind |
| | |- |
| | | <nowiki>offen|gefiltert</nowiki></br><nowiki>geschlossen|gefiltert</nowiki> || |
| | * Nmap gibt die Zustandskombinationen offen|gefiltert und geschlossen|gefiltert an, wenn es nicht feststellen kann, welcher der beiden Zustände für einen Port zutrifft |
| | |} |
|
| |
|
| -sV (Versionserkennung) | | ; Details |
| | Die Port-Tabelle enthält eventuell auch Details zur Softwareversion, sofern eine Versionserkennung verlangt wurde |
| | * Wurde ein IP-Protokoll-Scan verlangt (-sO), dann bietet Nmap Angaben über die unterstützten IP-Protokolle statt über lauschende Ports |
|
| |
|
| Aktiviert die Versionserkennung wie oben beschrieben. Alternativ dazu können Sie -A benutzen, was unter anderem auch die Versionserkennung aktiviert.
| | ; Weitere Informationen zum Ziel |
| --allports (keine Ports von der Versionserkennung ausschließen) | | Zusätzlich zur Tabelle der interessanten Ports kann Nmap weitere Angaben über Ziele bieten, darunter Reverse-DNS-Namen, Mutmaßungen über das benutzte Betriebssystem, Gerätearten und MAC-Adressen |
|
| |
|
| Standardmäßig schließt Nmaps Versionserkennung den TCP-Port 9100 aus, weil manche Drucker einfach alles ausdrucken, was an diesen Port gesendet wird, was zu Dutzenden von Seiten mit HTTP-GET-Requests, binären SSL-Session-Requests usw. führen würde. Dieses Verhalten kann man ändern, indem man die Exclude-Anweisung in nmap-service-probes verändert oder entfernt, oder Sie geben --allports an, um alle Port zu scannen, unabhängig von einer Exclude-Anweisung.
| | === Beispiel === |
| --version-intensity <intensity> (Intensität des Versions-Scans setzen) | | ; Typischer Nmap-Scan |
|
| |
|
| Bei einem Versions-Scan (-sV) sendet Nmap eine Reihe von Testpaketen, die alle über einen zugeordneten Seltenheitswert zwischen eins und neun verfügen. Die Testpakete mit kleineren Werten sind bei einer großen Zahl verbreiteter Dienste wirkungsvoll, während die mit höheren Werten seltener nützlich sind. Die Intensitätsstufe gibt an, welche Testpakete angewendet werden sollten. Je höher die Zahl, desto wahrscheinlicher wird der Dienst richtig identifiziert. Allerdings brauchen Scans mit hoher Intensität mehr Zeit. Diese Intensität muss zwischen 0 und 9 liegen. Die Standardeinstellung ist 7. Wenn ein Testpaket mit der ports-Anweisung in nmap-service-probes für den Zielport registriert ist, wird dieses Testpaket ausprobiert, unabhängig von der Intensitätsstufe. Das garantiert, dass die DNS-Testpakete bei jedem offenen Port 53 immer benutzt werden, das SSL-Testpaket bei Port 443 usw.
| | <syntaxhighlight lang="bash" highlight="1" copy> |
| --version-light (leichten Modus setzen)
| | sudo nmap -A -T4 scanme.nmap.org |
| | </syntaxhighlight> |
|
| |
|
| Das ist ein Alias für --version-intensity 2 aus Bequemlichkeitsgründen. Dieser leichte Modus macht die Versionserkennung wesentlich schneller, identifiziert die Dienste aber mit geringerer Wahrscheinlichkeit.
| | {| class="wikitable options big" |
| --version-all (benutze alle Testpakete) | | |- |
| | ! Argument !! Beschreibung |
| | |- |
| | | -A || Betriebssystem- und Versionserkennung, Script-Scanning, Traceroute |
| | |- |
| | | -T4 || Schnellere Ausführung |
| | |- |
| | | scanme.nmap.org || Zielhost |
| | |} |
|
| |
|
| Das ist ein Alias für --version-intensity 9, der garantiert, dass jedes einzelne Testpaket bei jedem Port ausprobiert wird. | | ; Ausgabe |
| --version-trace (verfolge Aktivität des Versions-Scans) | | <syntaxhighlight lang="bash" highlight="" line> |
| | Starting Nmap 7.95 ( https://nmap.org ) at 2025-05-31 10:49 CEST |
| | Nmap scan report for scanme.nmap.org (45.33.32.156) |
| | Host is up (0.17s latency). |
| | Other addresses for scanme.nmap.org (not scanned): 2600:3c01::f03c:91ff:fe18:bb2f |
| | Not shown: 994 closed tcp ports (reset) |
| | PORT STATE SERVICE VERSION |
| | 22/tcp open ssh OpenSSH 6.6.1p1 Ubuntu 2ubuntu2.13 (Ubuntu Linux; protocol 2.0) |
| | | ssh-hostkey: |
| | | 1024 ac:00:a0:1a:82:ff:cc:55:99:dc:67:2b:34:97:6b:75 (DSA) |
| | | 2048 20:3d:2d:44:62:2a:b0:5a:9d:b5:b3:05:14:c2:a6:b2 (RSA) |
| | | 256 96:02:bb:5e:57:54:1c:4e:45:2f:56:4c:4a:24:b2:57 (ECDSA) |
| | |_ 256 33:fa:91:0f:e0:e1:7b:1f:6d:05:a2:b0:f1:54:41:56 (ED25519) |
| | 80/tcp open http Apache httpd 2.4.7 ((Ubuntu)) |
| | |_http-favicon: Nmap Project |
| | |_http-server-header: Apache/2.4.7 (Ubuntu) |
| | |_http-title: Go ahead and ScanMe! |
| | 135/tcp filtered msrpc |
| | 139/tcp filtered netbios-ssn |
| | 9929/tcp open nping-echo Nping echo |
| | 31337/tcp open tcpwrapped |
| | Aggressive OS guesses: Linux 4.19 - 5.15 (98%), Linux 2.6.32 (94%), Linux 4.0 - 4.4 (94%), Linux 4.15 (94%), Linux 5.4 (94%), IPFire 2.27 (Linux 5.15 - 6.1) (94%), Linux 2.6.32 or 3.10 (93%), Linux 2.6.32 - 2.6.35 (92%), Linux 2.6.32 - 2.6.39 (92%), Linux 5.0 - 5.14 (91%) |
| | No exact OS matches for host (test conditions non-ideal). |
| | Network Distance: 22 hops |
| | Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel |
|
| |
|
| Das bewirkt, dass Nmap umfangreiche Debugging-Information darüber ausgibt, was die Versionserkennung gerade macht. Das ist eine Untermenge dessen, was Sie mit --packet-trace erhalten.
| | TRACEROUTE (using port 199/tcp) |
| -sR (RPC-Scan) | | HOP RTT ADDRESS |
| | 1 0.08 ms OPNsense.localdomain (192.168.1.1) |
| | 2 12.58 ms ip5b4210fe.dynamic.kabel-deutschland.de (91.66.16.254) |
| | 3 11.36 ms ip53a9b3c6.static.kabel-deutschland.de (83.169.179.198) |
| | 4 15.19 ms ip5886c088.static.kabel-deutschland.de (88.134.192.136) |
| | 5 14.70 ms 145.254.3.196 |
| | 6 20.72 ms ae9-100-xcr1.hac.cw.net (195.89.99.1) |
| | 7 15.94 ms ae9-100-xcr1.hac.cw.net (195.89.99.1) |
| | 8 23.11 ms hbg-b2-link.ip.twelve99.net (80.239.193.100) |
| | 9 15.80 ms hbg-bb3-link.ip.twelve99.net (62.115.120.70) |
| | 10 29.97 ms ldn-bb2-link.ip.twelve99.net (62.115.122.161) |
| | 11 ... 12 |
| | 13 108.32 ms akamai-ic-371098.ip.twelve99-cust.net (62.115.38.45) |
| | 14 107.04 ms ae2.r01.lga01.icn.netarch.akamai.com (23.203.156.36) |
| | 15 124.00 ms ae26.r02.ord01.icn.netarch.akamai.com (23.32.62.118) |
| | 16 173.41 ms ae16.r02.sjc01.icn.netarch.akamai.com (23.193.113.29) |
| | 17 171.39 ms ae2.r12.sjc01.ien.netarch.akamai.com (23.207.232.41) |
| | 18 225.94 ms ae22.gw3.scz1.netarch.akamai.com (23.203.158.51) |
| | 19 ... 21 |
| | 22 169.40 ms scanme.nmap.org (45.33.32.156) |
|
| |
|
| Diese Methode funktioniert zusammen mit den verschiedenen Port-Scan-Methoden von Nmap. Sie nimmt alle offenen TCP-/UDP-Ports und überflutet sie mit NULL-Befehlen für das SunRPC-Programm, in dem Versuch, festzustellen, ob es RPC-Ports sind, und wenn ja, welches Programm und welche Versionsnummer darauf läuft. Dadurch können Sie quasi dieselbe Information herausfinden wie mit rpcinfo -p, selbst wenn der Portmapper des Ziels hinter einer Firewall liegt (oder von TCP-Wrappern geschützt wird). Köder funktionieren im Moment nicht mit dem RPC-Scan. Das wird automatisch als Teil einer Versionserkennung aktiviert (-sV), wenn Sie diese verlangen. Da die Versionserkennung das enthält und wesentlich umfangreicher ist, wird -sR selten benötigt.
| | OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ . |
| | Nmap done: 1 IP address (1 host up) scanned in 26.06 seconds</syntaxhighlight> |
|
| |
|
| = Zenmap =
| |
| * Neben der textbasierten Variante gibt es noch die grafische Benutzeroberfläche '''NmapFE''' zur komfortablen Einstellung von Nmap.
| |
| * Wurde mittlerweile durch die '''Zenmap''' genannte GUI abgelöst.
| |
| [[Datei:Zenmap.png|zentriert|mini]]
| |
|
| |
|
| = Ausgabe steuern =
| |
|
| |
|
| | <noinclude> |
|
| |
|
| = Weitere Informationen = | | == Anhang == |
| | === Siehe auch === |
| | <div style="column-count:2"> |
| | <categorytree hideroot=on mode="pages">{{BASEPAGENAME}}</categorytree> |
| | </div> |
| | ---- |
| | {{Special:PrefixIndex/{{BASEPAGENAME}}/}} |
|
| |
|
| = Funktionen = | | === Dokumentation === |
| == Target Enumeration == | | ; Man-Page |
| == Ping-Scanning (Host-Discovery) ==
| | # [https://manpages.debian.org/bookworm/nmap/nmap.1.de.html nmap(1)] |
| * Klassischer Ping-Scan (Network-Scan)
| |
|
| |
|
| nmap -PE -sn -oG - 192.168.0.1/24
| | <!-- |
| | ; Info-Pages |
| | --> |
|
| |
|
| * Der klassische Ping-Scan mit ICMP—Echo-Requests (-PE), aber ohne Port-Scan (-sn).
| | === Links === |
| * Erweiterter Ping-Scan (Network-Scan)
| | ==== Projekt ==== |
| | # https://nmap.org |
|
| |
|
| nmap -sP -oG - 192.168.0.1/24
| | ==== Weblinks ==== |
| | # https://de.wikipedia.org/wiki/Nmap |
|
| |
|
| * Dieser TCP-Ping-Scan ist eigentlich kein Ping-Scan, sondern eher eine sinnvolle Erweiterung zu einem klassischen Ping.
| | [[Kategorie:nmap]] |
| * Der TCP-Ping-Scan kombiniert den klassischen Ping (ICMP-Echo) mit dem TCP-SYN-Scan.
| |
| * Damit funktioniert der TCP-Ping-Scan manchmal besser als ein klassischer Ping bzw. ein einfacher ICMP-Echo-Request.
| |
|
| |
|
| == Port-Scanning ==
| | {{DEFAULTSORT:nmap}} |
| == Service- und Versionserkennung (Service Identification) ==
| | {{DISPLAYTITLE:nmap}} |
| == Betriebssystemerkennung (OS Identification) ==
| |
|
| |
|
| =Scan-Typen=
| | </noinclude> |
| ==Ping-Scan==
| |
| 1. ICMP-Echo-Ping (klassischer Ping)
| |
| nmap -PE 10.10.0.1 für Subnet nmap -PE 10.10.0.1/24 oder nmap -PE 10.10.0.*
| |
| 2. TCP-Ping-Scan
| |
| nmap -sn 10.10.0.1
| |
| 3. TCP-SYN-Ping
| |
| nmap -PS 10.10.0.1
| |
| 4. TCP-ACK-Ping
| |
| nmap -PA 10.10.0.1
| |
| 5. UDP-Ping
| |
| nmap -PU 10.10.0.1
| |
| 6. ICMP-Timestamp-Scan
| |
| nmap -PT 10.10.0.1
| |
| 7. ICMP-Address-Scan
| |
| nmap -PM 10.10.0.1
| |
| | |
| ==TCP-Full-Connect-Scan==
| |
| * Connect-Scan verwendet den gleichnamigen Systemaufruf zum Scannen von Rechnern, anstatt sich auf rohe Pakete zu verlassen, wie es die meisten anderen Methoden tun.
| |
| * Es wird normalerweise von unprivilegierten Unix-Benutzern und gegen IPv6-Ziele verwendet, da der SYN-Scan in diesen Fällen nicht funktioniert.
| |
| | |
| nmap -sT 10.10.0.1
| |
| | |
| == TCP-SYN-Scan ==
| |
| * Dies ist bei weitem der populärste Scan-Typ, weil es die schnellste Art ist, Ports des populärsten Protokolls (TCP) zu scannen.
| |
| * Er ist stealthier als der Verbindungs-Scan, und er funktioniert gegen alle funktionierenden TCP-Stapel (im Gegensatz zu einigen Spezial-Scans wie dem FIN-Scan).
| |
| | |
| nmap -sS 10.10.0.1
| |
| | |
| 3. TCP-FIN-Scan
| |
| nmap -sF 10.10.0.1
| |
| 4. TCP-XMAS-Scan
| |
| nmap -sX 10.10.0.1
| |
| 5. TCP-NULL-Scan
| |
| nmap -sN 10.10.0.1
| |
| | |
| ==UDP-Scan==
| |
| UDP-Ports bieten viele Sicherheitslücken
| |
| | |
| nmap -sU 10.10.0.1
| |
| | |
| == TCP-ACK-Scan ==
| |
| * Der ACK-Scan wird häufig zur Abbildung von Firewall-Regelsätzen verwendet.
| |
| * Insbesondere hilft er zu verstehen, ob Firewall-Regeln zustandsbehaftet sind oder nicht.
| |
| * Der Nachteil ist, dass er nicht zwischen offenen und geschlossenen Ports unterscheiden kann.
| |
| | |
| nmap -sA 10.10.0.1
| |
| | |
| == TCP-Window-Scan ==
| |
| | |
| Der Window-Scan ist wie der ACK-Scan, außer dass er in der Lage ist, offene gegenüber geschlossenen Ports gegen bestimmte Rechner zu erkennen.
| |
| nmap -sW 10.10.0.1
| |
| | |
| == TCP-Maimon-Scan ==
| |
| | |
| Dieser obskure Firewall-evading-Scan-Typ ähnelt einem FIN-Scan, enthält aber auch das ACK-Flag. Dadurch kann er durch mehr Paketfilter-Firewalls hindurchkommen, mit dem Nachteil, dass er gegen noch weniger Systeme funktioniert als der FIN-Scan.
| |
| nmap -sM 10.10.0.1
| |
| | |
| == TCP-Idle-Scan ==
| |
| | |
| Der Leerlauf-Scan ist der heimlichste Scan-Typ von allen und kann manchmal vertrauenswürdige IP-Adressenbeziehungen ausnutzen. Leider ist er auch langsam und komplex.
| |
| nmap -sI 10.10.0.1
| |
| | |
| == IP-Protokoll-Scan==
| |
| * Protokoll-Scan bestimmt, welche IP-Protokolle (TCP, ICMP, IGMP usw.) vom Zielcomputer unterstützt werden.
| |
| * Technisch gesehen handelt es sich hierbei nicht um einen Port-Scan, da die IP-Protokollnummern und nicht die TCP- oder UDP-Portnummern durchlaufen werden.
| |
| * Dennoch verwendet er nach wie vor die Option -p zur Auswahl der gescannten Protokollnummern, meldet seine Ergebnisse mit dem normalen Port-Tabellenformat und verwendet sogar dasselbe zugrunde liegende Scan-Modul wie die echten Port-Scan-Methoden.
| |
| * Es ist also nahe genug an einem Port-Scan, dass es hierher gehört.
| |
| nmap -sO 10.10.0.1
| |
| | |
| Ohne angaben werden die 1000 wichtigsten Ports gescannt.
| |
| -F steht für die 100 wichtigsten Ports
| |
| -p steht für Port selektiv ( -p25 oder -p25-100 oder -p25,80,100 oder alle Ports über -p6000-)
| |
| -p- um alle Ports zu scannen.
| |
| | |
| ===OS & Service Identication mit NMAP===
| |
| 1. OS-Scan (OS-Detection)
| |
| nmap -O 10.10.0.1
| |
| 2. Service-Scan / Versions-Scan
| |
| nmap -sV 10.10.0.1
| |
| 3. RPC-Scan
| |
| nmap -sR 10.10.0.1
| |
| 4. Kombinierter OS- & Service-Scan
| |
| nmap -O -sV 10.10.0.1
| |
| | |
| ==Anwendungsbeispiele==
| |
| 1. Klassischer Ping-Scan
| |
| nmap -PE -sn -oG – 10.10.0.1/24
| |
| 2. Erweiterter Ping-Scan
| |
| nmap -sP -oG – 10.10.0.1/24
| |
| 3. SYN-TOP100-Port-Scan
| |
| nmap -sS -F 10.10.0.1
| |
| 4. SYN/Version-All-Port-without-Ping-Scan
| |
| nmap -sV -Pn -p0- --reason --stats-every 60s 10.10.0.1
| |
| 5. Aggressive-All-Host-All-Port-Scan
| |
| nmap -sV -Pn -p0- -T4 -A -oG - --reason --stats-every 60s 10.10.0.1/24
| |
| 6. TCP-ACK-Scan
| |
| nmap -sA -F 10.10.0.1
| |
| 7. TCP-FIN-Scan
| |
| nmap -sF -F 10.10.0.1
| |
| 8. UDP-Port-Scan
| |
| nmap -sU -F 10.10.0.1
| |
| 9. UDP-All-Port-Scan
| |
| nmap -sU -p0- --reason --stats-every 60s --max-rtt-timeout 100ms --max-retrie 1 10.10.0.1
| |
| 10. List-Scan
| |
| nmap -sL 10.10.0.1/24
| |
| =Links=
| |
| ==intern==
| |
| ==extern==
| |
| * https://www.elektronik-kompendium.de/sites/net/2103061.htm
| |
| * https://nmap.org/man/de/man-target-specification.html
| |