|
|
(83 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) |
Zeile 1: |
Zeile 1: |
| '''{{BASEPAGENAME}}''' - Beschreibung | | '''{{BASEPAGENAME}}''' - Netzwerk-Analysewerkzeug, Sicherheits- und Portscanner |
|
| |
|
| == Beschreibung == | | == Beschreibung == |
| | === Network Scanning === |
| | * Netzwerke scannen und analysieren |
| | * Angeschlossene und aktive Systeme erkennen |
| | * Details zu Diensten, Konfigurationen und Versionen bestimmen |
| | * Netzwerk-Inventarisierung |
| | * Dienste-Aktualisierungen prüfen |
| | * Überwachung von Betriebszeiten, Hosts oder Diensten |
|
| |
|
| == Installation ==
| |
|
| |
|
| == Aufruf == | | === Network Mapper (nmap) === |
| <syntaxhighlight lang="bash" highlight="1" line copy>
| | [[Datei:Zenmap.png|mini|500px|Nmap GUI [[Zenmap]]]] |
| < /syntaxhighlight>
| | ; Portscanner |
| | Scannen und Auswerten von Hosts in einem Rechnernetz |
|
| |
|
| === Optionen === | | ; Nmap ("Network Mapper") |
| {| class="wikitable sortable options gnu big" | | Werkzeug für die Netzwerkanalyse und Sicherheitsüberprüfung |
| | * Es wurde entworfen, um große Netzwerke Schnell zu scannen |
| | * Funktioniert auch bei einzelnen Hosts |
| | |
| | ; Nmap benutzt rohe IP-Pakete |
| | Auf neuartige Weise, um festzustellen |
| | * welche Hosts im Netzwerk verfügbar sind |
| | * welche Dienste (Anwendungsname und -version) diese Hosts bieten |
| | * welche Betriebssysteme (und Versionen davon) darauf laufen |
| | * welche Art von Paketfiltern/-Firewalls benutzt werden |
| | * sowie Dutzende anderer Eigenschaften |
| | |
| | ; Verwendung |
| | Auch wenn Nmap üblicherweise für Sicherheitsüberprüfungen verwendet wird |
| | * wird es von vielen Systemen und Netzwerkadministratoren für Routineaufgaben benutzt |
| | * beispielsweise |
| | ** Netzwerkinventarisierung |
| | ** Verwaltung von Ablaufplänen für Dienstaktualisierungen |
| | ** Überwachung von Betriebszeiten von Hosts oder Diensten |
| | |
| | ; Ausgabe |
| | Die Ausgabe von Nmap ist eine Liste gescannter Ziele |
| | * Mit zusätzlicher Information zu jedem, abhängig von den benutzten Optionen |
| | ** Die entscheidende Information dabei steht in der "Tabelle der interessanten Ports" |
| | ** Diese Tabelle listet die Portnummer und das -protokoll sowie den Dienstnamen und -zustand auf |
| | ** Der Zustand ist entweder offen, gefiltert, geschlossen oder ungefiltert |
| | ** Offen bedeutet, dass auf diesem Port des Zielrechners eine |
| | |
| | == Linzenz == |
| | * [[Open Source]] |
| | * [[Freie Software]] |
| | |
| | == Anwendung == |
| | === Port-Zustände === |
| | Anwendung auf eingehende Verbindungen/Pakete lauscht |
| | |
| | {| class="wikitable options big" |
| |- | | |- |
| ! Unix !! GNU !! Parameter !! Beschreibung | | ! 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 |
| === Parameter ===
| |
| === Umgebungsvariablen ===
| |
| === Exit-Status ===
| |
| {| class="wikitable options col1center big"
| |
| |- | | |- |
| ! Wert !! Beschreibung
| | | Ungefiltert || |
| | * Als ungefiltert werden Ports dann klassifiziert, wenn sie auf Nmaps Testpakete antworten, Nmap aber nicht feststellen kann, ob sie offen oder gechlossen sind |
| |- | | |- |
| | 0 || Erfolg | | | <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 |
| | >0 || Fehler | |
| |} | | |} |
|
| |
|
| == Anwendung == | | ; Details |
| <syntaxhighlight lang="bash" highlight="1" line copy>
| | Die Port-Tabelle enthält eventuell auch Details zur Softwareversion, sofern eine Versionserkennung verlangt wurde |
| < /syntaxhighlight>
| | * Wurde ein IP-Protokoll-Scan verlangt (-sO), dann bietet Nmap Angaben über die unterstützten IP-Protokolle statt über lauschende Ports |
| | |
| | ; Weitere Informationen zum Ziel |
| | 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 |
| | |
| | === Beispiel === |
| | ; Typischer Nmap-Scan |
|
| |
|
| === Problembehebung === | | <syntaxhighlight lang="bash" highlight="1" copy> |
| | sudo nmap -A -T4 scanme.nmap.org |
| | </syntaxhighlight> |
|
| |
|
| == Konfiguration ==
| |
| === Dateien ===
| |
| {| class="wikitable options big" | | {| class="wikitable options big" |
| |- | | |- |
| ! Datei !! Beschreibung | | ! Argument !! Beschreibung |
| |- | | |- |
| | || | | | -A || Betriebssystem- und Versionserkennung, Script-Scanning, Traceroute |
| |- | | |- |
| | || | | | -T4 || Schnellere Ausführung |
| | |- |
| | | scanme.nmap.org || Zielhost |
| |} | | |} |
| | |
| | ; Ausgabe |
| | <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 |
| | |
| | TRACEROUTE (using port 199/tcp) |
| | 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) |
| | |
| | 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> |
| | |
| | |
|
| |
|
| <noinclude> | | <noinclude> |
Zeile 51: |
Zeile 154: |
| == Anhang == | | == Anhang == |
| === Siehe auch === | | === Siehe auch === |
| <div style="column-count:3"> | | <div style="column-count:2"> |
| <categorytree hideroot=on mode="pages">{{BASEPAGENAME}}</categorytree> | | <categorytree hideroot=on mode="pages">{{BASEPAGENAME}}</categorytree> |
| </div> | | </div> |
Zeile 59: |
Zeile 162: |
| === Dokumentation === | | === Dokumentation === |
| ; Man-Page | | ; Man-Page |
| # [https://manpages.debian.org/stable/procps/pgrep.1.de.html prep(1)] | | # [https://manpages.debian.org/bookworm/nmap/nmap.1.de.html nmap(1)] |
|
| |
|
| <!-- | | <!-- |
Zeile 67: |
Zeile 170: |
| === Links === | | === Links === |
| ==== Projekt ==== | | ==== Projekt ==== |
| | # https://nmap.org |
| | |
| ==== Weblinks ==== | | ==== Weblinks ==== |
| # https://de.wikipedia.org/wiki/Nmap | | # https://de.wikipedia.org/wiki/Nmap |
|
| |
|
| [[Kategorie:new]] | | [[Kategorie:nmap]] |
|
| |
|
| {{DEFAULTSORT:nmap}} | | {{DEFAULTSORT:nmap}} |
| [[Kategorie:nmap]]
| |
|
| |
| </noinclude>
| |
|
| |
| = TMP =
| |
| {{DISPLAYTITLE:nmap}} | | {{DISPLAYTITLE:nmap}} |
| '''nmap''' - Netzwerk-Analysewerkzeug, Sicherheits- und Portscanner
| |
|
| |
| == Installation ==
| |
| # '''apt install nmap'''
| |
|
| |
| == Anwendungen ==
| |
| $ '''nmap -v -A scanme.nmap.org'''
| |
| $ '''nmap -v -sP 192.168.0.0/16 10.0.0.0/8'''
| |
| $ '''nmap -v -iR 10000 -PN -p 80'''
| |
|
| |
| === Einfacher Portscan ===
| |
| ==== nmap ohne Optionen ====
| |
| * Es geht darum herauszufinden, ob ein Port offen ist, welche Anwendung dahinter läuft und ob dort Sicherheitslücken und Schwachstellen zu vermuten sind
| |
| * Ein einfacher Port-Scanner wird alle Ports pauschal in zwei oder drei Zustände einteilen:
| |
| # offen,
| |
| # geschlossen,
| |
| # gefiltert / geblockt (offen/geschlossen) jeweils mit und ohne Antwort
| |
|
| |
| === Ziele festlegen ===
| |
| * NMAP ist bei der Angabe des Scan-Ziels sehr flexibel
| |
| * Das kann ein Domain-Name sein, eine IP-Adresse oder ein ganzes Subnetz
| |
| Domain: www.XXX.XX
| |
| IP-Adresse: 192.168.1.1
| |
| Subnetz: 192.168.1.1/24
| |
| Subnetz: 192.168.1.*
| |
| * 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":
| |
| {| class="wikitable"
| |
| |+
| |
| ! Port(s) !! Option
| |
| |-
| |
| | 22 ||-p22
| |
| |-
| |
| |22,25,80||-p22,25,80
| |
| |-
| |
| |1 - 100||-p-100
| |
| |-
| |
| |80 - 88||-p80-88
| |
| |-
| |
| |>60000||-p60000-
| |
| |-
| |
| |1 - 65535||-p-
| |
| |}
| |
|
| |
| ==== Einzelne Rechner ====
| |
| * Der Zielbereich ist eine einzelne IP-Adresse
| |
| * Standardmäßig arbeitet Nmap mit IPv4 (es geht aber auch IPv6)
| |
| * Ein Windows-7-Rechner scannt einen Linux-PC:
| |
| ** nmap 172.16.24.102 (Nmap scan report for)
| |
| * Die IP-Adresse gehört also dem Linux-Rechner, den wir mit Nmap auf offene Ports hin überprüfen
| |
| * Das Ergebnis:
| |
| **997 Ports erkennt Nmap als geschlossen (closed ports)
| |
| ** Drei Ports sind offen:
| |
| ** Port 21 für FTP (open ftp)
| |
| ** Port 80 für einen Webserver (open http) und
| |
| ** Port 110 für POP3 (open pop3)
| |
|
| |
| ==== Netzwerkbereiche ====
| |
| =====Bereich auswählen=====
| |
| * Nmap betrachtet alles in der Kommandozeile, was keine Option (oder ein Argument einer Option) ist, als Bezeichnung eines Zielhosts
| |
| * Der einfachste Fall ist die Beschreibung einer IP-Zieladresse oder eines Zielhostnamens zum Scannen
| |
| * Manchmal möchten Sie ein ganzes Netzwerk benachbarter Hosts scannen
| |
| * Dafür unterstützt Nmap Adressen im CIDR-Stil [https://de.wikipedia.org/wiki/Classless_Inter-Domain_Routing]
| |
| * Sie können an eine IPv4-Adresse oder einen Hostnamen angefügt werden
| |
| * Nmap wird alle IP-Adressen scannen, bei denen die ersten <numbits> mit denen der gegebenen IP oder des gegebenen Hostnamens übereinstimmen
| |
| * 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-Bit festgelegt sind
| |
|
| |
| =====Teilbereich auswählen=====
| |
| * Die CIDR-Notation ist kurz, aber nicht immer flexibel genug
| |
| * So möchte man beispielsweise 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, kann man 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 beispielsweise exportiert vielleicht eine Liste von 10.000 aktuellen Adresszuweisungen (engl. leases), die Sie scannen möchten
| |
| * Man möchte beispielsweise alle IP-Adressen außer denjenigen scannen, um Hosts , die unautorisierte statische IP-Adressen benutzen zu finden
| |
| * 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 und weitere 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
| |
|
| |
| ==== ANGABE VON ZIELEN ====
| |
| Nmap betrachtet alles in der Kommandozeile, was keine Option (oder ein Argument einer Option) ist, als Bezeichnung eines Zielhosts
| |
| * Der einfachste Fall ist die Beschreibung einer IP-Zieladresse oder eines Zielhostnamens zum Scannen
| |
|
| |
| Manchmal möchten Sie ein ganzes Netzwerk benachbarter Hosts scannen
| |
| * Dafür unterstützt Nmap Adressen im CIDR-Stil
| |
| * Sie können /numbits an eine IPv4-Adresse oder einen Hostnamen anfügen, und Nmap wird alle IP-Adressen scannen, bei denen die ersten numbits mit denen der gegebenen IP oder des gegebenen Hostnamens übereinstimmen
| |
| * Zum Beispiel würde 192.168.10.0/24 die 256 Hosts zwischen 192.168.10.0 (binär: 11000000 10101000 00001010 00000000) und 192.168.10.255 (binär: 11000000 10101000 00001010 11111111, 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
| |
|
| |
| Die CIDR-Notation ist kurz, aber nicht immer flexibel genug
| |
| * Vielleicht möchten Sie beispielsweise 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
| |
| * Zum Beispiel ü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, aber denken Sie daran, im ersten Oktett 0- zu benutzen, damit die Zielangabe nicht wie eine Kommandozeilenoption aussieht
| |
| * Diese Bereiche müssen nicht auf die endgültigen Oktetts beschränkt sein: 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-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
| |
|
| |
| Nmap akzeptiert in der Kommandozeile mehrere Host-Angaben, die auch nicht vom selben Typ sein müssen
| |
| * Der Befehl nmap scanme.nmap.org 192.168.0.0/8 10.0.0,1,3-7.- macht also das, was Sie erwarten würden
| |
|
| |
| 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
| |
| * Ihr DHCP-Server beispielsweise exportiert vielleicht eine Liste von 10.000 aktuellen Adresszuweisungen (engl. oder vielleicht möchten Sie alle IP-Adressen außer denjenigen scannen, um Hosts zu finden, die unautorisierte statische IP-Adressen benutzen
| |
| * Erzeugen Sie einfach die Liste der zu scannenden Hosts und übergeben Sie 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 Sie einen Bindestrich (-) als Dateinamen angeben, liest Nmap die Hosts von der Standardeingabe statt aus einer normalen Datei
| |
|
| |
| -iR num hosts (zufällige Auswahl von Zielen)
| |
| Für internetweite Umfragen und andere Forschungsaktivitäten möchten Sie 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
| |
| * Denken Sie aber daran, dass manche Netzwerkadministratoren sich gegen unautorisierte Scans ihrer Netzwerke sträuben
| |
| * Lesen Sie "" sorgfältig, bevor Sie -iR benutzen
| |
| * Falls Sie mal an einem regnerischen Tag wirklich Langeweile haben, probieren Sie einmal den Befehl nmap -sS -PS80 -iR 0 -p 80 aus, um zufällig Webserver zu finden, auf denen Sie herumstöbern können
| |
|
| |
| --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 und weitere 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
| |
|
| |
| --excludefile exclude_file (Liste aus Datei ausklammern)
| |
| Das bietet dieselbe Funktionalität wie die Option --exclude, mit dem Unterschied, dass die ausgeklammerten Ziele in der mit Zeilenumbrüchen, Leerzeichen oder Tabulatoren getrennten Datei exclude_file statt auf der Kommandozeile angegeben werden
| |
|
| |
| === Dienste identifizieren ===
| |
| * Die Ports 25/tcp, 80/tcp und 53/udp sind offen
| |
| * 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
| |
| * 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
| |
| * 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 (beispielsweise FTP, SSH, Telnet, HTTP), aber auch
| |
| #Anwendungsnamen (beispielsweise ISC BIND, Apache httpd, Solaris telnetd),
| |
| #Versionsnummer,
| |
| #Hostnamen, Gerätetyp (beispielsweise Drucker, Router),
| |
| #die Betriebssystemfamilie (beispielsweise Windows, Linux) und manchmal verschiedene Details:
| |
| #etwa ob ein X-Server Verbindungen annimmt,
| |
| #die SSH-Protokollversion
| |
| #oder der KaZaA-Benutzername
| |
|
| |
| === Ausgabe steuern ===
| |
| [[Nmap/Ausgabe]]
| |
|
| |
| === BEISPIELE ===
| |
| Hier sind einige Anwendungsbeispiele für Nmap, von einfachen und routinemäßigen bis zu etwas komplexeren und esoterischen
| |
| * Um die Sache etwas
| |
| konkreter zu machen, werden einige echte IP-Adressen und Domainnamen benutzt
| |
| * Diese sollten Sie mit Adressen/Namen aus Ihrem eigenen Netzwerk
| |
| ersetzen
| |
| * Auch wenn ich nicht der Meinung bin, dass Port-Scans anderer Netzwerke illegal sind oder sein sollten, mögen manche
| |
| Netzwerkadministratoren es nicht, wenn ihre Netzwerke unverlangt gescannt werden, und könnten sich beschweren
| |
| * Der beste Ansatz ist der, sich zuerst
| |
| eine Genehmigung zu verschaffen
| |
|
| |
| Zu Testzwecken haben Sie die Genehmigung, den Host scanme.nmap.org zu scannen
| |
| * Diese Genehmigung gilt nur für das Scannen mit Nmap und nicht für das
| |
| Testen von Exploits oder Denial-of-Service-Angriffen
| |
| * Bitte führen Sie nicht mehr als ein Dutzend Scans pro Tag auf diesem Host durch, um die
| |
| Bandbreite nicht zu erschöpfen
| |
| * Falls diese freie Dienstleistung missbraucht wird, wird sie abgeschaltet, und Nmap wird dann Failed to resolve given
| |
| hostname/IP: scanme.nmap.org ausgeben
| |
| * Diese Genehmigung gilt auch für die Hosts scanme2.nmap.org, scanme3.nmap.org und weitere, auch wenn diese Hosts noch
| |
| nicht existieren
| |
|
| |
| nmap -v scanme.nmap.org
| |
|
| |
| Diese Option scannt alle reservierten TCP-Ports auf dem Rechner scanme.nmap.org
| |
| * Die Option -v schaltet den ausführlichen Modus an
| |
|
| |
| nmap -sS -O scanme.nmap.org/24
| |
|
| |
| Startet einen Stealth-SYN-Scan auf allen aktiven Rechnern unter den 256 IPs im Netzwerk der Größe "Klasse C", in dem Scanme sitzt
| |
| * Es versucht auch
| |
| herauszufinden, welches Betriebssystem auf jedem aktiven Host läuft
| |
| * Wegen des SYN-Scans und der Betriebssystemerkennung sind dazu root-Rechte
| |
| notwendig
| |
|
| |
| nmap -sV -p 22,53,110,143,4564 198.116.0-255.1-127
| |
|
| |
| Startet eine Host-Auflistung und einen TCP-Scan in der ersten Hälfte von allen 255 möglichen acht-Bit-Unternetzen im Klasse-B-Adressraum 198.116
| |
| Dabei wird getestet, ob die Systeme SSH, DNS, POP3 oder IMAP auf ihren Standardports laufen haben oder irgendetwas auf Port 4564
| |
| * Falls einer dieser
| |
| Ports offen ist, wird eine Versionserkennung benutzt, um festzustellen, welche Anwendung darauf läuft
| |
|
| |
| nmap -v -iR 100000 -PN -p 80
| |
|
| |
|
| Verlangt von Nmap, 100.000 Hosts zufällig auszuwählen und sie nach Webservern (Port 80) zu scannen
| |
| * Eine Host-Auflistung wird mit -PN unterbunden,
| |
| weil es Verschwendung ist, zuerst eine Reihe von Testpaketen zu senden, um festzustellen, ob ein Host aktiv ist, wenn Sie auf jedem Zielhost ohnehin
| |
| nur einen Port testen
| |
|
| |
| nmap -PN -p80 -oX logs/pb-port80scan.xml -oG logs/pb-port80scan.gnmap 216.163.128.20/20
| |
|
| |
| Das scannt 4096 IPs nach Webservern (ohne sie anzupingen) und speichert die Ausgabe im grepbaren und im XML-Format
| |
|
| |
| ; DAS NMAP-BUCH
| |
| Auch wenn dieser Reference Guide alle wesentlichen Nmap-Optionen genau beschreibt, kann er nicht vollständig zeigen, wie man diese Features
| |
| anwendet, um Aufgaben der realen Welt zu lösen
| |
| * Zu diesem Zweck haben wir das Buch Nmap Network Scanning: The Official Nmap Project Guide to Network
| |
| Discovery and Security Scanning
| |
| * Es zeigt, wie man Firewalls und Intrusion Detection-Systeme unterwandert, die Performance von Nmap optimiert, und
| |
| wie man häufige Netzwerkaufgaben mit der Nmap Scripting Engine automatisiert
| |
| * Außerdem enthält es Tipps und Anleitungen für häufige Nmap-Aufgaben
| |
| wie die Netzwerkinventarisierung, Penetrationstests, die Erkennung schurkischer Wireless Access Points und das Verhindern von Wurmausbrüchen im
| |
| Netzwerk
| |
| * Dabei zeigt es mit Beispielen und Diagrammen, wie die Kommunikation auf der Leitung aussieht
| |
| * Mehr als die Hälfte des Buches ist online
| |
| frei verfügbar
| |
| * Weitere Informationen finden Sie unter https://nmap.org/book
| |
|
| |
| Die deutsche Übersetzung dieses Buches von Dinu Gherman ist im Mai 2009 unter dem Titel Nmap: Netzwerke scannen, analysieren und absichern[14] im
| |
| Open Source Press[15]-Verlag erschienen
| |
|
| |
| == Aufruf ==
| |
| [[Nmap/syntax]]
| |
|
| |
| == Konfiguration ==
| |
| === Dateien ===
| |
| </noinclude> | | </noinclude> |
|
| |
| == Siehe auch ==
| |
| {{Special:PrefixIndex/Nmap}}
| |
| ----
| |
| * [[zenmap]]
| |
|
| |
| === Dokumentation ===
| |
| ==== Man-Page ====
| |
| ==== Info-Pages ====
| |
| === Links ===
| |
| ==== Projekt ====
| |
| # https://nmap.org
| |