Einrichten Ihrer Umgebung für das Netzwerkscannen
Im ersten Schritt dieses Experiments werden wir auf Ihrem Gerät einen lokalen Webserver einrichten. Dieser Server wird unser Ziel für das Nmap-Scannen sein. Nmap ist ein leistungsstarkes Netzwerk-Scanning-Tool, das in der Cybersicherheit verwendet wird, um Hosts und Dienste in einem Computernetzwerk zu entdecken. Mit einem lokalen Server können Sie sicher üben, Nmap zu verwenden, ohne reale Netzwerke zu beeinträchtigen.
Grundlagen zu HTTP-Servern
Bevor wir den Server erstellen, lernen wir zunächst, was ein HTTP-Server ist. HTTP steht für HyperText Transfer Protocol. Es ist das Protokoll, das Ihr Webbrowser verwendet, um mit Websites zu kommunizieren. Ein HTTP-Server ist eine Softwareanwendung, die URLs (Webadressen) und das HTTP-Protokoll verstehen kann. Wenn Sie eine Webadresse in Ihrem Browser eingeben, sendet der Browser eine HTTP-Anfrage an den entsprechenden HTTP-Server, der dann die angeforderte Webseite zurücksendet. Für unser Lab werden wir einen einfachen HTTP-Server mit Python erstellen, einer beliebten und leicht zu lernenden Programmiersprache.
Erstellen des HTTP-Servers
Zunächst müssen wir sicherstellen, dass Sie sich im richtigen Arbeitsverzeichnis befinden. Das Arbeitsverzeichnis ist wie ein Ordner, in dem Ihre Befehle ausgeführt werden. In diesem Fall möchten wir uns im Verzeichnis /home/labex/project
befinden. Um zu diesem Verzeichnis zu navigieren, verwenden Sie den folgenden Befehl:
cd /home/labex/project
Jetzt, da wir uns am richtigen Ort befinden, verwenden wir das integrierte HTTP-Server-Modul von Python, um einen einfachen Webserver zu erstellen. Wir werden diesen Server so einrichten, dass er auf Port 8080 lauscht. Ein Port ist wie eine Tür auf einem Computer, durch die Netzwerkverkehr ein- oder ausgehen kann. Verschiedene Dienste verwenden verschiedene Ports. Geben Sie den folgenden Befehl ein:
python -m http.server --bind localhost 8080 &
Lassen Sie uns analysieren, was dieser Befehl tut:
python -m http.server
: Dieser Teil startet das integrierte HTTP-Server-Modul von Python. Er teilt Python mit, die HTTP-Server-Funktionalität auszuführen.
8080
: Dies gibt an, dass der Server auf Port 8080 lauschen soll. Das bedeutet, dass alle eingehenden HTTP-Anfragen auf diesem Port von unserem Server verarbeitet werden.
&
: Wenn Sie ein Ampersand am Ende des Befehls setzen, wird der Server im Hintergrund ausgeführt. Dies ist nützlich, da es Ihnen ermöglicht, das Terminal weiterhin für andere Befehle zu verwenden, während der Server läuft.
Nachdem Sie den Befehl ausgeführt haben, sollten Sie eine Ausgabe ähnlich der folgenden sehen:
Serving HTTP on 0.0.0.0 port 8080 (http://0.0.0.0:8080/) ...
Diese Ausgabe zeigt an, dass Ihr HTTP-Server jetzt läuft und bereit ist, Verbindungen auf Port 8080 anzunehmen. Mit diesem Server läuft und ist betriebsbereit, haben wir nun ein Ziel, das wir in den nächsten Schritten mit Nmap scannen können.
Überprüfen, ob der HTTP-Server läuft
Es ist wichtig zu bestätigen, dass Ihr Server tatsächlich korrekt läuft. Um dies zu tun, können wir den folgenden Befehl verwenden:
ss -tulwn | grep 8080
Der ss
-Befehl wird verwendet, um Socket-Statistiken anzuzeigen. Die Optionen -tulwn
veranlassen ss
, TCP-, UDP-, lauschende und numerische Socket-Informationen anzuzeigen. Das |
ist eine Pipe, die die Ausgabe des ss
-Befehls an den grep
-Befehl übergibt. Der grep
-Befehl sucht dann nach der Zeichenfolge 8080
in der Ausgabe. Wenn der Server läuft, sollte dieser Befehl eine Ausgabe anzeigen, die darauf hinweist, dass etwas auf Port 8080 lauscht, was bestätigt, dass Ihr HTTP-Server aktiv und bereit für das Nmap-Scannen ist.