Python to wszechstronny język programowania, którego można używać do pisania różnych typów aplikacji opartych na interfejsie GUI i CLI. Jeśli jesteś nowy w Pythonie, nie ma lepszego sposobu na wzmocnienie swojej wiedzy niż praca nad miniprojektami.

Świetnym, przykładowym projektem Pythona do napisania jest narzędzie ping sweeper, małe narzędzie, które sprawdza hosty sieciowe. Ten skrypt obejmie podstawowe koncepcje programowania, w tym instrukcje print, pętle i funkcje.

Co to jest ping Sweeper?

Ping sweeper to program, który akceptuje adres sieciowy jako dane wejściowe, pinguje hosty w sieci i wyświetla listę martwych i żywych hostów. Jest to łatwy sposób na oszacowanie liczby hostów online w Twojej sieci i poznanie ich adresów IPv4.

Jako początkujący, tworzenie zamiatarki pingów to świetny sposób na odświeżenie podstaw Pythona. Ten praktyczny mini-projekt odświeży również Twoje zrozumienie podstawy sieci.

Wymagania wstępne dla Twojego zamiatarki pingów

Przed rozpoczęciem procesu programowania upewnij się, że masz w swoim systemie najnowszą wersję Pythona.

instagram viewer

Sprawdź, czy możesz uruchomić Pythona, wpisując to polecenie w wierszu poleceń (dla użytkowników Windows) lub terminalu (dla systemów UNIX/Linux) i naciskając Wchodzić:

python --wersja

W niektórych systemach może być konieczne uruchomienie:

python3 --wersja

To polecenie powinno zwrócić wersję Pythona zainstalowaną w twoim systemie. Jeśli zwróci błąd podobny do „nie znaleziono Pythona”, powinieneś zainstaluj Pythona3 a następnie wykonaj następujące kroki.

Kodowanie Ping Sweeper

Istnieje wiele podejść do tworzenia tego skryptu. Niektóre wymagałyby zainstalowania i zaimportowania kilku modułów. Tutaj przyjmiesz minimalistyczne podejście, które nie ma zewnętrznych zależności innych niż kluczowe moduł systemu operacyjnego.

Zanim zaczniesz kodować, podziel wymagania, aby lepiej zrozumieć, jaką funkcjonalność musisz wdrożyć. Ten skrypt składa się z trzech części:

  1. Zaakceptuj wprowadzony adres IP.
  2. Wyodrębnij identyfikator sieci z adresu IP.
  3. Iteruj po wszystkich hostach w sieci i drukuj, jeśli host jest martwy lub żywy.

Teraz, gdy masz jasny obraz przepływu pracy, zacznijmy programować.

Akceptowanie i przetwarzanie danych wejściowych

Pierwsza część skryptu zajmuje się akceptacją danych wejściowych od użytkownika i zredukowaniem tego adresu IPv4 do pierwszych trzech oktetów. To daje nam identyfikator sieci:

import os

IP = input("[+] Wprowadź adres IP hosta:\t")
print("[+] Uruchamianie Ping Sweeper na " + IP)
kropka = IP.rfind(".")
IP = IP[0:kropka + 1]

The Wejście() funkcja akceptuje dane wprowadzone przez użytkownika. Możesz użyć sznurka rfind() metoda wyodrębniania indeksu ostatniego wystąpienia przecinka dziesiętnego i przechowywania go w kropka zmienny. Kontynuuj, zachowując wszystko od danych wejściowych do skrajnego prawego wystąpienia przecinka dziesiętnego.

Skanowanie hostów i drukowanie statusu hosta

Adres sieciowy uzyskałeś z wejściowego adresu IP. Możesz teraz iterować przez wszystkie możliwe wartości dla końcowego oktetu IPv4: 1–254. Wewnątrz pętli for zapisz nowy adres IP w gospodarz zmienny. Ten adres IP to podstawowy adres IP, po którym następuje wartość zmiennej iteratora. Następnie użyj os.system() metoda uruchamiania świst dowództwo przeciwko gospodarz zmienny.

dla i w zasięg(1, 255):
host = IP + str (i)
odpowiedź = os.system("ping -c 1 -w 1 " + host + " >/dev/null")

jeśli odpowiedź == 0:
drukuj (host + " jest w górę")
w przeciwnym razie:
drukuj (host + " jest na dół")

Przetestuj odpowiedź wartość w stosunku do 0, aby określić status hosta i zdecydować, czy jest on online, czy offline. Jeśli ping napotka nieodpowiadającego hosta, zwraca wartość niezerową. W przeciwnym razie zwraca zero, aby wskazać hosta, do którego może dotrzeć.

Możesz dodać c flaga i w o wartości 1 do oryginalnego polecenia ping. To sprawia, że ​​wysyła tylko jeden pakiet i czeka jedną sekundę na otrzymanie odpowiedzi. Twoja wersja programu ping może, ale nie musi obsługiwać tych opcji; zajrzyj na stronę ping man, aby to sprawdzić.

Powinieneś również przekierować wyjście do /dev/null aby ukryć szczegóły wyjścia ping. Zauważ, że składnia ping i /dev/null jest kompatybilna tylko z systemami Unix lub Linux. Możesz uruchomić ten skrypt w systemie Windows, zastępując c flaga z n oraz >/dev/null z >brak.

Uruchamianie skryptu Ping Sweeper

Możesz uruchomić ten skrypt w terminalu lub za pomocą wiersza poleceń. Odpal terminal, przejdź do lokalizacji skryptu i wykonaj go za pomocą pythona3:

płyta CD /directory/sweeper/
python3 zamiatarka.py

Wprowadź adres IPv4 lub podsieć do terminala, a narzędzie ping powinno zacząć działać i zwrócić oczekiwane dane wyjściowe.

Ciekawe pomysły na projekty dla Pythona

Nauka praktyczna jest prawdopodobnie najlepszym i najszybszym sposobem nauki języka programowania. Im więcej projektów pracujesz, tym lepiej opanujesz koncepcje, zbudujesz podstawowe umiejętności i zrozumiesz, jak rozwiązywać problemy.

Jeśli zabraknie Ci pomysłów na projekty do pracy, sprawdź tę wyselekcjonowaną listę najlepszych pomysłów na projekty dla Pythona.