Erweitern Ihres Scanning-Wissens
Nachdem Sie die Grundlagen des TCP Connect Scanning erfasst haben, ist es an der Zeit, Ihr Wissen auf die nächste Stufe zu heben. In diesem Abschnitt lernen wir, wie man mehrere Ports scannt und wie man die Ergebnisse interpretiert. Dies hilft Ihnen, eine umfassendere Sicht auf die Netzwerkdienste zu erhalten, die auf einem Zielsystem laufen.
Scannen von gängigen Ports
Beginnen wir damit, die am häufigsten verwendeten Ports auf Ihrem lokalen Rechner, auch als localhost bekannt, zu scannen. Diese gängigen Ports werden oft von bekannten Netzwerkdiensten genutzt.
nmap -sT localhost --top-ports 10 > /home/labex/project/common_ports_scan.txt
In diesem Befehl gibt die Option -sT
an, dass Nmap einen TCP Connect Scan durchführen soll. localhost
gibt das Ziel an, das Ihr eigener Rechner ist. Die Option --top-ports 10
weist Nmap an, die 10 am häufigsten verwendeten Ports zu scannen. Das >
-Symbol leitet die Ausgabe des Scans in eine Datei namens common_ports_scan.txt
im Verzeichnis /home/labex/project
um.
Jetzt lassen wir uns die Ergebnisse dieses Scans anzeigen:
cat /home/labex/project/common_ports_scan.txt
Der cat
-Befehl wird verwendet, um den Inhalt einer Datei anzuzeigen. Wenn Sie diesen Befehl ausführen, sehen Sie eine Liste von Ports. Beispielsweise wird Port 21 für FTP (File Transfer Protocol), Port 22 für SSH (Secure Shell), Port 23 für Telnet, Port 25 für SMTP (Simple Mail Transfer Protocol) und Port 80 für HTTP (Hypertext Transfer Protocol) verwendet. Auf Ihrem System werden die meisten dieser Ports wahrscheinlich geschlossen sein, es sei denn, Sie haben bestimmte Dienste laufen. Wenn beispielsweise unser HTTP-Server auf Port 8080 unter den Top 10 Ports liegt, wird er als offen angezeigt.
Scannen eines Portbereichs
Neben dem Scannen von gängigen Ports können Sie auch einen bestimmten Portbereich scannen. Scannen wir die Ports von 8000 bis 8100 auf Ihrem localhost.
nmap -sT localhost -p 8000-8100 > /home/labex/project/port_range_scan.txt
Hier gibt die Option -p 8000 - 8100
an, dass Nmap die Ports im Bereich von 8000 bis 8100 scannen soll. Die Ausgabe dieses Scans wird in eine Datei namens port_range_scan.txt
im Verzeichnis /home/labex/project
umgeleitet.
Um die Ergebnisse dieses Scans anzuzeigen:
cat /home/labex/project/port_range_scan.txt
In der Ausgabe sollten Sie sehen, dass Port 8080 (wenn er im gescannten Bereich liegt) offen ist, während die anderen Ports im Bereich wahrscheinlich geschlossen sind.
Kombinieren von Techniken
Kombinieren wir die bisher gelernten Techniken. Wir führen einen TCP Connect Scan durch und versuchen auch, die auf den Ports im Bereich von 8000 bis 8100 laufenden Dienste zu erkennen.
nmap -sT -sV localhost -p 8000-8100 > /home/labex/project/combined_scan.txt
Die Option -sV
wird verwendet, um die Diensterkennung zu aktivieren. Dies bedeutet, dass Nmap Ihnen nicht nur mitteilt, ob ein Port offen oder geschlossen ist, sondern auch versucht, den auf den offenen Ports laufenden Dienst zu identifizieren. Die Ausgabe dieses kombinierten Scans wird in der Datei combined_scan.txt
im Verzeichnis /home/labex/project
gespeichert.
Um die Ergebnisse zu überprüfen:
cat /home/labex/project/combined_scan.txt
Dieser Scan liefert bisher die detailliertesten Informationen. Er zeigt den Zustand jedes Ports im angegebenen Bereich und versucht, die auf den offenen Ports laufenden Dienste zu identifizieren.
Aufräumen
Bevor wir dieses Lab beenden, müssen wir aufräumen, indem wir den von uns verwendeten Python-HTTP-Server stoppen. Zunächst müssen wir die Prozess-ID (PID) des Servers finden.
ps aux | grep "python3 -m http.server 8080"
Der ps aux
-Befehl listet alle laufenden Prozesse auf Ihrem System auf. Das |
-Symbol ist eine Pipe, die die Ausgabe des ps aux
-Befehls nimmt und an den grep
-Befehl übergibt. Der grep
-Befehl sucht dann nach der Zeile, die den Text "python3 -m http.server 8080"
enthält, der der Befehl zum Starten des Python-HTTP-Servers ist.
Suchen Sie die Zeile, die den Python-HTTP-Server-Prozess anzeigt. Die zweite Spalte dieser Zeile enthält die Prozess-ID (PID). Sobald Sie die PID notiert haben, können Sie den kill
-Befehl verwenden, um den Prozess zu stoppen.
kill <PID>
Ersetzen Sie <PID>
durch die tatsächliche Prozess-ID, die Sie gefunden haben. Wenn die PID beispielsweise 1234 ist, würden Sie ausführen:
kill 1234