GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So verwenden Sie den nmap-Befehl

Nmap ist ein leistungsstarkes Netzwerk-Scan-Tool für Sicherheitsaudits und Penetrationstests. Es ist eines der wichtigsten Tools, das von Netzwerkadministratoren zur Fehlerbehebung bei Netzwerkverbindungsproblemen und zum Scannen von Ports verwendet wird.

Nmap kann auch die Mac-Adresse, den Betriebssystemtyp, die Dienstversion und vieles mehr erkennen.

Dieser Artikel erklärt die Grundlagen zur Verwendung von nmap Befehl, um verschiedene Netzwerkaufgaben auszuführen.

Installieren von Nmap #

Nmap ist ein plattformübergreifendes Programm, das auf allen gängigen Betriebssystemen installiert werden kann. Es wurde ursprünglich als reines Linux-Tool veröffentlicht und später auf andere Systeme wie BSD, Windows und macOS portiert.

Wenn Sie eine grafische Benutzeroberfläche der Befehlszeile vorziehen, bietet Nmap auch eine grafische Benutzeroberfläche namens Zenmap.

Die offiziellen Binärpakete können von der Nmap-Download-Seite heruntergeladen werden.

Der Installationsvorgang ist unkompliziert und variiert je nach Betriebssystem.

Installieren von Nmap auf Ubuntu und Debian #

Nmap ist in den standardmäßigen Ubuntu- und Debian-Repositories verfügbar. Um es zu installieren, führen Sie Folgendes aus:

sudo apt updatesudo apt install nmap

Installieren von Nmap auf CentOS und Fedora #

Unter CentOS und anderen Red Hat-Derivaten wird Folgendes ausgeführt:

sudo dnf install nmap

Installieren von Nmap unter macOS #

macOS-Benutzer können Nmap installieren, indem sie das Installationspaket „.dmg“ von der Nmap-Site oder über Homebrew herunterladen:

brew install nmap

Installieren von Nmap unter Windows #

Die Windows-Version von Nmap hat einige Einschränkungen und ist im Allgemeinen etwas langsamer als die UNIX-Version.

Die einfachste Möglichkeit, Nmap unter Windows zu installieren, besteht darin, die exe-Datei zur Selbstinstallation herunterzuladen und auszuführen.

Sie können Nmap unter Windows entweder über die Befehlszeile oder durch Starten des Zenmap-Programms ausführen. Weitere Informationen zur Verwendung von Nmap unter Windows finden Sie in den Gebrauchsanweisungen nach der Installation.

Mit Nmap #

Nmap wird normalerweise verwendet, um die Netzwerksicherheit zu prüfen, Netzwerkzuordnungen vorzunehmen, offene Ports zu identifizieren und nach Online-Geräten zu suchen.

Die vereinfachte Syntax von nmap Befehl lautet wie folgt:

nmap [Options] [Target...]

Das grundlegendste Beispiel für die Verwendung von Nmap ist das Scannen eines einzelnen Ziels als Standardbenutzer ohne Angabe von Optionen:

nmap scanme.nmap.org

Beim Aufruf als Nicht-Root-Benutzer, der keine Raw-Paket-Privilegien hat, nmap führt den TCP-Verbindungsscan aus. Die (-sT ) ist standardmäßig im unprivilegierten Modus aktiviert.

Die Ausgabe sieht in etwa so aus, einschließlich grundlegender Informationen über den Scan und einer Liste offener und gefilterter TCP-Ports.

