In diesem Tutorial erklärt.
NMAP ist wahrscheinlich das wichtigste Netzwerk- und Sicherheitstool auf dem Markt. Zu seinen Funktionen gehören Port -Scan, Anfälligkeitsscanning, Hosts Discovery, Footprinting -Funktionen und noch mehr Funktionen, die von der NMAP Scripting Engine (NSE) mitgebracht wurden.
Nach dem Lesen dieses Tutorials können Sie nicht nur durch die Verwendung von Flags, sondern auch durch das Lernen von Syntax -Tipps und die NMAP -Skriptmotor mit zusätzlichen Funktionen ein erweiterter NMAP -Benutzer werden, sondern auch durch die Lernen von Syntax -Tipps.
Alle in diesem Artikel gezeigten Beispiele enthalten Screenshots, sodass alle Benutzer verstehen, wie sie angewendet werden können.
Die NMAP -Syntax
Beim Ausführen eines Scans mit NMAP müssen wir zuerst das Programm aufrufen, dann müssen wir Flags (Scan -Typ) und schließlich die zu scannten Ziele einführen.
Ein grundlegendes Beispiel hier.com wird gescannt, um seinen Staat zu lernen.
NMAP -P 80 LinuxHint.com
Der -P (Port) Flag oder Parameter Im obigen Beispiel wird gezeigt, um eine oder mehrere Ports zu definieren. Sie können weitere Ports hinzufügen, indem Sie sie mit Kommas trennen. Dies wird später in diesem Artikel erläutert.
Verständnis der NMAP -Ausgabe: Portzustände
Bevor Sie die Erklärung zu NMAP -Flags fortsetzen, ist es für die Leser wichtig, NMAP -Ausgänge zu verstehen. In diesem Zusammenhang gibt es 6 Hafenstaaten, die von NMAP gemeldet werden können:
Jetzt kennen Sie die NMAP -Syntax und die grundlegende Ausgabe.
NMAP -Flags zum Scannen von Ports
Die am weitesten verbreitete NMAP -Funktion ist der Port -Scan. Um NMAP ordnungsgemäß zu verwenden.
Wie im ersten Abschnitt dieses Tutorials (Abschnitt Syntax) gezeigt, müssen Sie nur den Port angeben -P (Ports) Flagge gefolgt von dem Port, den Sie gescannt werden möchten, wie unten gezeigt.
NMAP -P 443 LinuxHint.com
Im obigen Beispiel wird NMAP angewiesen, den Zustand des Port 443 des LinuxHint zu überprüfen.com Host.
Sie können auch mehr als einen Port angeben, indem Sie ein Komma implementieren. Im folgenden Beispiel wird NMAP angewiesen, die Ports 80 (HTTP), 443 (HTTPS), 21 (FTP) und 22 (SSH) zu überprüfen.
NMAP -P 80.443,21,22 LinuxHint.com
Wie Sie sehen können, wurden alle angegebenen Ports analysiert. Die Ports 80 und 443 sind geöffnet, während die Ports 21 und 22 von einer Firewall gefiltert werden.
Natürlich können Sie mit NMAP auch Ziele mit IP -Adressen, Subnetzen usw. definieren.
NMAP -P 23,80 162.0.232.43
Sie können auch einen Portsbereich angeben, indem Sie einen Bindestrich wie im folgenden Beispiel implementieren, in dem alle Ports von 79 bis 90 gescannt werden.
Notiz: Wenn der Bereich zu groß ist, kann die Ausgabe geschlossene/gefilterte Ports überspringen und nur offene Ports anzeigen.
NMAP -P 79-90 LinuxHint.com
Es ist wichtig zu klären, wenn Sie die verwenden -P Flagge Sie können den Dienst auch mit seinem Namen angeben, nicht nur von der Portnummer. Im folgenden Beispiel werden Ports HTTPS und SSH gescannt.
nmap -p http, ssh linuxHint.com
Wenn Sie keine Ports angeben, scannt NMAP standardmäßig die 1000 am häufigsten verwendeten Ports. Wenn Sie ein Ziel scannen und nur offene Ports unter diesen 1000 Ports finden möchten, können Sie die verwenden -Offene Flagge.
NMAP -Open LinuxHint.com
Wie Sie sehen können, haben NMAP die Ports 80.443, 8080 und 8443 geöffnet.
NMAP -Flags für die Erkennung von Betriebssystemen und Softwareversionen
Eine weitere wichtige NMAP -Funktion ist die Fähigkeit, Betriebssysteme und Softwareversionen unseres Ziels zu erkennen. NMAP ist ein großartiges Werkzeug für Fußdrucke. Wir können verschiedene Flags verwenden und sie für bessere Ergebnisse kombinieren.
Die erste Flagge in diesem Abschnitt ist die -O (OS) Flagge Wird verwendet, um das Zielbetriebssystem zu erkennen.
Notiz: Sie benötigen Root -Privilegien, um die zu verwenden -O Flagge zur Erkennung von Betriebssystemen. Benutze die sudo Präfix.
sudo nmap -o donweb.com
Die Bedingungen von NMAP -Berichten waren nicht ideal, um das Betriebssystem des Ziels zu erkennen. Es ist jedoch 86% sicher, dass es ein Linux -System mit Kernel 2 verwendet.6.18 oder 2.6.22.
Um Serviceversionen zu erkennen, können Sie die verwenden -SV (Service Version) Flag Wie nachfolgend dargestellt.
nmap -sv argexchanger.com
Im obigen Screenshot erkannte NMAP Pure-FTPD für den FTP-Dienst, Exim 4.94.2 und dovecot für Mail -Dienst, ISC Bind 9.8.2RC1 für DNS und Litespeed als Webserver.
Der -SV -Flagge unterstützt unterschiedliche Intensitätsniveaus von 0 bis 9, wobei 0 eine Lichtintensität ist, und 9 der aggressivste. Die Standardebene bei Verwendung der -SV -Flagge, Wenn nicht angegeben, ist 7.
Im Folgenden können Sie ein Beispiel für einen Scan mit der geringeren Intensitätsniveau sehen. Wie Sie sehen werden, wird keine Version erkannt.
nmap -sv --version -Intensität 0 LinuxHint.com
Jetzt können Sie die Ausgabe von a sehen -SV Scannen Sie mit maximaler Intensität gegen dasselbe Ziel.
Jetzt ist das Ergebnis unterschiedlich, und obwohl die Versionen nicht erkannt wurden, wissen wir den Grund. LinuxHint.com wird durch CloudFlare geschützt. Mit dieser Ausgabe haben wir gelernt, dass wir die Versionen mit anderen Tools wie CloudFail oder Shodan erhalten können.
NMAP -Flags zum Definieren von Zielen
Andere NMAP -Grundflags und Syntaxtechniken sind nützlich, um Ziele zum Scannen zu definieren. Dieser Abschnitt zeigt, wie man sie ausführt.
Notiz: Darüber hinaus deckt dieser Abschnitt auch einige Syntaxtechniken ab.
In früheren Beispielen haben wir nur ein Ziel gescannt. Sie können auch viele Geräte ansprechen.
Das folgende Beispiel zeigt, wie Sie einen IP -Bereich abzielen. Der Scan richtet sich an alle IP -Adressen zwischen 162.0.232.2 und 162.0.232.20. Natürlich kann der Screenshot nicht alle Ergebnisse einbeziehen, die ich in der Konsole sehe.
NMAP 162.0.232.2-20
Sie können Bereiche in mehr als einem Oktett angeben. Das folgende Beispiel gibt Bereiche im letzten Toketten an, indem ein Bindestrich in beiden implementiert wird.
NMAP 162.0.232-239.2-10
Wenn Sie ein ganzes Oktett scannen möchten, können Sie auch eine Wildcard verwenden (*). Sie können auch Wildcards in mehr als einem Oktett verwenden und IP -Bereiche mit Wildcards kombinieren, wie im folgenden Beispiel gezeigt.
NMAP 162.0.232-234.*
Der -IR -Flagge Weisen Sie NMAP an, Hosts zufällig zu finden. Dieses Flag hängt von einem Argument und numerischen Anweisungen ab. Der Benutzer muss definieren, wie viele Hosts oder Ziele NMAP generieren sollen.
Im folgenden Beispiel wende ich NMAP an, 200 zufällige Ziele zum Scannen für den NetBIOS -Port zu generieren.
NMAP -P 139 -ir 200
Sie können auch NMAP verwenden, um Dateien zu laden, die so viele Hosts oder IP -Adressen enthalten, wie Sie möchten. Hosts können mit neuen Zeilen aufgeführt werden, wie im folgenden Screenshot gezeigt oder durch Komma, Platz oder Registerkarte getrennt.
Um das folgende Beispiel anzuwenden, um eine Datei mit Hosts und IP -Adressen zu erstellen, können Sie viele hinzufügen, wie Sie möchten. In meinem Fall habe ich die Datei HostsList benannt.
Das Flag zum Laden der Hosts/IPS -Liste ist -il. Im Folgenden können Sie ein Beispiel verwenden, das die Liste im obigen Screenshot verwendet hat.
nmap -il hostsList
Der -Flagge ausschließen ist nützlich, um IP -Adressen oder Hosts von Scans auszuschließen, wenn wir IP -Bereiche oder Zieldateien scannen. Im folgenden Beispiel werde ich die Hostlist erneut verwenden, um Ports SSH, FTP und SFTP zu scannen, aber ich wende NMAP an, LinuxHint auszuschließen.com aus der Liste. Wie Sie im Gegensatz zu dem in der gezeigten Ergebnis sehen -IL Flag Beispiel LinuxHint.com wurde nicht gescannt.
NMAP -P SSH, FTP, SFTP -IL HostSlist -EXCLUDE LinuxHint.com
Sie können auch die verwenden -Flagge ausschließen Beim Scannen von Anschlüssen wie im folgenden Beispiel gezeigt, in dem das IP 162.0.233.34 ist ausgeschlossen, nicht gescannt.
NMAP -P SSH, FTP, SFTP 162.0.232-236.34 -EXCLUDE 162.0.233.34
Andere gemeinsame NMAP -Flaggen
Dies ist der letzte Abschnitt dieses Tutorials und erläutert zusätzliche nicht kategorisierte Flags.
-v: Das -V -Flag (Ausführlichkeit) druckt Informationen zum Scan -Prozess aus. Standardmäßig zeigt NMAP den Vorgang nicht an. Dieser Parameter wird NMAP angewiesen, zu zeigen, was während des Scans vor sich geht.
-E: Mit diesem Flag können wir eine Netzwerkschnittstelle (e) angeben.G. ETH0, WLAN0, ENP2S0 usw.), nützlich, wenn wir sowohl über unsere kabelgebundenen als auch über drahtlosen Karten verbunden sind. In meinem Fall lautet meine drahtlose Karte WLP3S0, um NMAP zu unterweisen, diese Schnittstelle zu verwenden, um die Ports 22 und 80 unter LinuxHint zu scannen.
NMAP -E WLP3S0 -P 22,80 LinuxHint.com
-F: Der -f (Fragmentpakete) Flagge Es wird auch verwendet, um zu versuchen, den Scan -Prozess unentdeckt zu halten, indem die Pakete fragmentiert werden, was es für Firewalls oder IDs schwieriger macht, den Scan zu erkennen. Diese Option ist nicht mit allen NMAP -Funktionen kompatibel. Es ist wichtig zu klären, dass Sie diese Funktion verwenden, die Sie Root -Berechtigungen benötigen. Verwenden Sie die sudo Präfix.
sudo nmap -p 80, ssh, 21,23,25 -f linuxHint.com
-Quelle -Port / -g: Flaggen -Source -port und -g sind äquivalent und weist nmap an, Pakete über einen bestimmten Port zu senden. Diese Option wird verwendet, um zu versuchen, Firewalls Whitelisting -Verkehr aus bestimmten Ports zu betrügen. Das folgende Beispiel scannt das Ziel von Port 20 nach Ports 80, 22, 21,23 und 25, die fragmentierte Pakete an LinuxHint senden.
sudo nmap -g 20 -p 80, ssh, 21,23,25 -f LinuxHint.com
-Pn: Der Parameter -PN (Kein Ping) scannt die Ports des Netzwerks oder sorgte für den Bereich, ohne zu überprüfen, ob das Gerät online ist. Es wird nicht ping- und nicht auf Antworten warten. Es ist jedoch nützlich für die Entdeckung des Hosts.
NMAP -PN 234.31.1.1-23
Einführung in die NMAP -Skriptmotor (NSE):
Die NMAP -Skriptmotor (NSE) ist eine der nützlichsten NMAP -Funktionen für automatisierte Aufgaben. Es enthält auch erstaunliche Skripte, um Schwachstellen für Ziele zu finden. Benutzer können ihre eigenen Skripte schreiben oder eine Datenbank mit vorhandenen Skripten verwenden.
Die Syntax zur Verwendung von NSE ist Folgendes:
NMAP --Skriptt --