Python ist eine vielseitige Programmiersprache, mit der Sie verschiedene Arten von GUI- und CLI-basierten Anwendungen schreiben können. Wenn Sie neu bei Python sind, gibt es keinen besseren Weg, Ihr Lernen zu vertiefen, als an Miniprojekten zu arbeiten.

Ein großartiges Python-Beispielprojekt zum Schreiben ist ein Ping-Sweeper, ein kleines Dienstprogramm, das Netzwerk-Hosts überprüft. Dieses Skript behandelt grundlegende Programmierkonzepte, einschließlich Druckanweisungen, Schleifen und Funktionen.

Was ist ein Ping-Sweeper?

Ein Ping-Sweeper ist ein Programm, das eine Netzwerkadresse als Eingabe akzeptiert, die Hosts im Netzwerk anpingt und die Liste der toten und aktiven Hosts ausgibt. Es ist eine einfache Möglichkeit, die Anzahl der Online-Hosts in Ihrem Netzwerk zu schätzen und ihre IPv4-Adressen herauszufinden.

Als Anfänger ist das Erstellen eines Ping-Sweepers eine großartige Möglichkeit, Ihre Python-Grundlagen aufzufrischen. Dieses praktische Miniprojekt wird auch Ihr Verständnis von auffrischen Netzwerkgrundlagen.

instagram viewer

Voraussetzungen für Ihren Ping-Sweeper

Bevor Sie mit dem Entwicklungsprozess beginnen, sollten Sie sicherstellen, dass Sie die neueste Version von Python auf Ihrem System haben.

Überprüfen Sie, ob Sie Python ausführen können, indem Sie diesen Befehl in die Eingabeaufforderung (für Windows-Benutzer) oder das Terminal (für UNIX/Linux-Systeme) eingeben und drücken Eintreten:

python --version

Auf einigen Systemen müssen Sie möglicherweise Folgendes ausführen:

python3 --version

Dieser Befehl sollte die auf Ihrem System installierte Version von Python zurückgeben. Wenn es einen ähnlichen Fehler wie „Python nicht gefunden“ zurückgibt, sollten Sie das tun Python3 installieren und fahren Sie dann mit den folgenden Schritten fort.

Codierung des Ping-Sweepers

Es gibt mehrere Ansätze zum Erstellen dieses Skripts. Bei einigen müssen Sie mehrere Module installieren und importieren. Hier wählen Sie einen minimalistischen Ansatz, der keine anderen externen Abhängigkeiten als die entscheidenden aufweist os-Modul.

Bevor Sie mit dem Programmieren beginnen, schlüsseln Sie die Anforderungen auf, um besser zu verstehen, welche Funktionen Sie implementieren müssen. Dieses Skript besteht aus drei Teilen:

  1. Akzeptieren Sie die eingegebene IP-Adresse.
  2. Extrahieren Sie die Netzwerk-ID aus der IP-Adresse.
  3. Iterieren Sie über alle Hosts im Netzwerk und geben Sie aus, ob ein Host tot oder aktiv ist.

Nachdem Sie nun ein klares Bild des Arbeitsablaufs haben, können wir mit der Programmierung beginnen.

Akzeptieren und Verarbeiten der Eingabe

Der erste Teil des Skripts befasst sich mit dem Akzeptieren von Eingaben des Benutzers und dem Reduzieren dieser IPv4-Adresse auf ihre ersten drei Oktetts. Dies gibt uns die Netzwerk-ID:

importieren os

IP = input("[+] Geben Sie die Host-IP-Adresse ein:\t")
print("[+] Ping-Sweeper starten auf " + IP)
Punkt = IP.rfind(".")
IP = IP[0:Punkt + 1]

Das Eingang() Funktion akzeptiert Benutzereingaben. Sie können eine Zeichenfolge verwenden rfind() Methode, um den Index des letzten Vorkommens des Dezimalpunkts zu extrahieren und in der zu speichern Punkt Variable. Folgen Sie ihm, indem Sie alles von der Eingabe bis zum äußersten rechten Auftreten eines Dezimalpunkts beibehalten.

Scannen der Hosts und Drucken des Hoststatus

Sie haben die Netzwerkadresse von der eingegebenen IP abgeleitet. Sie können nun alle möglichen Werte für das letzte IPv4-Oktett durchlaufen: 1–254. Speichern Sie innerhalb der for-Schleife die neue IP in der Gastgeber Variable. Diese IP ist die Basis-IP, gefolgt vom Wert der Iteratorvariablen. Verwenden Sie dann die os.system() Methode zum Ausführen der Klingeln Befehl gegen die Gastgeber Variable.

zum ich in Angebot(1, 255):
host = IP + str (i)
Antwort = os.system("ping -c 1 -w 1 " + host + " >/dev/null")

wenn Antwort == 0:
drucken (host + " ist hoch")
anders:
drucken (host + " ist Nieder")

Testen Sie die Antwort Wert gegen 0, um den Status des Hosts zu bestimmen und zu entscheiden, ob er online oder offline ist. Wenn ping auf einen nicht reagierenden Host trifft, gibt es einen Wert ungleich Null zurück. Andernfalls gibt es Null zurück, um einen Host anzugeben, den es erreichen kann.

Sie können die hinzufügen c Flagge u w Flag mit Werten von 1 an den ursprünglichen Ping-Befehl. Dadurch sendet es nur ein Paket und wartet eine Sekunde, um eine Antwort zu erhalten. Ihre Version von Ping kann diese Optionen unterstützen oder auch nicht; Konsultieren Sie die Ping-Manpage, um dies zu überprüfen.

Sie sollten die Ausgabe auch umleiten auf /dev/null um die Details der Ping-Ausgabe auszublenden. Beachten Sie, dass die Ping- und /dev/null-Syntax nur mit Unix- oder Linux-Systemen kompatibel ist. Sie können dieses Skript unter Windows ausführen, indem Sie die c Flagge mit n und >/dev/null mit >null.

Ausführen des Ping-Sweeper-Skripts

Sie können dieses Skript im Terminal oder über eine Eingabeaufforderung ausführen. Starten Sie ein Terminal, wechseln Sie zum Speicherort des Skripts und führen Sie es mit python3 aus:

CD /directory/sweeper/
python3-Sweeper.py

Geben Sie eine IPv4-Adresse oder ein Subnetz in das Terminal ein, und der Ping-Sweeper sollte sich an die Arbeit machen und die erwartete Ausgabe zurückgeben.

Interessante Projektideen für Python

Praktisches Lernen ist wohl der beste und schnellste Weg, eine Programmiersprache zu lernen. Je mehr Projekte Sie bearbeiten, desto besser werden Sie Konzepte verstehen, grundlegende Fähigkeiten aufbauen und verstehen, wie Sie Probleme lösen.

Wenn Ihnen die Projektideen ausgehen, an denen Sie arbeiten können, sehen Sie sich diese kuratierte Liste der besten Projektideen für Python an.