Port-Scanning 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 Labyrinth lernen Sie, wie Sie mit Nmap Portscans durchführen. Das Labyrinth umfasst verschiedene Arten von Scans, darunter TCP-Connect-Scan, SYN-Scan, das Scannen von bestimmten Ports, Portbereichen und Top-Ports. Sie führen Befehle wie nmap -sT, nmap -sS und andere auf verschiedenen IP-Adressen und -bereichen aus und überprüfen dann die Ergebnisse im Xfce-Terminal.

Jeder Scan-Typ hat seine eigenen Merkmale und Anwendungsfälle. Beispielsweise vollzieht der TCP-Connect-Scan die volle TCP-Dreifach-Handschlagung, was zuverlässig, aber weniger heimlich ist. Am Ende des Labyrinths werden Sie einen besseren Überblick darüber haben, wie Sie Nmap für Portscans verwenden.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL nmap(("Nmap")) -.-> nmap/NmapGroup(["Nmap"]) nmap/NmapGroup -.-> nmap/tcp_connect_scan("Basic TCP Connect Scan") nmap/NmapGroup -.-> nmap/common_ports("Common Ports Scanning") nmap/NmapGroup -.-> nmap/port_scanning("Port Scanning Methods") nmap/NmapGroup -.-> nmap/target_specification("Target Specification") nmap/NmapGroup -.-> nmap/syn_scan("SYN Scan") nmap/NmapGroup -.-> nmap/stealth_scanning("Stealth and Covert Scanning") subgraph Lab Skills nmap/tcp_connect_scan -.-> lab-530176{{"Port-Scanning mit Nmap durchführen"}} nmap/common_ports -.-> lab-530176{{"Port-Scanning mit Nmap durchführen"}} nmap/port_scanning -.-> lab-530176{{"Port-Scanning mit Nmap durchführen"}} nmap/target_specification -.-> lab-530176{{"Port-Scanning mit Nmap durchführen"}} nmap/syn_scan -.-> lab-530176{{"Port-Scanning mit Nmap durchführen"}} nmap/stealth_scanning -.-> lab-530176{{"Port-Scanning mit Nmap durchführen"}} end

Führen Sie einen TCP-Connect-Scan mit nmap -sT 127.0.0.1 durch

In diesem Schritt lernen Sie, wie Sie einen TCP-Connect-Scan mit Nmap durchführen. Ein TCP-Connect-Scan ist eine grundlegende Form des TCP-Scans, bei dem die volle TCP-Dreifach-Handschlagung abgeschlossen wird, um eine Verbindung mit dem Ziel herzustellen. Diese Methode ist weniger heimlich als andere Scan-Typen, ist jedoch zuverlässig und erfordert keine besonderen Berechtigungen.

Bevor wir beginnen, verstehen wir die TCP-Dreifach-Handschlagung:

  1. SYN (Synchronisieren): Der Scanner sendet ein SYN-Paket an das Ziel.
  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, indem er ein ACK-Paket an das Ziel zurücksendet.

Nmap's -sT-Option führt diesen vollständigen TCP-Connect-Scan durch. Da es die TCP-Verbindung abgeschlossen, wird es von dem Zielsystem leicht protokolliert.

Lassen Sie uns jetzt einen TCP-Connect-Scan auf 127.0.0.1 (localhost) ausführen. Diese Adresse bezieht sich immer auf Ihren eigenen Computer.

  1. Öffnen Sie das Xfce-Terminal.
  2. Führen Sie den folgenden Befehl aus:
sudo nmap -sT 127.0.0.1

Dieser Befehl 告诉 Nmap, einen TCP-Connect-Scan (-sT) auf die IP-Adresse 127.0.0.1 durchzuführen. Sie werden aufgefordert, Ihr Passwort einzugeben. Da der Benutzer labex sudo-Berechtigungen ohne Passwort hat, drücken Sie einfach die Eingabe-Taste. 3. Beobachten Sie die Ausgabe. Sie sollten eine Liste der geöffneten Ports auf Ihrem lokalen Computer sehen. Die Ausgabe sollte ähnlich wie folgt aussehen:

Starting Nmap 7.80 ( https://nmap.org )
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000063s latency).
Other addresses for localhost: ::1

