Python on mitmekülgne programmeerimiskeel, mida saate kasutada erinevat tüüpi GUI- ja CLI-põhiste rakenduste kirjutamiseks. Kui olete Pythonis uus, pole paremat viisi oma õppimise tugevdamiseks kui miniprojektide kallal töötamine.

Suurepärane Pythoni projekti näidis kirjutamiseks on ping-pühkija, väike utiliit, mis kontrollib võrguhoste. See skript hõlmab põhilisi programmeerimiskontseptsioone, sealhulgas printimislauseid, silmuseid ja funktsioone.

Mis on Ping Sweeper?

Ping-pühkija on programm, mis aktsepteerib võrguaadressi sisendiks, pingib võrgu hostidele ja väljastab surnud ja elusate hostide loendi. See on lihtne viis oma võrgus olevate võrguhostide arvu hindamiseks ja nende IPv4-aadresside leidmiseks.

Algajana on ping-pühkija loomine suurepärane viis Pythoni põhitõdede värskendamiseks. See praktiline miniprojekt värskendab ka teie arusaamist võrgu loomise põhialused.

Teie Ping Sweeperi eeltingimused

Enne arendusprotsessi alustamist peaksite veenduma, et teie süsteemis on Pythoni uusim versioon.

instagram viewer

Kontrollige, kas saate Pythoni käivitada, tippides selle käsu käsureale (Windowsi kasutajatele) või terminali (UNIX/Linuxi süsteemide jaoks) ja vajutades Sisenema:

python -- versioon

Mõnes süsteemis peate võib-olla käivitama:

python3 -- versioon

See käsk peaks tagastama teie süsteemi installitud Pythoni versiooni. Kui see tagastab tõrketeate, mis on sarnane "pythonit ei leitud", peaksite seda tegema installige Python3 ja seejärel jätkake järgmiste sammudega.

Ping Sweeperi kodeerimine

Selle skripti koostamiseks on mitu lähenemisviisi. Mõned nõuavad mitme mooduli installimist ja importimist. Siin kasutate minimalistlikku lähenemist, millel pole muid väliseid sõltuvusi peale üliolulise os moodul.

Enne kodeerimise alustamist analüüsige nõudeid, et paremini mõista, milliseid funktsioone peate rakendama. Sellel skriptil on kolm osa:

  1. Nõustuge sisestatud IP-aadressiga.
  2. Eraldage IP-aadressist võrgu ID.
  3. Itereerige üle kõik võrgu hostid ja printige, kui host on surnud või elus.

Nüüd, kui teil on töövoost selge pilt, alustame programmeerimist.

Sisestuse vastuvõtmine ja töötlemine

Skripti esimene osa käsitleb kasutajalt sisendi vastuvõtmist ja selle IPv4-aadressi vähendamist esimese kolme oktetini. See annab meile võrgu ID:

importida os

IP = input ("[+] Sisestage hosti IP-aadress:\t")
print("[+] Ping Sweeperi käivitamine " + IP-l)
punkt = IP.rfind(".")
IP = IP[0:dot + 1]

The sisend() funktsioon aktsepteerib kasutaja sisestusi. Võite kasutada stringi rfind() meetod kümnendkoha viimase esinemise indeksi eraldamiseks ja selle salvestamiseks punkt muutuv. Järgige seda, säilitades kõik alates sisendist kuni koma parempoolseima esinemiseni.

Hostide ja printimismasina oleku skannimine

Olete tuletanud võrguaadressi sisendi IP-st. Nüüd saate itereerida läbi kõik võimalikud väärtused lõpliku IPv4 okteti jaoks: 1–254. Salvestage uus IP tsüklis for peremees muutuv. See IP on baas-IP, millele järgneb iteraatori muutuja väärtus. Seejärel kasutage os.system() meetod selle käivitamiseks ping käsk vastu peremees muutuv.

jaoks i sisse vahemik(1, 255):
host = IP + str (i)
vastus = os.system("ping -c 1 -w 1 " + host + " >/dev/null")

kui vastus == 0:
print (host + " on üles")
muidu:
print (host + " on alla")

Testige vastuseks väärtus võrrelduna 0-ga, et määrata hosti olek ja otsustada, kas see on võrgus või võrguühenduseta. Kui ping puutub kokku mittereageeriva hostiga, tagastab see nullist erineva väärtuse. Vastasel juhul tagastab see nulli, mis näitab hosti, kuhu ta jõuab.

Saate lisada c lipp ja w lipp, väärtustega 1, algse pingi käsu juurde. See paneb selle saatma ainult ühe paketi ja ootama vastuse saamiseks ühe sekundi. Teie pingi versioon võib neid valikuid toetada või mitte; kontrollimiseks vaadake pingi man-lehte.

Samuti peaksite väljundi ümber suunama /dev/null pingi väljundi detailide peitmiseks. Pange tähele, et pingi ja /dev/null süntaks ühildub ainult Unixi või Linuxi süsteemidega. Saate seda skripti Windowsis käivitada, asendades c lipp koos n ja >/dev/null koos > null.

Ping Sweeperi skripti käitamine

Saate seda skripti käivitada terminalis või käsuviiba kaudu. Käivitage terminal, liikuge skripti asukohta ja käivitage see python3 abil:

cd /directory/sweeper/
python3 sweeper.py

Sisestage terminali IPv4-aadress või alamvõrk ja ping-pühkija peaks tööle asuma ja tagastama oodatud väljundi.

Huvitavad projektiideed Pythoni jaoks

Praktiline õpe on vaieldamatult parim ja kiireim viis programmeerimiskeele õppimiseks. Mida rohkemate projektidega töötate, seda paremini mõistate kontseptsioone, arendate olulisi oskusi ja mõistate, kuidas probleeme lahendada.

Kui teil on projektiideedest väheks jäänud, mille kallal töötada, vaadake seda Pythoni parimate projektiideede kureeritud loendit.