Portscanning mit Nmap durchführen

NmapNmapBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Labor lernen Sie, verschiedene Portscans mit Nmap durchzuführen, einem leistungsstarken Netzwerk-Scan-Tool. Sie werden verschiedene Scan-Typen erkunden, einschließlich des TCP Connect Scans, des SYN Scans und Techniken zum Scannen spezifischer Ports, Portbereiche und der häufigsten "Top-Ports". Am Ende dieses Labors verfügen Sie über ein praktisches Verständnis dafür, wie Sie Nmap verwenden, um offene Ports und Dienste auf einem Zielsystem zu entdecken, eine grundlegende Fähigkeit bei der Netzwerkklausur und Sicherheitsaudits.

Jeder Scan-Typ hat einzigartige Eigenschaften und Anwendungsfälle. Beispielsweise vervollständigt der TCP Connect Scan den vollständigen TCP Drei-Wege-Handshake, was ihn zuverlässig, aber leicht erkennbar macht. Im Gegensatz dazu ist der SYN Scan eher heimlich, da er den Handshake nicht abschließt. Sie werden Nmap-Befehle im Xfce-Terminal ausführen und die Ausgabe analysieren, um den Status verschiedener Ports zu verstehen.

Dies ist ein Guided Lab, das schrittweise Anweisungen bietet, um Ihnen beim Lernen und Üben zu helfen. Befolgen Sie die Anweisungen sorgfältig, um jeden Schritt abzuschließen und praktische Erfahrungen zu sammeln. Historische Daten zeigen, dass dies ein Labor der Stufe Anfänger mit einer Abschlussquote von 100% ist. Es hat eine positive Bewertungsrate von 100% von den Lernenden erhalten.

Durchführung eines TCP Connect Scans mit nmap -sT 127.0.0.1

In diesem Schritt führen Sie einen TCP Connect Scan mit Nmap durch. Dies ist eine grundlegende und zuverlässige Form des TCP-Scannings, die den vollständigen TCP Drei-Wege-Handshake abschließt, um eine Verbindung zum Zielport herzustellen. Obwohl zuverlässig, ist diese Methode weniger heimlich als andere Scan-Typen, da sie eine Verbindung vollständig herstellt und anschließend trennt, was vom Zielsystem leicht protokolliert werden kann.

Lassen Sie uns kurz den TCP Drei-Wege-Handshake wiederholen:

  1. SYN (Synchronisieren): Der Scanner sendet ein SYN-Paket an den Zielport.
  2. SYN/ACK (Synchronisieren/Bestätigen): Wenn der Port geöffnet ist, antwortet das Ziel mit einem SYN/ACK-Paket.
  3. ACK (Bestätigen): Der Scanner schließt die Verbindung ab, indem er ein ACK-Paket an das Ziel zurück sendet.

Die Option -sT von Nmap führt explizit diesen vollständigen TCP Connect Scan durch. Da die TCP-Verbindung abgeschlossen wird, sind keine Root-Rechte erforderlich, aber wir verwenden sudo zur Konsistenz mit den folgenden Schritten, die dies benötigen.

