Python je všestranný programovací jazyk, ktorý môžete použiť na písanie rôznych typov GUI a aplikácií založených na CLI. Ak ste v Pythone noví, neexistuje lepší spôsob, ako posilniť svoje učenie, ako práca na miniprojektoch.

Skvelý vzorový projekt Python na napísanie je ping sweeper, malý nástroj, ktorý kontroluje hostiteľov siete. Tento skript bude pokrývať základné programovacie koncepty vrátane tlačových príkazov, slučiek a funkcií.

Čo je to Ping Sweeper?

Ping sweeper je program, ktorý akceptuje sieťovú adresu ako vstup, pinguje hostiteľov v sieti a vydáva zoznam mŕtvych a živých hostiteľov. Je to jednoduchý spôsob, ako odhadnúť počet online hostiteľov vo vašej sieti a zistiť ich adresy IPv4.

Pre začiatočníka je vytvorenie nástroja ping sweeper skvelým spôsobom, ako si oprášiť základy jazyka Python. Tento praktický miniprojekt tiež osvieži vaše chápanie základy sieťovania.

Predpoklady pre váš Ping Sweeper

Pred začatím procesu vývoja by ste sa mali uistiť, že máte v systéme najnovšiu verziu Pythonu.

instagram viewer

Skontrolujte, či môžete spustiť Python zadaním tohto príkazu do príkazového riadka (pre používateľov Windows) alebo terminálu (pre systémy UNIX/Linux) a stlačením Zadajte:

python --verzia

Na niektorých systémoch možno budete musieť spustiť:

python3 --verzia

Tento príkaz by mal vrátiť verziu Pythonu nainštalovanú vo vašom systéme. Ak vráti chybu podobnú „python nenájdený“, mali by ste nainštalovať Python3 a potom pokračujte podľa nasledujúcich krokov.

Kódovanie nástroja Ping Sweeper

Existuje viacero prístupov k zostaveniu tohto skriptu. Niektoré by vyžadovali inštaláciu a import niekoľkých modulov. Tu použijete minimalistický prístup, ktorý nemá iné než kľúčové vonkajšie závislosti os modul.

Skôr ako začnete s kódovaním, rozdeľte si požiadavky, aby ste lepšie pochopili, akú funkciu budete musieť implementovať. Tento skript má tri časti:

  1. Prijmite zadanú IP adresu.
  2. Extrahujte ID siete z adresy IP.
  3. Iterujte cez všetkých hostiteľov v sieti a vytlačte, ak je hostiteľ mŕtvy alebo živý.

Teraz, keď máte jasný obraz o pracovnom postupe, začnime s programovaním.

Prijatie a spracovanie zadania

Prvá časť skriptu sa zaoberá prijatím vstupu od používateľa a znížením tejto adresy IPv4 na jej prvé tri oktety. Toto nám dáva ID siete:

importovať os

IP = input("[+] Zadajte IP adresu hostiteľa:\t")
print("[+] Spustenie nástroja Ping Sweeper na " + IP)
bodka = IP.find(".")
IP = IP[0:bodka + 1]

The vstup() funkcia akceptuje vstup používateľa. Môžete použiť reťazec rfind() metóda na extrakciu indexu posledného výskytu desatinnej čiarky a jej uloženie do bodka premenlivý. Postupujte tak, že zachováte všetko od vstupu až po výskyt desatinnej čiarky úplne vpravo.

Skenovanie hostiteľov a tlač stavu hostiteľa

Sieťovú adresu ste odvodili zo vstupnej IP. Teraz môžete iterovať cez všetky možné hodnoty pre konečný oktet IPv4: 1–254. Vo vnútri cyklu for uložte novú IP do hostiteľ premenlivý. Táto IP je základná IP, za ktorou nasleduje hodnota premennej iterátora. Potom použite os.system() spôsob spustenia ping príkaz proti hostiteľ premenlivý.

pre i v rozsah(1, 255):
hostiteľ = IP + str (i)
odozva = os.system("ping -c 1 -w 1 " + hostiteľ + " >/dev/null")

ak odpoveď == 0:
vytlačiť (hostiteľ + " je hore")
inak:
vytlačiť (hostiteľ + " je dole")

Otestujte odpoveď hodnotu oproti 0, aby ste určili stav hostiteľa a rozhodli, či je online alebo offline. Ak ping narazí na hostiteľa, ktorý nereaguje, vráti nenulovú hodnotu. V opačnom prípade vráti nulu na označenie hostiteľa, ktorého môže dosiahnuť.

Môžete pridať c vlajka a w príznak s hodnotami 1 na pôvodný príkaz ping. Vďaka tomu odošle iba jeden paket a na odpoveď čaká jednu sekundu. Vaša verzia pingu môže alebo nemusí podporovať tieto možnosti; skontrolujte manuálovú stránku pingu.

Mali by ste tiež presmerovať výstup na /dev/null na skrytie detailov výstupu pingu. Všimnite si, že syntax ping a /dev/null je kompatibilná iba so systémami Unix alebo Linux. Tento skript môžete spustiť v systéme Windows nahradením súboru c vlajka s n a >/dev/null s >nul.

Spustenie skriptu Ping Sweeper

Tento skript môžete spustiť v termináli alebo cez príkazový riadok. Spustite terminál, presuňte sa na umiestnenie skriptu a spustite ho pomocou python3:

cd /directory/sweeper/
python3 sweeper.py

Zadajte IPv4 adresu alebo podsieť do terminálu a ping sweeper by mal začať pracovať a vrátiť očakávaný výstup.

Zaujímavé nápady na projekty pre Python

Praktické učenie je pravdepodobne najlepší a najrýchlejší spôsob, ako sa naučiť programovací jazyk. Čím viac projektov budete pracovať, tým viac pochopíte koncepty, vybudujete si základné zručnosti a pochopíte, ako riešiť problémy.

Ak vám chýbajú nápady na projekty, na ktorých by ste mohli pracovať, pozrite si tento zoznam najlepších nápadov na projekty pre Python.