Python je svestran programski jezik koji možete koristiti za pisanje različitih vrsta GUI i CLI aplikacija. Ako ste novi u Pythonu, nema boljeg načina da učvrstite svoje učenje od rada na mini-projektima.
Sjajan primjer Python projekta za pisanje je ping sweeper, mali pomoćni program koji provjerava mrežne hostove. Ova skripta pokriva temeljne koncepte programiranja, uključujući naredbe za ispis, petlje i funkcije.
Što je Ping Sweeper?
Ping sweeper je program koji prihvaća mrežnu adresu kao ulaz, pinga hostove u mreži i ispisuje popis mrtvih i živih hostova. To je jednostavan način za procjenu broja mrežnih hostova u vašoj mreži i saznanje njihovih IPv4 adresa.
Kao početniku, stvaranje alata za čišćenje pinga izvrstan je način da osvježite svoje osnove Pythona. Ovaj praktični mini-projekt također će osvježiti vaše razumijevanje osnove umrežavanja.
Preduvjeti za Vaš Ping Sweeper
Prije početka procesa razvoja trebali biste provjeriti imate li najnoviju verziju Pythona na svom sustavu.
Provjerite možete li pokrenuti Python tako da upišete ovu naredbu u naredbeni redak (za korisnike Windowsa) ili terminal (za UNIX/Linux sustave) i pritisnete
Unesi:python --verzija
Na nekim sustavima možda ćete morati pokrenuti:
python3 --verzija
Ova bi naredba trebala vratiti verziju Pythona instaliranu na vašem sustavu. Ako vrati pogrešku sličnu "python nije pronađen", trebali biste instalirajte Python3 a zatim nastavite sa sljedećim koracima.
Kodiranje Ping Sweepera
Postoji više pristupa izradi ove skripte. Neki bi zahtijevali da instalirate i uvezete nekoliko modula. Ovdje ćete uzeti minimalistički pristup koji nema vanjskih ovisnosti osim ključnih os modul.
Prije nego počnete kodirati, raščlanite zahtjeve kako biste bolje razumjeli koju ćete funkcionalnost morati implementirati. Postoje tri dijela ove skripte:
- Prihvatite unesenu IP adresu.
- Ekstrahirajte ID mreže iz IP adrese.
- Iterirajte preko svih hostova u mreži i ispišite je li host mrtav ili živ.
Sada kada imate jasnu sliku tijeka rada, počnimo s programiranjem.
Prihvaćanje i obrada unosa
Prvi dio skripte bavi se prihvaćanjem unosa od korisnika i smanjivanjem te IPv4 adrese na prva tri okteta. Ovo nam daje ID mreže:
uvoz os
IP = input("[+] Unesite IP adresu glavnog računala:\t")
print("[+] Pokretanje Ping Sweepera na " + IP)
točka = IP.rfind(".")
IP = IP[0:točka + 1]
The ulazni() funkcija prihvaća korisnički unos. Možete koristiti nizove rfind() metoda za izdvajanje indeksa zadnjeg pojavljivanja decimalne točke i pohranjivanje u točka varijabla. Pratite to zadržavajući sve od unosa do krajnjeg desnog pojavljivanja decimalne točke.
Skeniranje hostova i ispis statusa hosta
Izvukli ste mrežnu adresu iz ulaznog IP-a. Sada možete iterirati kroz sve moguće vrijednosti za konačni IPv4 oktet: 1–254. Unutar for petlje, pohranite novi IP u domaćin varijabla. Ovaj IP je osnovni IP nakon kojeg slijedi vrijednost varijable iteratora. Zatim upotrijebite os.system() metoda za pokretanje ping naredba protiv domaćin varijabla.
za ja u raspon (1, 255):
host = IP + str (i)
odgovor = os.system("ping -c 1 -w 1 " + host + " >/dev/null")
ako odgovor == 0:
ispis (domaćin + " je gore")
drugo:
ispis (domaćin + " je dolje")
Testirajte odgovor vrijednost u odnosu na 0 kako biste odredili status hosta i odlučili je li na mreži ili izvan nje. Ako ping naiđe na host koji ne reagira, vraća vrijednost različitu od nule. Inače, vraća nulu kako bi označio host do kojeg može doći.
Možete dodati c zastava i w zastavica, s vrijednostima 1, na originalnu ping naredbu. Zbog toga šalje samo jedan paket i čeka jednu sekundu da primi odgovor. Vaša verzija pinga može, ali i ne mora podržavati ove opcije; provjerite na stranici priručnika za ping.
Također biste trebali preusmjeriti izlaz na /dev/null da biste sakrili detalje izlaza pinga. Imajte na umu da je ping i /dev/null sintaksa kompatibilna samo sa Unix ili Linux sustavima. Ovu skriptu možete pokrenuti u sustavu Windows zamjenom c zastava sa n i >/dev/null s >nul.
Pokretanje skripte Ping Sweeper
Ovu skriptu možete pokrenuti na terminalu ili putem naredbenog retka. Pokrenite terminal, prijeđite na lokaciju skripte i izvršite je pomoću python3:
CD /directory/sweeper/
python3 čistač.py
Unesite IPv4 adresu ili podmrežu u terminal i čistač pinga trebao bi početi raditi i vratiti očekivani rezultat.
Zanimljive projektne ideje za Python
Praktično učenje nedvojbeno je najbolji i najbrži način učenja programskog jezika. Što više projekata na kojima radite, to ćete više shvatiti koncepte, izgraditi osnovne vještine i razumjeti kako riješiti probleme.
Ako vam ponestaje ideja za projekte za rad, pogledajte ovaj odabrani popis najboljih ideja za projekte za Python.