Führen wir nun einen TCP Connect Scan auf 127.0.0.1 (localhost) durch. Diese IP-Adresse verweist immer auf Ihren eigenen Computer und ist somit ein sicheres Ziel für die Übung.

  1. Öffnen Sie das Xfce-Terminal. Sie sollten sich in Ihrem Home-Verzeichnis ~/project befinden.

  2. Führen Sie den folgenden Befehl aus, um den TCP Connect Scan durchzuführen:

    sudo nmap -sT 127.0.0.1

    Dieser Befehl weist Nmap an, einen TCP Connect Scan (-sT) auf die IP-Adresse 127.0.0.1 durchzuführen. Der Benutzer labex verfügt über sudo-Rechte ohne Passwort, daher können Sie einfach die Eingabetaste drücken, falls dazu aufgefordert wird.

  3. Beobachten Sie die Ausgabe im Terminal. Sie sehen eine Liste der gängigen Ports und deren Status auf Ihrem lokalen Computer. Die Ausgabe sieht ähnlich wie folgt aus:

    Starting Nmap 7.80 ( https://nmap.org ) at 2025-06-03 13:36 CST
    Nmap Scan Report for localhost (127.0.0.1)
    Host is up (0.000052s latency).
    Not shown: 995 closed ports
    PORT     STATE SERVICE
    22/tcp   open  ssh
    2121/tcp open  ccproxy-ftp
    2222/tcp open  EtherNetIP-1
    3001/tcp open  nessus
    8080/tcp open  http-proxy
    
    Nmap done: 1 IP address (1 host up) scanned in 0.04 seconds

    Die Ausgabe zeigt die Portnummer, ihren Status und den Dienst, den Nmap diesem Port zuordnet.

    • open bedeutet, dass Nmap eine TCP-Verbindung zu diesem Port erfolgreich hergestellt hat.
    • closed bedeutet, dass Nmap ein TCP RST (Reset)-Paket als Antwort auf sein SYN-Paket erhalten hat, was darauf hinweist, dass der Port nicht lauscht.
    • Beachten Sie, dass die Ports 22, 2121, 2222, 3001 und 8080 open sind. Die benutzerdefinierten Dienste (2121, 2222, 8080) wurden vom Laborumfeld eingerichtet, zusammen mit SSH auf Port 22 und einem weiteren Dienst auf Port 3001.

Durchführung eines SYN-Scans mit nmap -sS 127.0.0.1

In diesem Schritt lernen Sie, wie man einen SYN-Scan, auch bekannt als "halboffener" Scan, durchführt. Diese Technik ist im Allgemeinen heimlicher als ein TCP Connect Scan, da sie den vollständigen TCP Drei-Wege-Handshake nicht abschließt und daher weniger wahrscheinlich von den Anwendungen des Zielsystems protokolliert wird.

Hier ist die Funktionsweise eines SYN-Scans:

  1. SYN (Synchronisieren): Der Scanner sendet ein SYN-Paket an den Zielport.
  2. SYN/ACK (Synchronisieren/Bestätigen): Wenn der Port geöffnet ist, antwortet das Ziel mit einem SYN/ACK-Paket.
  3. RST (Zurücksetzen): Anstatt ein ACK zu senden, um die Verbindung abzuschließen, sendet der Scanner sofort ein RST-Paket, um die Verbindung abrupt zu beenden.

Da die vollständige TCP-Verbindung nie hergestellt wird, sind SYN-Scans weniger aufdringlich und umgehen oft einfachere Firewall-Regeln, die nur abgeschlossene Verbindungen überwachen. SYN-Scans benötigen jedoch in der Regel Root-Rechte, um Rohpakete zu erstellen, weshalb wir sudo verwenden.

Führen wir nun einen SYN-Scan auf 127.0.0.1 durch.

  1. Stellen Sie sicher, dass Sie sich im Xfce-Terminal befinden.

  2. Führen Sie den folgenden Befehl aus:

    sudo nmap -sS 127.0.0.1

    Dieser Befehl weist Nmap an, einen SYN-Scan (-sS) auf die IP-Adresse 127.0.0.1 durchzuführen. Drücken Sie die Eingabetaste, falls Sie nach einem Passwort gefragt werden.

  3. Beobachten Sie die Ausgabe. Die Ausgabe wird ähnlich dem TCP Connect Scan sein, aber das zugrunde liegende Verfahren ist unterschiedlich.

    Starting Nmap 7.80 ( https://nmap.org ) at 2025-06-03 13:36 CST
    Nmap scan report for localhost (127.0.0.1)
    Host is up (0.0000040s latency).
    Not shown: 995 closed ports
    PORT     STATE SERVICE
    22/tcp   open  ssh
    2121/tcp open  ccproxy-ftp
    2222/tcp open  EtherNetIP-1
    3001/tcp open  nessus
    8080/tcp open  http-proxy
    
    Nmap done: 1 IP address (1 host up) scanned in 0.10 seconds

    Die Spalte STATE gibt den Status jedes Ports an.

    • open bedeutet, dass Nmap als Antwort auf sein SYN-Paket ein SYN/ACK-Paket erhalten hat.
    • closed bedeutet, dass Nmap ein RST-Paket erhalten hat.
    • filtered (was in anderen Szenarien auftreten kann) bedeutet, dass Nmap nicht feststellen konnte, ob der Port geöffnet oder geschlossen ist, da Netzwerkfilterung (wie eine Firewall) Nmap daran hindert, den Port zu erreichen.

Scannen spezifischer Ports mit nmap -p 2222,8080,2121 127.0.0.1

In diesem Schritt lernen Sie, wie Sie mit Nmap spezifische Ports auf einem Zielsystem scannen. Dies ist besonders nützlich, wenn Sie Ihren Scan auf bestimmte Dienste oder Anwendungen konzentrieren möchten, von denen Sie vermuten, dass sie auf dem Zielsystem laufen, anstatt alle gängigen Ports zu scannen.

Die Option -p von Nmap ermöglicht es Ihnen, die genauen Ports anzugeben, die gescannt werden sollen. Sie können einzelne Ports durch Kommas getrennt, einen Portbereich oder eine Kombination aus beidem angeben. In diesem Fall scannen wir die Ports 2222, 8080 und 2121 auf 127.0.0.1. Dies sind die benutzerdefinierten TCP-Dienste, die vom Initialisierungsskript des Lab-Umgebungs eingerichtet wurden.

  • Port 2222 ist konfiguriert, um einen SSH-Dienst auszuführen.
  • Port 8080 ist konfiguriert, um einen Nginx-Webserver auszuführen.
  • Port 2121 ist konfiguriert, um einen FTP-Dienst auszuführen.
  1. Stellen Sie sicher, dass Sie sich im Xfce-Terminal befinden.

  2. Führen Sie den folgenden Befehl aus:

    sudo nmap -p 2222,8080,2121 127.0.0.1

    Dieser Befehl weist Nmap an, nur die Ports 2222, 8080 und 2121 (-p 2222,8080,2121) auf der IP-Adresse 127.0.0.1 zu scannen. Nmap wird die Standard-SYN-Scan-Methode verwenden, da sudo verwendet wird. Drücken Sie die Eingabetaste, falls Sie nach einem Passwort gefragt werden.

  3. Beobachten Sie die Ausgabe. Sie sollten sehen, dass alle drei angegebenen Ports als open (geöffnet) gemeldet werden.

    Starting Nmap 7.80 ( https://nmap.org ) at 2025-06-03 13:36 CST
    Nmap scan report for localhost (127.0.0.1)
    Host is up (0.000028s latency).
    
    PORT     STATE SERVICE
    2121/tcp open  ccproxy-ftp
    2222/tcp open  EtherNetIP-1
    8080/tcp open  http-proxy
    
    Nmap done: 1 IP address (1 host up) scanned in 0.10 seconds

    Die Ausgabe bestätigt den Status der angegebenen Ports. open bedeutet, dass Nmap ein SYN/ACK-Paket erhalten hat, was darauf hinweist, dass der Port aktiv auf Verbindungen wartet.

Scannen eines Portbereichs mit nmap -p 1-9000 127.0.0.1

In diesem Schritt lernen Sie, wie Sie einen Portbereich auf einem Zielsystem mit Nmap scannen. Dies ist nützlich, wenn Sie alle offenen Ports innerhalb eines bestimmten Zahlenbereichs identifizieren möchten, um laufende Dienste auf nicht standardmäßigen Ports zu entdecken.

Wie Sie im vorherigen Schritt gelernt haben, erlaubt die Option -p von Nmap die Angabe von Ports. Um einen Portbereich zu scannen, verwenden Sie die Syntax start-end, wobei start die Anfangs- und end die Endportnummer ist. In diesem Fall scannen wir die Ports 1 bis 9000 auf 127.0.0.1. Dieser Bereich wurde gewählt, um die benutzerdefinierten Dienste (2121, 2222, 8080) in Ihrer Lab-Umgebung einzuschließen.

  1. Stellen Sie sicher, dass Sie sich im Xfce-Terminal befinden.

  2. Führen Sie den folgenden Befehl aus:

    sudo nmap -p 1-9000 127.0.0.1

    Dieser Befehl weist Nmap an, die Ports 1 bis 9000 (-p 1-9000) auf der IP-Adresse 127.0.0.1 zu scannen. Nmap wird die Standard-SYN-Scan-Methode verwenden. Drücken Sie die Eingabetaste, falls Sie nach einem Passwort gefragt werden.

  3. Beobachten Sie die Ausgabe. Sie sehen eine Liste aller offenen Ports innerhalb des angegebenen Bereichs. Dies kann etwas länger dauern als das Scannen spezifischer Ports, da eine größere Anzahl von Ports geprüft wird.

    Starting Nmap 7.80 ( https://nmap.org ) at 2025-06-03 13:36 CST
    Nmap scan report for localhost (127.0.0.1)
    Host is up (0.0000020s latency).
    Not shown: 8992 closed ports
    PORT     STATE SERVICE
    22/tcp   open  ssh
    953/tcp  open  rndc
    2121/tcp open  ccproxy-ftp
    2222/tcp open  EtherNetIP-1
    3001/tcp open  nessus
    3002/tcp open  exlm-agent
    5353/tcp open  mdns
    8080/tcp open  http-proxy
    
    Nmap done: 1 IP address (1 host up) scanned in 0.16 seconds

    Die Ausgabe zeigt den Status der Ports im Bereich 1-9000 auf Ihrem lokalen Rechner an. Sie sollten die benutzerdefinierten Ports (2121, 2222, 8080) als open (geöffnet) sehen, zusammen mit anderen laufenden Diensten wie SSH (22), DNS-bezogenen Diensten (953, 5353) und weiteren Diensten (3001, 3002). Not shown: 8992 closed ports zeigt an, dass Nmap standardmäßig nur die open oder filtered Ports anzeigt, wenn ein großer Bereich gescannt wird.

Scannen der wichtigsten Ports mit nmap --top-ports 10 127.0.0.1

In diesem Schritt lernen Sie, wie Sie die häufigsten Ports auf einem Zielsystem mit der Option --top-ports von Nmap scannen. Dies ist nützlich, um schnell die wahrscheinlichsten auf einem Host laufenden Dienste zu identifizieren, ohne alle 65535 möglichen Ports zu scannen. Nmap verwaltet eine interne Liste der am häufigsten verwendeten Ports, die aus statistischen Daten zusammengestellt wurde.

Die Option --top-ports weist Nmap an, eine bestimmte Anzahl dieser häufigsten Ports zu scannen. Beispielsweise scannt --top-ports 10 die 10 häufigsten TCP-Ports.

In diesem Fall scannen wir die 10 häufigsten Ports auf 127.0.0.1.

  1. Stellen Sie sicher, dass Sie sich im Xfce-Terminal befinden.

  2. Führen Sie den folgenden Befehl aus:

    sudo nmap --top-ports 10 127.0.0.1

    Dieser Befehl weist Nmap an, die 10 häufigsten Ports (--top-ports 10) auf der IP-Adresse 127.0.0.1 zu scannen. Nmap wird die Standard-SYN-Scan-Methode verwenden. Drücken Sie die Eingabetaste, falls Sie nach einem Passwort gefragt werden.

  3. Beobachten Sie die Ausgabe. Sie sehen den Status der 10 wichtigsten Ports auf Ihrem lokalen Rechner.

    Starting Nmap 7.80 ( https://nmap.org ) at 2025-06-03 13:36 CST
    Nmap scan report for localhost (127.0.0.1)
    Host is up (0.000010s latency).
    
    PORT     STATE  SERVICE
    21/tcp   closed ftp
    22/tcp   open   ssh
    23/tcp   closed telnet
    25/tcp   closed smtp
    80/tcp   closed http
    110/tcp  closed pop3
    139/tcp  closed netbios-ssn
    443/tcp  closed https
    445/tcp  closed microsoft-ds
    3389/tcp closed ms-wbt-server
    
    Nmap done: 1 IP address (1 host up) scanned in 0.09 seconds

    Die Ausgabe zeigt den Status der 10 häufigsten Ports an. Möglicherweise stellen Sie fest, dass einige benutzerdefinierte Ports (wie 8080, 2121, 2222) in dieser Liste nicht enthalten sind, da sie nicht zu den absolut häufigsten Ports weltweit gehören, sondern spezifisch für unsere Laboreinrichtung sind. Dies zeigt, dass --top-ports zwar effizient ist, aber weniger häufige, aber dennoch wichtige Dienste möglicherweise nicht erfasst.

Zusammenfassung

In diesem Labor haben Sie gelernt, verschiedene Portscans mit Nmap durchzuführen. Sie haben einen TCP-Connect-Scan mit der Option -sT auf 127.0.0.1 durchgeführt und dabei den vollständigen TCP-Dreischritt-Handshake verstanden. Sie haben auch einen SYN-Scan mit -sS auf 127.0.0.1 ausgeführt, ein eher verdeckter Halb-Open-Scan. Sie haben geübt, spezifische Ports mit -p 2222,8080,2121 und einen breiteren Portbereich mit -p 1-9000 auf 127.0.0.1 zu scannen. Schließlich haben Sie gelernt, die häufigsten Ports effizient mit --top-ports 10 auf 127.0.0.1 zu scannen. Durch diese praktischen Übungen haben Sie praktische Erfahrung in der Interpretation der Nmap-Ausgabe und im Verständnis verschiedener Scan-Typen für die Netzwerkklausur erlangt.