Nach dem ersten Teil dieser Serie ist es an der Zeit, einige der fortgeschrittenen Funktionen von nmap . Beginnend mit dem grundlegenden Port-Scan können Sie weitere Informationen zum Scan erhalten, indem Sie das Flag -vv hinzufügen:

 nmap -vv 192.168.1.101 

Die Ausgabe sieht ungefähr so ​​aus:

Im ersten Teil haben wir untersucht, wie man eine Reihe von Adressen scannt. Es gibt noch eine weitere Möglichkeit, den Scan durchzuführen, diesmal jedoch durch Angabe der Anzahl der Bits aus der Subnetzmaske:

 nmap 192.168.1.1/24 

Der obige Befehl scannt alle Hosts von 192.168.1.0 bis 192.168.1.255 in einem Netzwerk mit einer Subnetzmaske von 255.255.255.0. Obwohl größere Subnetzmasken möglich sind (z. B. 255.255.0.0 ist / 16), würde dies dazu führen, dass nmap eine große Anzahl von Hosts scannt und höchstwahrscheinlich vermieden werden sollte.

Um nmap zu bringen, eine Liste der zu scannenden Hosts zu erstellen, verwenden Sie das Flag -sL :

 nmap -sL 192.168.1.1/24 

In diesem Fall ist die Ausgabe eine Liste von Adressen (eine pro Zeile), beginnend bei 192.168.1.0 und endend bei 192.168.1.255.

Wenn in Ihrem Netzwerk Hosts vorhanden sind, die ein Objekt abfragen (z. B. Server mit installierten Intrusion Detection-Systemen oder bestimmte Arten von Firewall-Appliances), können Sie nmap über das -exclude Flag das Überspringen einer bestimmten Adresse -exclude . Im folgenden Beispiel werden alle Hosts von .0 bis .255, aber nicht für 192.168.1.4 gescannt:

 nmap 192.168.1.1/24 -exclude 192.168.1.4 

Heimlichkeit

Wenn Sie nach offenen Ports suchen, kann nmap verschiedene Arten von Scan-Methoden verwenden. Netzwerkverbindungen werden mit dem TCP-Protokoll hergestellt. Es definiert, welche Datenpakete gesendet werden sollen und was die Antwort sein soll. Um eine Verbindung herzustellen, wird zuerst ein SYN-Paket an den Host gesendet. Wenn der Port offen ist und der Host Verbindungen akzeptieren will, antwortet er mit einem SYN-ACK-Paket. Dann sendet der Client ein ACK-Paket, um die Verbindung herzustellen. Diese Verbindung wird dann höher von Software wie Webbrowsern und E-Mail-Programmen verwendet. Wenn dies von einem normalen Benutzerkonto aus aufgerufen wird, ist dies genau das, was nmap für jeden untersuchten Port tut. Wenn eine Verbindung hergestellt wird, wird der Port als offen gemeldet.

Wenn nmap jedoch von einem root-Konto oder mit sudo aufgerufen wird, wird standardmäßig ein anderer Scan-Typ verwendet, der als halboffener Scan bezeichnet wird. In diesem Szenario erstellt nmap die Low-Level-TCP-Pakete selbst (anstatt das zugrunde liegende Betriebssystem in seinem Namen zu verwenden) und wenn es das SYN-ACK empfängt, antwortet es nicht mit einem ACK und so ist eine vollständige Verbindung nicht etabliert. Da der Host jedoch mit einem SYN-ACK antwortet, bedeutet dies, dass der Port offen und für eine vollständige Verbindung verfügbar ist. Der Vorteil des halboffenen Scannens besteht darin, dass es schneller ist und nicht dazu führt, dass die Serversoftware auf dem Port eine Verbindung protokolliert.

Mit dem Flag -sS können Sie sicherstellen, dass der halboffene Scanvorgang verwendet wird. In Kombination mit -vv können Sie sehen, dass nmap die Verwendung eines "SYN Stealth Scan" meldet, um den Host zu untersuchen. Hier ist der vollständige Befehl:

 sudo nmap -sS -vv 192.168.1.101 

nmap auch, dass nmap jetzt einen Bericht über die Anzahl der erzeugten nmap gibt, damit der halboffene Scan durchgeführt werden kann.

Alles beleuchtet wie ein Weihnachtsbaum

Es gibt eine weitere Art von Scan, die erwähnenswert ist, und das ist der NULL-Scan und seine Freunde - der FIN-Scan und der Weihnachts-Scan. Im TCP-Standard gibt es einen kleinen Abschnitt, der einer TCP-Implementierung sagt, was zu tun ist, wenn sie ein Paket mit den falschen Flags empfängt. Das praktische Ergebnis dieses "Schleifenlochs" ist, dass alle Pakete, die die SYN-, RST- oder ACK-Bits nicht enthalten, zu einem zurückgegebenen RST-Paket führen, wenn der Port geschlossen ist, und überhaupt keine Antwort, wenn der Port offen ist. nmap kann dies zu seinem Vorteil nutzen, indem es missgebildete Pakete sendet und wartet, um zu sehen, ob es eine Antwort gibt.

Der NULL-Scan, der mit -sN aufgerufen wird, setzt keine Bits im Paketheader. Der FIN-Scan, -sF, setzt das TCP-FIN-Bit und den Xmas-Scan, -sX, setzt die -sX, -sX und URG-Flags. Es wird der Weihnachts-Scan genannt, da das Paket jetzt wie ein Weihnachtsbaum beleuchtet ist!

Wenn der Host mit einem RST-Paket antwortet, ist der Port geschlossen, nichts und der Port ist offen.

Fazit

Wie wir sehen können, ist nmap ein leistungsfähiges Werkzeug und wurde gleichermaßen für Stealth oder Overt Scanning entwickelt. Versuchen Sie als letzten Versuch den folgenden Befehl zu verwenden, um zu ermitteln, welche Hosts in Ihrem lokalen Netzwerk aktiv sind, ohne die Hosts zu überprüfen, sondern nur nach ihren MAC-Adressen zu fragen:

 sudo nmap -PR -vv 192.168.1.1/24 

Das Flag -PR nmap, nach der MAC-Adresse des Hosts zu fragen (unter Verwendung von ARP) und markiert den Host als lebendig, wenn er eine Antwort erhält.