Starting Nmap 7.91 ( https://nmap.org ) at 2020-12-16 20:19 CET
Nmap scan report for cast.lan (192.168.10.121)
Host is up (0.048s latency).
Not shown: 981 closed ports
PORT     STATE    SERVICE
21/tcp   open     ftp
22/tcp   open     ssh
25/tcp   open     smtp
53/tcp   open     domain
80/tcp   open     http
110/tcp  open     pop3
143/tcp  open     imap
443/tcp  open     https
587/tcp  open     submission
993/tcp  open     imaps
995/tcp  open     pop3s
1025/tcp open     NFS-or-IIS
1080/tcp open     socks
8080/tcp open     http-proxy
8081/tcp open     blackice-icecap

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

Die beliebteste Scan-Option ist der TCP-SYN-Scan (-sS ), die schneller als die Connect-Option ist und gegen alle kompatiblen TCP-Stacks funktioniert.

-sS ist standardmäßig eingeschaltet, wenn nmap wird als Benutzer mit Administratorrechten aufgerufen:

sudo nmap 192.168.10.121

Verwenden Sie für eine detailliertere Ausgabe die Erhöhung der Ausführlichkeit mit -v oder -vv :

sudo nmap -vv 192.168.10.121

Um einen UDP-Scan durchzuführen, rufen Sie den Befehl mit dem Befehl (-sU ) Option als Root-Benutzer:

sudo nmap -sU 192.168.10.121

Eine vollständige Liste der Port-Scanning-Methoden finden Sie auf der Nmap-Dokumentationsseite.

Nmap unterstützt auch IPv6-Adressen. Um einen IPv6-Host anzugeben, verwenden Sie den -6 Möglichkeit:

sudo nmap -6 fd12:3456:789a:1::1

Zielhosts angeben #

Nmap behandelt alle Argumente, die keine Optionen sind, als Zielhosts.

Argumente gelten als Optionen, wenn sie mit einem einfachen oder doppelten Bindestrich beginnen (- , -- ).

Die einfachste Möglichkeit besteht darin, eine oder mehrere Zieladressen oder Domänennamen zu übergeben:

nmap 192.168.10.121 host.to.scan

Sie können die CIDR-Notation verwenden, um einen Netzwerkbereich anzugeben:

nmap 192.168.10.0/24

Um einen Oktettbereich anzugeben, verwenden Sie das Bindestrichzeichen. Zum Beispiel, um 192.168.10.1 zu scannen , 192.168.11.1 und 192.168.12.1 :

nmap 192.168.10-12.1

Ein weiteres Zeichen, mit dem Sie die Ziele angeben können, ist das Komma. Der folgende Befehl zielt auf dieselben Hosts ab wie der obige:

nmap 192.168.10,11,12.1

Sie können alle Formen kombinieren:

nmap 10.8-10.10,11,12.0/28  192.168.1-2.100,101

Um sicherzustellen, dass Sie vor dem Scannen die richtigen Hosts angegeben haben, verwenden Sie die Listen-Scan-Option (-sL ), die nur die Ziele auflistet, ohne einen Scan auszuführen:

nmap -sL 10.8-10.10,11,12.0/28  192.168.1-2.100,101

Wenn Sie Ziele ausschließen möchten, die in dem von Ihnen angegebenen Bereich enthalten sind, verwenden Sie --exclude Möglichkeit:

nmap 10.8-10.10,11,12.0/28 --exclude 10.10.12.12

Festlegen und Scannen von Ports #

Standardmäßig führt Nmap einen schnellen Scan für die 1000 beliebtesten Ports durch. Diese Ports sind nicht die ersten 1000 aufeinanderfolgenden Ports, sondern die 1000 am häufigsten verwendeten Ports im Bereich von 1 bis 65389.

Um nach allen Ports von 1 bis 65535 zu suchen, verwenden Sie -p- Möglichkeit:

nmap -p- 192.168.10.121

Jeder Port kann sich in einem der folgenden Zustände befinden:

  • open - Das auf dem Port laufende Programm antwortet auf Anfrage.
  • geschlossen - Auf dem Port läuft kein Programm, und der Host antwortet auf Anfragen.
  • gefiltert – Der Host antwortet nicht auf die Anfrage.

Um beispielsweise nur Port 443 zu scannen, würden Sie den folgenden Befehl verwenden:

nmap -p 443 192.168.10.121

Um mehr als einen Port anzugeben, trennen Sie die Zielports durch ein Komma:

nmap -p 80,443 192.168.10.121

Portbereiche können mit dem Bindestrichsymbol angegeben werden. Um beispielsweise alle UDP-Ports von 1 bis 1024 zu scannen, würden Sie Folgendes ausführen:

sudo nmap -sU -p 1-1024 192.168.10.121

Alle zusammen:

nmap -p 1-1024,8080,9000 192.168.10.121

Ports können auch über den Portnamen angegeben werden. Um beispielsweise nach Port 22 zu scannen, können Sie ssh verwenden:

nmap -p ssh 192.168.10.121

Ping-Scannen #

Um einen Ping-Scan oder eine Host-Erkennung durchzuführen, rufen Sie nmap auf Befehl mit dem -sn Möglichkeit:

sudo nmap -sn 192.168.10.0/24

Das -sn Die Option weist Nmap an, nur Online-Hosts zu erkennen und keinen Port-Scan durchzuführen. Dies ist nützlich, wenn Sie schnell feststellen möchten, welche der angegebenen Hosts aktiv sind.

DNS-Namensauflösung deaktivieren #

Das Standardverhalten von Nmap besteht darin, für jeden erkannten Host eine Reverse-DNS-Auflösung durchzuführen, was die Scanzeit verlängert.

Beim Scannen großer Netzwerke empfiehlt es sich, die Reverse-DNS-Auflösung zu deaktivieren und die Scans zu beschleunigen. Rufen Sie dazu den Befehl mit dem -n auf Möglichkeit:

sudo nmap -n 192.168.10.0/16

Betriebssystem-, Dienst- und Versionserkennung #

Nmap kann das Betriebssystem des Remote-Hosts mithilfe von TCP/IP-Stack-Fingerprinting erkennen. Um die Betriebssystemerkennung auszuführen, rufen Sie den Befehl mit -O auf Möglichkeit:

sudo nmap -O scanme.nmap.org

Wenn Nmap das Host-Betriebssystem erkennen kann, wird es Folgendes ausgeben:

...
Device type: general purpose
Running: Linux 5.X
OS CPE: cpe:/o:linux:linux_kernel:5
OS details: Linux 5.0 - 5.4
Network Distance: 18 hops

OS detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 26.47 seconds

Typischerweise lauschen Systemdienste auf Standardports, die bekannt und für sie reserviert sind. Wenn beispielsweise Port 22, der dem SSH-Dienst entspricht, offen ist, gehen Sie davon aus, dass auf dem Host ein SSH-Server läuft. Sie können sich jedoch nicht absolut sicher sein, da Benutzer Dienste auf beliebigen Ports ausführen können.

Mit Dienst- und Versionserkennung zeigt Ihnen Nmap, welches Programm auf dem Port lauscht, und die Programmversion.

Um nach Service und Version zu suchen, verwenden Sie -sV Möglichkeit:

sudo nmap -sV scanme.nmap.org
...
PORT      STATE    SERVICE      VERSION
19/tcp    filtered chargen
22/tcp    open     ssh          OpenSSH 6.6.1p1 Ubuntu 2ubuntu2.13 (Ubuntu Linux; protocol 2.0)
80/tcp    open     http         Apache httpd 2.4.7 ((Ubuntu))
135/tcp   filtered msrpc
139/tcp   filtered netbios-ssn
445/tcp   filtered microsoft-ds
9929/tcp  open     nping-echo   Nping echo
31337/tcp open     tcpwrapped
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
...

Sie können auch nach Betriebssystem und Versionen suchen und Traceroute in einem Befehl mit -A ausführen Möglichkeit:

sudo nmap -A 192.168.10.121

Nmap-Ausgabe #

Standardmäßig gibt Nmap die Informationen auf der Standardausgabe (stdout) aus.

Wenn Sie ein großes Netzwerk scannen oder die Informationen zur späteren Verwendung benötigen, können Sie die Ausgabe in einer Datei speichern.

Nmap bietet mehrere Ausgabetypen. Um die Ausgabe im normalen Format zu speichern, verwenden Sie den -oN Option gefolgt vom Dateinamen:

sudo nmap -sU -p 1-1024 192.168.10.121 -oN output.txt

Die beliebteste Option ist das Speichern der Ausgabe im XML-Format. Verwenden Sie dazu das -oX Möglichkeit:

sudo nmap -sU -p 1-1024 192.168.10.121 -oX output.xml

Ein weiteres nützliches Format ist die Grepable-Ausgabe, die mit den Standard-Unix-Tools wie grep geparst werden kann , awk und cut . Die Grepable-Ausgabe wird mit dem -oG angegeben Möglichkeit:

sudo nmap -sU -p 1-1024 192.168.10.121 -oG output

Nmap Scripting Engine #

Eine der leistungsstärksten Funktionen von Nmap ist seine Skript-Engine. Nmap wird mit Hunderten von Skripten ausgeliefert, und Sie können auch Ihre eigenen Skripte in der Sprache Lua schreiben.

Sie können Skripte verwenden, um Malware und Backdoors zu erkennen, Brute-Force-Angriffe durchzuführen und vieles mehr.

Um beispielsweise zu überprüfen, ob ein bestimmter Host kompromittiert ist, können Sie Folgendes verwenden:

nmap -sV --script http-malware-host scanme.nmap.org

Schlussfolgerung #

Nmap ist ein Open-Source-Tool, das hauptsächlich von Netzwerkadministratoren verwendet wird, um Host- und Scan-Ports zu erkennen.

Bitte beachten Sie, dass es in einigen Ländern nicht legal ist, Netzwerke ohne Genehmigung zu scannen.


Linux
  1. So verwenden Sie den Linux-Grep-Befehl

  2. So verwenden Sie den Verlaufsbefehl unter Linux

  3. Wie verwende ich den basename-Befehl?

  4. So verwenden Sie den nmap-Befehl unter Linux

  5. So verwenden Sie den id-Befehl unter Linux

So verwenden Sie den fd-Befehl auf einem Linux-System

So verwenden Sie den nmap-Befehl

Wie verwende ich den wget-Befehl unter Linux?

Wie verwende ich den xargs-Befehl unter Linux?

So verwenden Sie den RPM-Befehl unter Linux

So verwenden Sie den which-Befehl in Linux