PORT      STATE SERVICE
22/tcp    open  ssh
25/tcp    closed smtp
80/tcp    closed http
111/tcp   closed rpcbind
139/tcp   closed netbios-ssn
445/tcp   closed microsoft-ds
631/tcp   closed ipp
3306/tcp  closed mysql
5432/tcp  closed postgresql
8080/tcp  closed http-proxy
8443/tcp  closed https-alt
9090/tcp  closed zeus-admin
10000/tcp closed snet-sensor-mgmt

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

Die Ausgabe zeigt die Ports, die auf dem Zielsystem geöffnet, geschlossen oder gefiltert sind. In diesem Fall wird Ihr eigener Computer abgetastet. Die STATE-Spalte gibt den Status jedes Ports an. open bedeutet, dass Nmap eine TCP-Verbindung zu diesem Port herstellen konnte. closed bedeutet, dass Nmap ein TCP-Reset (RST)-Paket als Antwort auf sein SYN-Paket erhalten hat.

Führen Sie einen SYN-Scan mit nmap -sS 192.168.1.1 aus

In diesem Schritt lernen Sie, wie Sie einen SYN-Scan (auch als "halb-öffener" Scan bekannt) mit Nmap durchführen. Ein SYN-Scan ist eine heimlichere Technik als ein TCP-Connect-Scan, da er die volle TCP-Dreifach-Handschlagung nicht abgeschlossen.

So funktioniert ein SYN-Scan:

  1. SYN (Synchronisieren): Der Scanner sendet ein SYN-Paket an das Ziel.
  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 ein RST-Paket, um die Verbindung abrupt zu beenden.

Da die volle TCP-Verbindung nie hergestellt wird, sind SYN-Scans im Vergleich zu TCP-Connect-Scans weniger wahrscheinlich, dass sie von dem Zielsystem protokolliert werden. SYN-Scans erfordern jedoch normalerweise root-Berechtigungen, um rohe Pakete zu erzeugen.

Nmap's -sS-Option führt einen SYN-Scan durch.

Lassen Sie uns jetzt einen SYN-Scan auf 192.168.1.1 ausführen. Hinweis: Diese IP-Adresse ist wahrscheinlich eine private IP-Adresse im lokalen Netzwerk. Stellen Sie sicher, dass Sie die Erlaubnis haben, diese Adresse zu scannen. In einem realen Szenario ist es illegal, ein Netzwerk ohne Erlaubnis zu scannen. Im Rahmen dieses Labyrinths nehmen wir an, dass diese IP-Adresse ein sicheres Ziel in Ihrer Testumgebung darstellt. Wenn Sie kein Gerät an dieser Adresse haben, wird der Scan wahrscheinlich alle Ports als gefiltert anzeigen.

  1. Öffnen Sie das Xfce-Terminal.
  2. Führen Sie den folgenden Befehl aus:
sudo nmap -sS 192.168.1.1

Dieser Befehl 告诉 Nmap, einen SYN-Scan (-sS) auf die IP-Adresse 192.168.1.1 durchzuführen. Sie werden aufgefordert, Ihr Passwort einzugeben. Da der Benutzer labex sudo-Berechtigungen ohne Passwort hat, drücken Sie einfach die Eingabe-Taste. 3. Beobachten Sie die Ausgabe. Die Ausgabe variiert je nach Zielsystem. Es könnte ähnlich wie folgt aussehen:

Starting Nmap 7.80 ( https://nmap.org )
Nmap scan report for 192.168.1.1
Host is up (0.0012s latency).
Not shown: 997 filtered ports
PORT    STATE SERVICE
22/tcp  open  ssh
80/tcp  open  http
443/tcp closed https

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

Die Ausgabe zeigt die Ports, die auf dem Zielsystem geöffnet, geschlossen oder gefiltert sind. Die STATE-Spalte gibt den Status jedes Ports an. open bedeutet, dass Nmap ein SYN/ACK-Paket als Antwort auf sein SYN-Paket erhalten hat. closed bedeutet, dass Nmap ein RST-Paket erhalten hat. filtered bedeutet, dass Nmap nicht bestimmen konnte, ob der Port geöffnet oder geschlossen ist, da Netzwerkfiltering Nmap daran hindert, den Port zu erreichen.

Scannen Sie spezifische Ports mit nmap -p 22,80 192.168.1.1

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

Nmap's -p-Option ermöglicht es Ihnen, die Ports anzugeben, die Sie scannen möchten. Sie können einzelne Ports, einen Portbereich oder eine Kombination aus beidem angeben. In diesem Fall werden wir die Ports 22 und 80 auf der IP-Adresse 192.168.1.1 scannen.

  • Port 22 wird üblicherweise für SSH (Secure Shell), ein sicherer Remote-Zugangsprotokoll, verwendet.
  • Port 80 wird üblicherweise für HTTP (Hypertext Transfer Protocol), das für das Web-Browsing verwendete Protokoll, verwendet.

Hinweis: Wie im vorherigen Schritt ist 192.168.1.1 wahrscheinlich eine private IP-Adresse im lokalen Netzwerk. Stellen Sie sicher, dass Sie die Erlaubnis haben, diese Adresse zu scannen. In einem realen Szenario ist es illegal, ein Netzwerk ohne Erlaubnis zu scannen. Im Rahmen dieses Labyrinths nehmen wir an, dass diese IP-Adresse ein sicheres Ziel in Ihrer Testumgebung darstellt. Wenn Sie kein Gerät an dieser Adresse haben, wird der Scan wahrscheinlich die Ports als gefiltert oder geschlossen anzeigen.

  1. Öffnen Sie das Xfce-Terminal.
  2. Führen Sie den folgenden Befehl aus:
sudo nmap -p 22,80 192.168.1.1

Dieser Befehl 告诉 Nmap, die Ports 22 und 80 (-p 22,80) auf der IP-Adresse 192.168.1.1 zu scannen. Nmap wird den Standard-SYN-Scan verwenden, es sei denn, etwas anderes angegeben wird. Sie werden aufgefordert, Ihr Passwort einzugeben. Da der Benutzer labex sudo-Berechtigungen ohne Passwort hat, drücken Sie einfach die Eingabe-Taste. 3. Beobachten Sie die Ausgabe. Die Ausgabe variiert je nach Zielsystem. Es könnte ähnlich wie folgt aussehen:

Starting Nmap 7.80 ( https://nmap.org )
Nmap scan report for 192.168.1.1
Host is up (0.0011s latency).

PORT   STATE SERVICE
22/tcp open  ssh
80/tcp open  http

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

Die Ausgabe zeigt den Status der Ports 22 und 80 auf dem Zielsystem. open bedeutet, dass Nmap ein SYN/ACK-Paket als Antwort auf sein SYN-Paket erhalten hat, was darauf hindeutet, dass der Port auf Verbindungen wartet.

Scannen Sie einen Portbereich mit nmap -p 1-100 127.0.0.1

In diesem Schritt lernen Sie, wie Sie mit Nmap einen Bereich von Ports auf einem Zielsystem scannen. Dies ist nützlich, wenn Sie alle geöffneten Ports innerhalb eines bestimmten Bereichs identifizieren möchten, was Ihnen helfen kann, die auf dem Ziel laufenden Dienste zu verstehen.

Wie Sie im vorherigen Schritt gelernt haben, ermöglicht Ihnen Nmap's -p-Option, die Ports anzugeben, die Sie scannen möchten. Um einen Bereich von Ports zu scannen, können Sie die Syntax start-end verwenden, wobei start die Anfangs-Portnummer und end die End-Portnummer ist. In diesem Fall werden wir die Ports 1 bis 100 auf der IP-Adresse 127.0.0.1 scannen.

127.0.0.1 ist die Loopback-Adresse, auch bekannt als localhost. Sie bezieht sich immer auf den aktuellen Computer. Das Scannen von 127.0.0.1 ist sicher und erfordert keine besonderen Berechtigungen.

  1. Öffnen Sie das Xfce-Terminal.
  2. Führen Sie den folgenden Befehl aus:
nmap -p 1-100 127.0.0.1

Dieser Befehl 告诉 Nmap, die Ports 1 bis 100 (-p 1-100) auf der IP-Adresse 127.0.0.1 zu scannen. Da wir den lokalen Computer scannen, ist sudo nicht erforderlich. Nmap wird den Standard-SYN-Scan verwenden, es sei denn, etwas anderes angegeben wird, aber da wir sudo nicht verwenden, wird es auf einen TCP-Connect-Scan zurückgreifen. 3. Beobachten Sie die Ausgabe. Die Ausgabe variiert je nach auf dem LabEx-VM laufenden Diensten. Es könnte ähnlich wie folgt aussehen:

Starting Nmap 7.80 ( https://nmap.org )
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000081s latency).
Not shown: 97 closed ports
PORT    STATE SERVICE
22/tcp  open  ssh
631/tcp open  ipp
992/tcp open  unknown

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

Die Ausgabe zeigt den Status der Ports 1 bis 100 auf dem lokalen Computer. open bedeutet, dass Nmap eine TCP-Verbindung zum Port herstellen konnte, was darauf hindeutet, dass der Port auf Verbindungen wartet. closed bedeutet, dass Nmap ein RST-Paket erhalten hat, was darauf hindeutet, dass der Port nicht auf Verbindungen wartet. filtered bedeutet, dass Nmap nicht bestimmen konnte, ob der Port geöffnet oder geschlossen ist.

Scannen Sie die Top-Ports mit nmap --top-ports 10 192.168.1.0/24

In diesem Schritt lernen Sie, wie Sie mit Nmap die am häufigsten verwendeten Ports in einem Netzwerk scannen. Dies ist nützlich, wenn Sie schnell die am wahrscheinlichsten laufenden Dienste auf einer Reihe von Hosts identifizieren möchten. Nmap hält eine Liste der am häufigsten verwendeten Ports, und die Option --top-ports ermöglicht es Ihnen, eine bestimmte Anzahl dieser Ports zu scannen.

Die Option --top-ports告诉 Nmap, die angegebene Anzahl der am häufigsten verwendeten Ports zu scannen, basierend auf Nmap's Service-Frequenzliste. Diese Liste wird aus statistischen Daten zusammengestellt, die über viele Jahre an Netzwerkscans gesammelt wurden.

In diesem Fall werden wir die Top-10 am häufigsten verwendeten Ports im Netzwerk 192.168.1.0/24 scannen.

  • 192.168.1.0/24 ist eine CIDR (Classless Inter-Domain Routing)-Notation, die einen Netzwerkbereich repräsentiert. Die /24 gibt an, dass die ersten 24 Bits der IP-Adresse festgelegt sind, was bedeutet, dass das Netzwerk alle IP-Adressen von 192.168.1.0 bis 192.168.1.255 umfasst.

Wichtig: Das Scannen eines Netzwerkbereichs kann möglicherweise die Netzwerkleistung beeinträchtigen und als störend angesehen werden. Stellen Sie sicher, dass Sie die Erlaubnis haben, das Netzwerk zu scannen, bevor Sie fortfahren. Im Rahmen dieses Labyrinths nehmen wir an, dass diese IP-Adresse ein sicheres Ziel in Ihrer Testumgebung darstellt. Wenn Sie kein Netzwerk an dieser Adresse haben, wird der Scan wahrscheinlich keine geöffneten Ports finden.

  1. Öffnen Sie das Xfce-Terminal.
  2. Führen Sie den folgenden Befehl aus:
sudo nmap --top-ports 10 192.168.1.0/24

Dieser Befehl 告诉 Nmap, die Top-10 am häufigsten verwendeten Ports (--top-ports 10) im Netzwerk 192.168.1.0/24 zu scannen. Sie werden aufgefordert, Ihr Passwort einzugeben. Da der Benutzer labex sudo-Berechtigungen ohne Passwort hat, drücken Sie einfach die Eingabe-Taste. Nmap wird den Standard-SYN-Scan verwenden. 3. Beobachten Sie die Ausgabe. Die Ausgabe variiert je nach Geräten im Netzwerk. Es könnte ähnlich wie folgt aussehen:

Starting Nmap 7.80 ( https://nmap.org )
Nmap scan report for 192.168.1.1
Host is up (0.00098s latency).

PORT     STATE SERVICE
21/tcp   filtered  ftp
22/tcp   open  ssh
23/tcp   filtered  telnet
25/tcp   filtered  smtp
53/tcp   filtered  domain
80/tcp   open  http
110/tcp  filtered  pop3
135/tcp  filtered  msrpc
139/tcp  filtered  netbios-ssn
443/tcp  filtered  https

Nmap scan report for 192.168.1.2
Host is up (0.00098s latency).

PORT     STATE SERVICE
21/tcp   filtered  ftp
22/tcp   filtered  ssh
23/tcp   filtered  telnet
25/tcp   filtered  smtp
53/tcp   filtered  domain
80/tcp   filtered  http
110/tcp  filtered  pop3
135/tcp  filtered  msrpc
139/tcp  filtered  netbios-ssn
443/tcp  filtered  https

Nmap done: 256 IP addresses (2 hosts up) scanned in 2.52 seconds

Die Ausgabe zeigt den Status der Top-10 am häufigsten verwendeten Ports auf jedem Host im Netzwerkbereich. open bedeutet, dass Nmap ein SYN/ACK-Paket als Antwort auf sein SYN-Paket erhalten hat, was darauf hindeutet, dass der Port auf Verbindungen wartet. filtered bedeutet, dass Nmap nicht bestimmen konnte, ob der Port geöffnet oder geschlossen ist, normalerweise weil eine Firewall die Verbindung blockiert.

Überprüfen Sie die Ergebnisse im Xfce-Terminal

In diesem Schritt werden Sie die Ergebnisse der Nmap-Scans überprüfen, die Sie in den vorherigen Schritten durchgeführt haben. Das Xfce-Terminal zeigt die Ausgabe jedes Befehls an, was Ihnen ermöglicht, die Scanergebnisse zu analysieren und geöffnete Ports und Dienste auf den Zielsystemen zu identifizieren.

  1. Überprüfen Sie die Ausgabe des TCP-Connect-Scans:

    Blättern Sie im Xfce-Terminal zurück, um die Ausgabe des Befehls nmap -sT 127.0.0.1 zu finden. Dieser Scan hat die TCP-Connect-Scan-Methode verwendet, um den Zustand der Ports auf Ihrem lokalen Computer zu bestimmen. Suchen Sie die Spalte STATE, um zu sehen, ob ein Port open, closed oder filtered ist.

  2. Überprüfen Sie die Ausgabe des SYN-Scans:

    Finden Sie die Ausgabe des Befehls sudo nmap -sS 192.168.1.1. Dieser Scan hat die SYN-Scan-Methode verwendet, die im Allgemeinen schneller und versteckter als der TCP-Connect-Scan ist. Überprüfen Sie erneut die Spalte STATE, um den Zustand der gescannten Ports zu bestimmen.

  3. Überprüfen Sie die Ausgabe des spezifischen Port-Scans:

    Finden Sie die Ausgabe des Befehls sudo nmap -p 22,80 192.168.1.1. Dieser Scan hat die Ports 22 und 80 auf der angegebenen IP-Adresse abgetastet. Überprüfen Sie die Ausgabe, um zu sehen, ob diese Ports geöffnet, geschlossen oder gefiltert sind.

  4. Überprüfen Sie die Ausgabe des Portbereich-Scans:

    Finden Sie die Ausgabe des Befehls nmap -p 1-100 127.0.0.1. Dieser Scan hat die Ports 1 bis 100 auf Ihrem lokalen Computer abgetastet. Analysieren Sie die Ausgabe, um geöffnete Ports innerhalb dieses Bereichs zu identifizieren.

  5. Überprüfen Sie die Ausgabe des Top-Ports-Scans:

    Finden Sie die Ausgabe des Befehls sudo nmap --top-ports 10 192.168.1.0/24. Dieser Scan hat die Top-10 am häufigsten verwendeten Ports im angegebenen Netzwerk abgetastet. Überprüfen Sie die Ausgabe, um zu sehen, welche dieser Ports auf den Hosts im Netzwerk geöffnet sind.

Indem Sie die Ergebnisse dieser Scans überprüfen, können Sie wertvolle Informationen über die auf Ihrem Netzwerk laufenden Dienste erhalten und potenzielle Sicherheitslücken identifizieren. Denken Sie daran, dass die spezifische Ausgabe je nach Konfiguration Ihres LabEx-VMs und des Netzwerks, das Sie scannen, variieren wird.

Zusammenfassung

In diesem Labyrinth 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 die volle TCP-Dreifach-Handschlagung verstanden. Sie haben auch einen SYN-Scan mit -sS auf 192.168.1.1 ausgeführt, spezifische Ports mit -p 22,80 auf 192.168.1.1 abgetastet, einen Portbereich mit -p 1 - 100 auf 127.0.0.1 abgetastet und die Top-Ports mit --top - ports 10 auf 192.168.1.0/24 abgetastet. Alle Ergebnisse wurden im Xfce-Terminal überprüft.