Python este un limbaj de programare versatil pe care îl puteți folosi pentru a scrie diferite tipuri de aplicații bazate pe GUI și CLI. Dacă sunteți nou în Python, nu există o modalitate mai bună de a vă consolida învățarea decât lucrând la mini-proiecte.

Un exemplu excelent de proiect Python de scris este un ping sweeper, un mic utilitar care inspectează gazdele de rețea. Acest script va acoperi concepte fundamentale de programare, inclusiv instrucțiuni de tipărire, bucle și funcții.

Ce este un Ping Sweeper?

Un ping sweeper este un program care acceptă o adresă de rețea ca intrare, trimite ping gazdelor din rețea și scoate lista de gazde moarte și vii. Este o modalitate simplă de a estima numărul de gazde online din rețeaua dvs. și de a afla adresele lor IPv4.

În calitate de începător, crearea unui ping sweeper este o modalitate excelentă de a vă perfecționa noțiunile de bază Python. Acest mini-proiect practic vă va reîmprospăta și înțelegerea fundamentele rețelei.

Cerințe preliminare pentru Ping Sweeper

instagram viewer

Înainte de a începe procesul de dezvoltare, ar trebui să vă asigurați că aveți cea mai recentă versiune de Python pe sistemul dumneavoastră.

Verificați dacă puteți rula Python tastând această comandă în promptul de comandă (pentru utilizatorii Windows) sau terminal (pentru sisteme UNIX/Linux) și apăsând introduce:

python --versiune

Pe unele sisteme, poate fi necesar să rulați:

python3 --versiune

Această comandă ar trebui să returneze versiunea de Python instalată pe sistemul dumneavoastră. Dacă returnează o eroare similară cu „python not found”, ar trebui instalați Python3 și apoi continuați cu următorii pași.

Codificarea Ping Sweeper

Există mai multe abordări pentru construirea acestui script. Unele ar necesita să instalați și să importați mai multe module. Aici, veți adopta o abordare minimalistă care nu are alte dependențe externe decât cele cruciale modulul os.

Înainte de a începe să codificați, detaliați cerințele pentru a înțelege mai bine ce funcționalitate va trebui să implementați. Există trei părți în acest script:

  1. Acceptați adresa IP introdusă.
  2. Extrageți ID-ul rețelei din adresa IP.
  3. Iterați peste toate gazdele din rețea și imprimați dacă o gazdă este moartă sau vie.

Acum că aveți o imagine clară a fluxului de lucru, să începem programarea.

Acceptarea și procesarea intrării

Prima parte a scriptului se ocupă cu acceptarea intrărilor de la utilizator și reducerea acelei adrese IPv4 la primii trei octeți. Aceasta ne oferă ID-ul rețelei:

import os

IP = input("[+] Introduceți adresa IP a gazdei:\t")
print("[+] Pornirea Ping Sweeper pe " + IP)
punct = IP.rfind(".")
IP = IP[0:punct + 1]

The intrare() funcția acceptă introducerea utilizatorului. Puteți folosi un șir rfind() metoda de a extrage indexul ultimei apariții a virgulei zecimale și de a-l stoca în punct variabil. Urmăriți-l reținând totul, de la intrare până la apariția cea mai din dreapta a punctului zecimal.

Scanarea gazdelor și imprimarea stării gazdei

Ați obținut adresa rețelei din IP-ul de intrare. Acum puteți itera toate valorile posibile pentru octetul IPv4 final: 1–254. În bucla for, stocați noul IP în gazdă variabil. Acest IP este IP-ul de bază urmat de valoarea variabilei iteratorului. Apoi, utilizați os.system() metoda de a rula ping comanda împotriva gazdă variabil.

pentru i în gamă(1, 255):
gazdă = IP + str (i)
răspuns = os.system("ping -c 1 -w 1 " + gazdă + " >/dev/null")

dacă răspuns == 0:
print (gazdă + " este sus")
altfel:
print (gazdă + " este jos")

Testează raspuns valoare față de 0 pentru a determina starea gazdei și a decide dacă este online sau offline. Dacă ping întâlnește o gazdă care nu răspunde, returnează o valoare diferită de zero. În caz contrar, returnează zero pentru a indica o gazdă la care poate ajunge.

Puteți adăuga c steag şi w flag, cu valori de 1, la comanda ping originală. Acest lucru îl face să trimită un singur pachet și să aștepte o secundă pentru a primi un răspuns. Versiunea dumneavoastră de ping poate sau nu să accepte aceste opțiuni; consultați pagina de manual ping pentru a verifica.

De asemenea, ar trebui să redirecționați ieșirea către /dev/null pentru a ascunde detaliile ieșirii ping. Rețineți că sintaxa ping și /dev/null este compatibilă numai cu sistemele Unix sau Linux. Puteți rula acest script pe Windows prin înlocuirea c steag cu n și >>/dev/null cu >nul.

Rularea scriptului Ping Sweeper

Puteți rula acest script în terminal sau printr-un prompt de comandă. Porniți un terminal, mutați-vă în locația scriptului și executați-l cu python3:

CD /directory/sweeper/
python3 sweeper.py

Introduceți o adresă IPv4 sau o subrețea în terminal, iar dispozitivul de măturare ping ar trebui să se apuce de lucru și să returneze rezultatul așteptat.

Idei de proiecte interesante pentru Python

Învățarea practică este, fără îndoială, cea mai bună și mai rapidă modalitate de a învăța un limbaj de programare. Cu cât lucrați la mai multe proiecte, cu atât mai mult veți înțelege concepte, vă veți construi abilități esențiale și veți înțelege cum să remediați problemele.

Dacă ați rămas fără idei de proiecte la care să lucrați, consultați această listă cu cele mai bune idei de proiecte pentru Python.