Python er et alsidigt programmeringssprog, som du kan bruge til at skrive forskellige typer GUI- og CLI-baserede applikationer. Hvis du er ny til Python, er der ingen bedre måde at styrke din læring på end ved at arbejde på miniprojekter.

Et godt eksempel på Python-projekt at skrive er en ping-sweeper, et lille hjælpeprogram, der inspicerer netværksværter. Dette script vil dække grundlæggende programmeringskoncepter, herunder print statements, loops og funktioner.

Hvad er en Ping Sweeper?

En ping-sweeper er et program, der accepterer en netværksadresse som input, pinger værterne i netværket og udsender listen over døde og levende værter. Det er en nem måde at estimere antallet af online-værter i dit netværk og finde ud af deres IPv4-adresser.

Som nybegynder er oprettelse af en ping-sweeper en fantastisk måde at friske op på dine Python-grundlæggende. Dette hands-on mini-projekt vil også genopfriske din forståelse af grundlæggende netværk.

Forudsætninger for din Ping Sweeper

Før du begynder udviklingsprocessen, bør du sikre dig, at du har den nyeste version af Python på dit system.

instagram viewer

Tjek, om du kan køre Python ved at skrive denne kommando i kommandoprompten (for Windows-brugere) eller terminal (for UNIX/Linux-systemer) og trykke på Gå ind:

python --version

På nogle systemer skal du muligvis køre:

python3 --version

Denne kommando skal returnere den version af Python, der er installeret på dit system. Hvis det returnerer en fejl svarende til "python ikke fundet", skal du installer Python3 og fortsæt derefter med følgende trin.

Kodning af Ping Sweeper

Der er flere tilgange til at bygge dette script. Nogle vil kræve, at du installerer og importerer flere moduler. Her vil du tage en minimalistisk tilgang, der ikke har andre eksterne afhængigheder end det afgørende os modul.

Inden du begynder at kode, skal du nedbryde kravene for bedre at forstå, hvilken funktionalitet du skal implementere. Der er tre dele til dette script:

  1. Accepter den indtastede IP-adresse.
  2. Udpak netværks-id'et fra IP-adressen.
  3. Gentag over alle værterne i netværket og udskriv, hvis en vært er død eller levende.

Nu hvor du har et klart billede af arbejdsgangen, lad os begynde at programmere.

Accept og behandling af input

Den første del af scriptet handler om at acceptere input fra brugeren og reducere denne IPv4-adresse til dens første tre oktetter. Dette giver os netværks-id'et:

importere os

IP = input("[+] Indtast værtens IP-adresse:\t")
print("[+] Starter Ping Sweeper på " + IP)
prik = IP.rfind(".")
IP = IP[0:dot + 1]

Det input() funktionen accepterer brugerinput. Du kan bruge en streng rfind() metode til at udtrække indekset for den sidste forekomst af decimaltegnet og gemme det i prik variabel. Følg det op ved at beholde alt fra input til den yderste højre forekomst af et decimaltegn.

Scanning af værter og udskrivning af værtsstatus

Du har udledt netværksadressen fra input-IP. Du kan nu iterere gennem alle mulige værdier for den endelige IPv4-oktet: 1–254. Gem den nye IP i for-løkken i vært variabel. Denne IP er basis-IP efterfulgt af værdien af ​​iteratorvariablen. Brug derefter os.system() metode til at køre ping kommando mod vært variabel.

til jeg i rækkevidde(1, 255):
vært = IP + str (i)
respons = os.system("ping -c 1 -w 1 " + host + " >/dev/null")

hvis svar == 0:
print (vært + " er op")
andet:
print (vært + " er ned")

Test respons værdi mod 0 for at bestemme værtens status og afgøre, om den er online eller offline. Hvis ping støder på en vært, der ikke reagerer, returnerer den en værdi, der ikke er nul. Ellers returnerer den nul for at angive en vært, den kan nå.

Du kan tilføje c flag og w flag, med værdierne 1, til den originale ping-kommando. Dette gør, at den kun sender én pakke og venter et sekund på at modtage et svar. Din version af ping understøtter muligvis eller ikke understøtter disse muligheder; konsulter ping-man-siden for at tjekke.

Du bør også omdirigere outputtet til /dev/null for at skjule detaljerne i ping-outputtet. Bemærk, at ping- og /dev/null-syntaksen kun er kompatibel med Unix- eller Linux-systemer. Du kan køre dette script på Windows ved at erstatte c flag med n og >/dev/null med > nul.

Kørsel af Ping Sweeper-scriptet

Du kan køre dette script i terminalen eller via en kommandoprompt. Tænd en terminal, flyt ind på placeringen af ​​scriptet og kør det med python3:

cd /directory/sweeper/
python3 sweeper.py

Indtast en IPv4-adresse eller et undernet i terminalen, og ping-sweeperen skulle begynde at arbejde og returnere det forventede output.

Interessante projektideer til Python

Praktisk læring er uden tvivl den bedste og hurtigste måde at lære et programmeringssprog på. Jo flere projekter du arbejder på, jo mere vil du forstå koncepter, opbygge væsentlige færdigheder og forstå, hvordan du løser problemer.

Hvis du mangler projektideer at arbejde på, så tjek denne kurerede liste over de bedste projektideer til Python.