Nmap
(Network Mapper) ist ein Open-Source-Tool für Netzwerk-Exploration und Sicherheits-Audits. Es wurde ursprünglich von Gordon Lyon (auch bekannt unter seinem Pseudonym Fyodor Vaskovich) entwickelt und wird häufig von Netzwerkadministratoren und IT-Sicherheitsexperten verwendet. Einige wichtige Funktionen und Einsatzgebiete von Nmap
sind:
- Netzwerk-Inventur: Nmap kann verwendet werden, um die Geräte zu identifizieren, die in einem Netzwerk aktiv sind. Dazu gehören Server, Computer, Drucker und jedes andere Gerät, das mit dem Netzwerk verbunden ist.
- Port-Scanning: Es kann verwendet werden, um offene Ports auf Netzwerkgeräten zu identifizieren. Dies hilft zu verstehen, welche Dienste auf diesen Geräten laufen und ob diese Ports möglicherweise Sicherheitsrisiken darstellen.
- Erkennung von Betriebssystemen und Diensten: Nmap kann Informationen über die auf den Netzwerkgeräten laufenden Betriebssysteme und Dienste sammeln. Diese Informationen sind nützlich für die Sicherheitsüberprüfung und das Netzwerkmanagement.
- Sicherheitsüberprüfungen: IT-Sicherheitsexperten verwenden Nmap, um Netzwerke auf Schwachstellen und Sicherheitslücken zu überprüfen.
- Scripting Engine: Nmap verfügt über eine leistungsfähige Scripting Engine (NSE), die es ermöglicht, eigene Skripte für automatisierte Aufgaben und erweiterte Netzwerkexploration zu schreiben.
Das Battlefield: Netzwerk
Um die Arbeitsweise von Nmap
zu verstehen, ist es notwendig, sich den Ablauf des Verbindungsaufbaus einer Netzwerkverbindung und die verschiedenen Zustände einer Netzwerkverbindung in Erinnerung zu rufen:
TCP
-Verbindung, auch bekannt als "Drei-Wege-Handshake
", ist ein grundlegender Prozess, der eine zuverlässige Verbindung zwischen einem Client und einem Server herstellt. Dieser Prozess beginnt damit, dass der Client eine Synchronisationsnachricht (SYN
) an den Server sendet, um eine Verbindung anzufordern. Der Server antwortet mit einer Synchronisations-Acknowledgement-Nachricht (SYN-ACK
), um zu bestätigen, dass er bereit ist, die Verbindung anzunehmen. Schließlich sendet der Client eine Acknowledgement-Nachricht (ACK
) an den Server zurück, um den erfolgreichen Verbindungsaufbau zu bestätigen. Nach diesem dreistufigen Verfahren ist die TCP-Verbindung aufgebaut und Daten können sicher und zuverlässig zwischen Client und Server übertragen werden.UDP
(User Datagram Protocol) ist ein einfaches, verbindungsloses
Netzwerkprotokoll aus der Familie der Internetprotokolle, das im Gegensatz zu TCP keine Verbindungsaufbauphase durchläuft. Bei der Verwendung von UDP
sendet ein Client einfach ein Datenpaket (Datagramm) an einen Server, ohne vorher eine Verbindung aufzubauen oder den Empfang des Pakets zu bestätigen. Es gibt keinen Handshake wie bei TCP, d. h. UDP ist schneller und hat weniger Overhead, ist aber weniger zuverlässig, da die Zustellung von Paketen nicht garantiert ist und die Reihenfolge der Paketzustellung nicht kontrolliert wird. UDP
wird häufig für Anwendungen verwendet, bei denen Geschwindigkeit wichtiger ist als Zuverlässigkeit, wie z. B. Live-Video- oder Audio-Streaming, Spiele und einige Echtzeit-Kommunikationsanwendungen.ICMP
(Internet Control Message Protocol) ist ein wesentliches Protokoll der Internet-Protokoll-Suite, das hauptsächlich zur Übertragung von Fehlermeldungen und Informationen über den Netzwerkbetrieb verwendet wird. Es ist nicht für den regulären Datentransport zwischen Endgeräten vorgesehen, sondern dient der Kommunikation von Informationen über Netzwerkprobleme und -zustände. Ein bekanntes Beispiel für die Verwendung von ICMP
ist das Ping
-Tool, das ICMP-Echo-Requests
und -Replies
verwendet, um die Erreichbarkeit eines Hosts im Netzwerk zu testen. ICMP
kann auch Fehlermeldungen wie Destination Unreachable
senden, wenn Daten nicht erfolgreich an ihr Ziel geliefert werden können. Dies hilft bei der Diagnose von Netzwerkproblemen, indem es Rückmeldung über Probleme wie verlorene Verbindungen, unerreichbare Ziele oder Routing-Fehler gibt. Eine Übersicht über die einzelnen ICMP Typen finden Sie auf der Webseite der IANA
(Internet Assigned Numbers Authority).Ports
in der Netzwerkkommunikation dienen als Endpunkte in einem Betriebssystem zur Unterscheidung von Netzwerkverbindungen. Jeder Port ist durch eine bestimmte Nummer gekennzeichnet und wird zusammen mit einer IP-Adresse zur eindeutigen Identifizierung einer Netzwerksitzung verwendet. In der TCP/IP-Kommunikation wird ein Port verwendet, um bestimmte Anwendungen oder Dienste auf einem Computer zu identifizieren. Beispielsweise lauscht der HTTP
-Dienst standardmäßig auf Port 80
und HTTPS
auf Port 443
. Ports ermöglichen es einem Betriebssystem, mehrere Netzwerkanwendungen gleichzeitig auszuführen, indem der ein- und ausgehende Datenverkehr an den entsprechenden Port weitergeleitet wird. Es gibt insgesamt 65535 verfügbare Ports, die in verschiedene Bereiche unterteilt sind: die bekannten Ports (0-1023), die registrierten Ports (1024-49151) und die dynamischen oder privaten Ports (49152-65535).Ports in der Netzwerkkommunikation können verschiedene Zustände haben, die Aufschluss über ihren aktuellen Status und ihre Verfügbarkeit geben. Die wichtigsten Zustände sind:
Offen (Open/Listen): Ein offener Port zeigt an, dass eine Anwendung auf dem Host aktiv auf eingehende Verbindungen oder Daten an diesem Port wartet. Dies ist häufig bei Servern der Fall, die Dienste wie HTTP oder FTP anbieten.
Geschlossen (Closed): Ein geschlossener Port bedeutet, dass keine Anwendung auf dem Host aktuell auf Daten an diesem Port lauscht. Ein geschlossener Port kann aber jederzeit geöffnet werden, wenn eine Anwendung ihn benötigt.
Geblockt (Blocked) oder Gefiltert (Filtered): Ein geblockter oder gefilterter Port ist einer, auf den aus Sicherheitsgründen kein Zugriff möglich ist. Dies kann durch eine Firewall oder andere Sicherheitsmechanismen erfolgen, um unbefugten Zugriff oder Angriffe zu verhindern.
Stealth: Dieser Zustand tritt auf, wenn ein Port so konfiguriert ist, dass er auf keine eingehenden Anfragen reagiert – weder mit einer Bestätigung noch mit einer Ablehnung. Dies kann dazu dienen, potenziellen Angreifern weniger Informationen über das Netzwerk zu geben.
Die Kenntnis des Zustands eines Ports ist wichtig für die Netzwerksicherheit und -verwaltung, da offene Ports potenzielle Eintrittspunkte für Sicherheitsbedrohungen darstellen können, während geschlossene oder gefilterte Ports anzeigen, dass Zugriffskontrollen und Sicherheitsmaßnahmen aktiv sind.
Zusammenfassung
Zusammengefasst sind TCP
, UDP
, ICMP
und Ports
wesentliche Komponenten der Netzwerkkommunikation, die zusammenarbeiten, um die Datenübertragung und das Netzwerkmanagement zu ermöglichen. TCP
bietet eine zuverlässige, verbindungsorientierte
Kommunikation, wobei ein Drei-Wege-Handshake die Datenintegrität sicherstellt. Im Gegensatz dazu ermöglicht UDP
eine schnellere, verbindungslose
Übertragung, ideal für zeitkritische Anwendungen, opfert aber die Zuverlässigkeit. ICMP
spielt eine unterstützende Rolle bei der Übertragung von Fehlermeldungen
und Netzwerkinformationen, die für die Diagnose und Fehlerbehebung unerlässlich sind. Ports
fungieren als Endpunkte innerhalb eines Hosts, weisen den Datenverkehr bestimmten Anwendungen zu und ermöglichen so die gleichzeitige Ausführung mehrerer Netzwerkdienste und zeigen durch ihren Zustand (offen
/listen
, geschlossen
, geblockt
/gefiltert
oder stealth
) den Grad der Verfügbarkeit für Kommunikationsdienste an und können Hinweise auf die Netzwerksicherheit geben.
Nmap
baut auf diesen Komponenten auf und nutzt das Zusammenspiel von TCP
, UDP
, ICMP
und Ports
, um Netzwerke zu analysieren und zu diagnostizieren. Es verwendet TCP
und UDP
, um die Verfügbarkeit
und den Status
von Ports
zu überprüfen, verwendet ICMP,
um die Netzwerkkonnektivität und die Antwortzeiten zu testen, und identifiziert offene
oder lauschende Ports
, um potenzielle Sicherheitslücken aufzudecken und Dienste auf Netzwerkgeräten zu erkennen. Diese Integration ermöglicht Nmap eine umfassende Netzwerkanalyse und -überwachung, die für Sicherheitsexperten und Netzwerkadministratoren unerlässlich ist.
TCP-Connect-Scan
Zur Erinnerung: Der Drei-Wege-Handshake
besteht aus drei Phasen. Zunächst sendet das verbindende Endgerät (in diesem Fall der angreifende Rechner) eine TCP-Anfrage an den Zielserver, wobei das SYN
-Flag gesetzt ist. Der Server bestätigt dieses Paket dann mit einer TCP-Antwort, die das SYN
-Flag sowie das ACK
-Flag enthält (SYN-ACK
). Schließlich schließt unser Terminal den Handshake ab, indem es eine TCP-Anfrage mit gesetztem ACK
-Flag sendet:
In Nmap
funktioniert ein TCP-Connect-Scan
, indem der Drei-Wege-Handshake mit jedem Zielport der Reihe nach durchgeführt wird. Mit anderen Worten: Nmap
versucht, sich mit jedem angegebenen TCP-Port
zu verbinden, und ermittelt anhand der Antwort, ob der Dienst offen ist.
Wenn zum Beispiel ein Port geschlossen ist, sagt RFC 9293 folgendes:
"Wenn die Verbindung nicht existiert (
https://datatracker.ietf.org/doc/html/rfc9293CLOSED
), dann wird ein Reset (RST
) als Antwort auf jedes eingehende Segment gesendet, außer einem weiteren Reset (RST
). Ein SYN-Segment, das nicht zu einer bestehenden Verbindung passt, wird auf diese Weise zurückgewiesen".
Mit anderen Worten: Wenn Nmap
eine TCP-Anfrage mit gesetztem SYN-Flag
an einen geschlossenen Port
sendet, antwortet der Zielserver mit einem TCP-Paket, in dem das RST-Flag
(Reset) gesetzt ist. Anhand dieser Antwort kann Nmap feststellen, dass der Port geschlossen
ist.
Wenn die Anfrage jedoch an einen offenen Port
gesendet wird, antwortet das Ziel mit einem TCP-Paket, bei dem das SYN-ACK-Fla
g gesetzt ist. Nmap
markiert dann diesen Port als offen
(und schließt den Handshake ab, indem es ein TCP-Paket mit gesetztem ACK zurücksendet).
Die dritte Möglichkeit wäre, dass der Port zwar offen aber hinter einer Firewall versteckt ist. Viele Firewalls sind so konfiguriert, dass sie eingehende Pakete einfach verwerfen. Nmap
sendet eine TCP SYN-Anfrage
und erhält nichts zurück. Das deutet darauf hin, dass der Port von einer Firewall geschützt wird und daher als gefiltert (FILTERED
) gilt.
Es ist jedoch sehr einfach, eine Firewall so zu konfigurieren, dass sie mit einem RST-Paket
antwortet. In IP-Tables für Linux würde eine einfache Version des Befehls zum Beispiel wie folgt lauten:
iptables -I INPUT -p tcp --dport -j REJECT --reject-with tcp-reset
Dies kann es extrem schwierig (wenn nicht gar unmöglich) machen, eine genaue Analyse der Ziele zu erhalten.
Beispiel:
┌──(pronto㉿kali)-[~]
└─$ nmap 192.168.178.69
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-01-06 16:40 EST
Nmap scan report for znuny.fritz.box (192.168.178.69)
Host is up (0.0026s latency).
Not shown: 998 closed tcp ports (conn-refused)
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
Nmap done: 1 IP address (1 host up) scanned in 0.15 seconds
TCP-SYN-Scan
Wie bei TCP-Scans
werden SYN-Scans
(-sS) verwendet, um den TCP-Port-Bereich eines oder mehrerer Ziele zu scannen; die beiden Scan-Typen funktionieren jedoch etwas anders. SYN-Scans
werden manchmal auch als "halboffene
" Scans oder "Stealth
"-Scans bezeichnet.
Während TCP-Scans einen vollständigen Drei-Wege-Handshake mit dem Ziel durchführen, senden SYN-Scans ein RST-TCP-Paket
zurück, nachdem sie ein SYN/ACK
vom Server erhalten haben (dies verhindert, dass der Server wiederholt versucht, die Anfrage zu stellen). Mit anderen Worten, die Sequenz zum Scannen eines offenen Ports sieht wie folgt aus:
Für einen Hacker hat dies eine Reihe von Vorteilen:
- Ältere
Intrusion Detection Systeme
können damit umgangen werden, da sie auf einen vollständigen Drei-Wege-Handshake achten. Dies ist bei modernen IDS-Lösungen oft nicht mehr der Fall; aus diesem Grund werdenSYN-Scans
immer noch häufig als "Stealth
"-Scans bezeichnet. - SYN-Scans werden von Anwendungen, die auf offenen Ports lauschen, oft nicht protokolliert, da die Standardpraxis darin besteht, eine Verbindung zu protokollieren, sobald sie vollständig hergestellt wurde. Auch dies trägt dazu bei, dass
SYN-Scans
als "heimlich
" gelten. - SYN-Scans sind wesentlich schneller als ein Standard-TCP-Connect-Scan, da sie sich nicht um den Abschluss (und das Trennen) eines Drei-Wege-Handshakes für jeden Port kümmern müssen.
SYN-Scans haben jedoch auch einige Nachteile, und zwar:
- Sie erfordern
sudo-Berechtigungen
, um unter Linux korrekt zu funktionieren. Das liegt daran, dassSYN-Scans
die Fähigkeit voraussetzen,Raw-Pakete
zu erstellen (im Gegensatz zum vollständigen TCP-Handshake), ein Recht, das standardmäßig nur der Root-Benutzer hat. - Instabile Dienste werden manchmal durch
SYN-Scans
zum Absturz gebracht, was sich als problematisch erweisen kann, wenn ein Kunde eine Produktionsumgebung für den Test zur Verfügung gestellt hat.
Aus diesem Grund sind SYN-Scans
die Standard-Scans von Nmap, wenn sie mit sudo-Rechten ausgeführt werden. Wenn es ohne sudo-Berechtigungen ausgeführt wird, verwendet Nmap standardmäßig den TCP-Connect-Scan, den wir in der vorherigen Aufgabe gesehen haben.
Wenn Sie einen SYN-Scan
verwenden, um geschlossene und gefilterte Ports zu identifizieren, gelten genau dieselben Regeln wie bei einem TCP-Connect-Scan.
- Wenn ein Port geschlossen ist, antwortet der Server mit einem
RST-TCP-Paket
. - Wenn der Port von einer
Firewall
gefiltert wird, wird dasSYN-Paket
entweder verworfen oder mit einemRST-TCP-Paket
gefälscht.
Beispiel:
┌──(pronto㉿kali)-[~]
└─$ sudo nmap 192.168.178.69
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-01-06 16:55 EST
Nmap scan report for znuny.fritz.box (192.168.178.69)
Host is up (0.00090s latency).
Not shown: 998 closed tcp ports (reset)
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
MAC Address: 00:0C:29:3B:64:86 (VMware)
Nmap done: 1 IP address (1 host up) scanned in 0.24 seconds
UDP-Scan
Im Gegensatz zu TCP sind UDP-Verbindungen zustandslos. Das bedeutet, dass UDP-Verbindungen keine Verbindung mit einem Drei-Wege-Handshake einleiten, sondern Pakete an einen Zielport senden und im Wesentlichen hoffen, dass sie ankommen. Dadurch eignet sich UDP
hervorragend für Verbindungen, bei denen es mehr auf Geschwindigkeit als auf Qualität ankommt (z.B. Video-Stremaing), aber das Fehlen von Bestätigungen macht das Scannen von UDP deutlich schwieriger (und viel langsamer). Der Schalter für einen Nmap-UDP-Scan ist (-sU
)
Wenn ein Paket an einen offenen UDP-Port gesendet wird, sollte es keine Antwort geben. Wenn das passiert, bezeichnet Nmap den Port als open
/filtered
. Mit anderen Worten, es vermutet, dass der Port offen ist, aber er könnte durch eine Firewall geschützt sein. Wenn es eine UDP-Antwort erhält (was sehr ungewöhnlich ist), dann wird der Port als open
markiert. In diesem Fall wird die Anfrage ein zweites Mal gesendet, um sie zu überprüfen.
Wenn ein Paket an einen geschlossenen UDP-Port gesendet wird, sollte das Ziel mit einem ICMP-Paket
antworten, das die Meldung enthält, dass der Port nicht erreichbar ist Destination Port unreachable
. Dadurch werden geschlossene Ports eindeutig identifiziert, die Nmap als solche markiert und dann weitermacht.
Aufgrund dieser Schwierigkeit, festzustellen, ob ein UDP-Port tatsächlich offen ist, sind UDP-Scans im Vergleich zu den verschiedenen TCP-Scans in der Regel unglaublich langsam (etwa 20 Minuten für die ersten 1000 Ports, bei einer guten Verbindung). Aus diesem Grund ist es in der Regel eine gute Praxis, einen Nmap-Scan mit der Option --top-ports
durchzuführen. Ein Beispiel: Scannen mit nmap -sU --top-ports 20
. Damit werden die 20 am häufigsten verwendeten UDP-Ports gescannt, was zu einer viel akzeptableren Scan-Zeit führt.
Beispiel:
┌──(pronto㉿kali)-[~]
└─$ sudo nmap -sU --top-ports 20 192.168.178.69
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-01-06 17:04 EST
Nmap scan report for znuny.fritz.box (192.168.178.69)
Host is up (0.00064s latency).
PORT STATE SERVICE
53/udp closed domain
67/udp closed dhcps
68/udp open|filtered dhcpc
69/udp closed tftp
123/udp closed ntp
135/udp closed msrpc
137/udp closed netbios-ns
138/udp closed netbios-dgm
139/udp closed netbios-ssn
161/udp closed snmp
162/udp closed snmptrap
445/udp closed microsoft-ds
500/udp closed isakmp
514/udp closed syslog
520/udp closed route
631/udp closed ipp
1434/udp closed ms-sql-m
1900/udp closed upnp
4500/udp closed nat-t-ike
49152/udp closed unknown
MAC Address: 00:0C:29:3B:64:86 (VMware)
Nmap done: 1 IP address (1 host up) scanned in 17.35 seconds
NULL-, FIN- und Xmas-TCP-Port-Scans
NULL-
, FIN-
und Xmas-TCP-Port-Scans
sind miteinander verknüpft und werden vor allem deshalb verwendet, weil sie relativ gesehen noch unauffälliger sind als ein SYN-Stealth
-Scan.
NULL-Scans
Wie der Name schon sagt, werden NULL-Scans
(-sN
) durchgeführt, wenn die TCP-Anfrage ohne gesetzte Flags gesendet wird. Gemäß dem RFC sollte der Zielhost mit einem RST
antworten, wenn der Port geschlossen
ist.
FIN-Scans
FIN-Scans
(-sF
) funktionieren fast identisch, aber anstatt ein komplett leeres Paket zu senden, wird eine Anfrage mit dem FIN-Flag
gesendet (normalerweise verwendet, um eine aktive Verbindung ordnungsgemäß zu schließen). Auch hier erwartet Nmap ein RST
, wenn der Port geschlossen
ist.
Xmas-Scans
Wie die beiden anderen Scans in dieser Klasse senden auch Xmas-Scans
(-sX
) ein fehlerhaftes TCP-Paket und erwarten eine RST
-Antwort für geschlossene Ports. Er wird als Xmas-Scan
bezeichnet, da die von ihm gesetzten Flags (PSH
, URG
und FIN
) ihm das Aussehen eines blinkenden Weihnachtsbaums verleihen, wenn er als Paketaufnahme in Wireshark betrachtet wird.
Fazit
Die erwartete Antwort auf offene Ports bei diesen Scans ist ebenfalls identisch und ähnelt sehr der eines UDP-Scans
. Wenn der Port offen ist, gibt es keine Antwort auf das fehlerhafte Paket. Leider ist dies (wie bei offenen UDP-Ports) auch ein zu erwartendes Verhalten, wenn der Port durch eine Firewall geschützt ist, so dass NULL-
, FIN-
und Xmas-Scans
Ports immer nur als open|filtered
, closed
oder filtered
identifizieren. Wenn ein Port mit einem dieser Scans als gefiltert identifiziert wird, dann liegt das in der Regel daran, dass das Ziel mit einem ICMP-Unreachable-Paket
geantwortet hat.
Es ist auch erwähnenswert, dass RFC 793
zwar vorschreibt, dass Netzwerk-Hosts auf fehlerhafte Pakete mit einem RST-TCP-Paket
für geschlossene Ports und überhaupt nicht für offene Ports reagieren, dies in der Praxis aber nicht immer der Fall ist. Insbesondere Microsoft Windows (und viele Cisco-Netzwerkgeräte) sind dafür bekannt, auf jedes fehlerhafte TCP-Paket mit einem RST
zu reagieren - unabhängig davon, ob der Port tatsächlich offen ist oder nicht. Dies führt dazu, dass alle Ports als geschlossen angezeigt werden.
Das Ziel ist hier natürlich die Umgehung der Firewall. Viele Firewalls sind so konfiguriert, dass sie eingehende TCP-Pakete an blockierte Ports mit gesetztem SYN-Flag
ablehnen (und damit neue Verbindungsanfragen blockieren). Indem wir Anfragen senden, die das SYN-Flag
nicht enthalten, umgehen wir diese Art von Firewall effektiv. In der Theorie ist dies zwar gut, aber die meisten modernen IDS-Lösungen
sind mit diesen Scan-Typen vertraut, so dass Sie sich nicht darauf verlassen sollten, dass sie bei modernen Systemen zu 100 % effektiv sind.
ICMP-Network-Scanning
Bei der ersten Verbindung mit einem Zielnetz im Rahmen besteht unser erstes Ziel darin, eine Karte der Netzwerkstruktur zu erhalten - oder anders gesagt, wir wollen sehen, welche IP-Adressen aktive Hosts enthalten und welche nicht.
Eine Möglichkeit, dies zu tun, besteht darin, mit Nmap einen so genannten Ping Sweep
durchzuführen. Das ist genau das, was der Name vermuten lässt: Nmap sendet ein ICMP-Echo-Request-Paket
an jede mögliche IP-Adresse des angegebenen Netzwerks. Wenn es eine Antwort erhält (ICMP-Echo-Reply
), markiert es die IP-Adresse, die geantwortet hat, als aktiv.
Um einen Ping-Sweep
durchzuführen, verwenden wir den Schalter -sn
in Verbindung mit IP-Bereichen, die entweder mit einem Bindestrich (-
) oder in CIDR-Schreibweise angegeben werden können. z.B. könnten wir das Netzwerk 192.168.178.x
scannen mit
- nmap -sn 192.168.178.1-254
- nmap -sn 192.168.178.0/24
Der Schalter -sn
weist Nmap an, keine Ports zu scannen - und zwingt es, sich hauptsächlich auf ICMP-Echo-Pakete
zu verlassen (oder auf ARP-Anfragen
in einem lokalen Netzwerk, wenn es mit sudo
oder direkt als Root-Benutzer ausgeführt wird), um Ziele zu identifizieren.
Beispiele:
┌──(pronto㉿kali)-[~]
└─$ nmap -sn 192.168.178.0/24
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-01-06 17:33 EST
Nmap scan report for fritz.box (192.168.178.1)
Host is up (0.0015s latency).
Nmap scan report for raspberrypi.fritz.box (192.168.178.2)
Host is up (0.0025s latency).
Nmap scan report for 192.168.178.25
Host is up (0.070s latency).
Nmap scan report for iMac-von-pronto.fritz.box (192.168.178.35)
Host is up (0.0022s latency).
Nmap scan report for kali.fritz.box (192.168.178.59)
Host is up (0.0049s latency).
Nmap scan report for 192.168.178.60
Host is up (0.00026s latency).
Nmap scan report for Graylog2.fritz.box (192.168.178.66)
Host is up (0.00044s latency).
Nmap scan report for znuny.fritz.box (192.168.178.69)
Host is up (0.0011s latency).
Nmap done: 256 IP addresses (8 hosts up) scanned in 2.35 seconds
┌──(pronto㉿kali)-[~]
└─$ sudo nmap -sn 192.168.178.0/24
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-01-06 17:34 EST
Nmap scan report for fritz.box (192.168.178.1)
Host is up (0.00087s latency).
MAC Address: 38:10:D5:83:C0:C6 (AVM Audiovisuelles Marketing und Computersysteme GmbH)
Nmap scan report for raspberrypi.fritz.box (192.168.178.2)
Host is up (0.0011s latency).
MAC Address: E4:5F:01:14:A4:2A (Raspberry Pi Trading)
Nmap scan report for 192.168.178.25
Host is up (0.027s latency).
MAC Address: 60:33:4B:11:8F:D8 (Apple)
Nmap scan report for iMac-von-pronto.fritz.box (192.168.178.35)
Host is up (0.00028s latency).
MAC Address: 68:FE:F7:0F:64:A9 (Apple)
Nmap scan report for 192.168.178.45
Host is up (0.0013s latency).
MAC Address: AC:6F:BB:B4:05:52 (Tatung Technology)
Nmap scan report for 192.168.178.54
Host is up (0.053s latency).
MAC Address: BC:D0:74:98:02:D5 (Apple)
Nmap scan report for kali.fritz.box (192.168.178.59)
Host is up (0.028s latency).
MAC Address: 60:33:4B:11:8F:D8 (Apple)
Nmap scan report for Graylog2.fritz.box (192.168.178.66)
Host is up (0.00030s latency).
MAC Address: 00:0C:29:21:A1:5E (VMware)
Nmap scan report for 192.168.178.69
Host is up (0.00062s latency).
MAC Address: 00:0C:29:3B:64:86 (VMware)
Nmap scan report for kali.fritz.box (192.168.178.60)
Host is up.
Nmap done: 256 IP addresses (10 hosts up) scanned in 2.64 seconds
Wenn Sie die Liste nur auf die ausgegebenen IP-Adressen reduzieren möchten pipen Sie die Ausgabe in folgenden awk
- und sed
-Filter:
┌──(pronto㉿kali)-[~]
└─$ nmap -sn 192.168.178.0/24 | awk '/Nmap scan report for/{print $NF}' | sed 's/[()]//g'
192.168.178.1
192.168.178.2
192.168.178.35
192.168.178.60
awk '/Nmap scan report for/{print $NF}'
filtert die Ausgabe, um nur die Zeilen zu zeigen, die mitNmap scan report for
beginnen, und gibt dann das letzte Feld dieser Zeilen aus ($NF
steht für das letzte Feld inawk
, welches in diesem Kontext die IP-Adresse ist).sed 's/[()]//g'
sucht nach Klammern(
oder)
und ersetzt sie mit nichts (//
), d.h., es entfernt sie. Dasg
am Ende dessed
-Befehls gibt an, dass die Ersetzung global innerhalb der Zeile durchgeführt werden soll, für alle Vorkommen der Muster.
Zusammenfassung
Nmap ist ein leistungsfähiges und vielseitiges Werkzeug für Netzwerksicherheit und Netzwerk-Monitoring. Es wird häufig verwendet, um Netzwerke zu scannen und zu analysieren, indem es Informationen über angeschlossene Geräte, verwendete Dienste und offene Ports sammelt. Nmap verwendet eine Vielzahl von Techniken, um Hosts in einem Netzwerk zu erkennen und Sicherheitslücken aufzudecken. Es unterstützt verschiedene Arten von Scans, darunter Stealth-Scans, Port-Scans und Versionserkennung, was es zu einem unverzichtbaren Werkzeug für Systemadministratoren und Cybersecurity-Experten macht.