Python er et allsidig programmeringsspråk som du kan bruke til å skrive forskjellige typer GUI- og CLI-baserte applikasjoner. Hvis du er ny på Python, er det ingen bedre måte å forsterke læringen på enn å jobbe med miniprosjekter.

Et flott eksempel på Python-prosjekt å skrive er en ping-sweeper, et lite verktøy som inspiserer nettverksverter. Dette skriptet vil dekke grunnleggende programmeringskonsepter, inkludert utskriftssetninger, looper og funksjoner.

Hva er en Ping Sweeper?

En ping-sweeper er et program som godtar en nettverksadresse som input, pinger vertene i nettverket og sender ut listen over døde og levende verter. Det er en enkel måte å beregne antall nettverter i nettverket ditt og finne ut deres IPv4-adresser.

Som nybegynner er å lage en ping-sweeper en fin måte å friske opp Python-grunnlaget på. Dette praktiske miniprosjektet vil også friske opp forståelsen din av grunnleggende nettverk.

Forutsetninger for din Ping Sweeper

Før du starter utviklingsprosessen, bør du sørge for at du har den nyeste versjonen av Python på systemet ditt.

Sjekk om du kan kjøre Python ved å skrive denne kommandoen i ledeteksten (for Windows-brukere) eller terminal (for UNIX/Linux-systemer) og trykke Tast inn:

python --versjon

På noen systemer må du kanskje kjøre:

python3 --versjon

Denne kommandoen skal returnere versjonen av Python som er installert på systemet ditt. Hvis den returnerer en feil som ligner på "python ikke funnet", bør du installer Python3 og fortsett deretter med følgende trinn.

Koding av Ping Sweeper

Det er flere måter å bygge dette skriptet på. Noen vil kreve at du installerer og importerer flere moduler. Her vil du ta en minimalistisk tilnærming som ikke har andre eksterne avhengigheter enn det avgjørende os modul.

Før du begynner å kode, bryte ned kravene for bedre å forstå hvilken funksjonalitet du må implementere. Det er tre deler til dette manuset:

  1. Godta inndata-IP-adressen.
  2. Trekk ut nettverks-IDen fra IP-adressen.
  3. Iterer over alle vertene i nettverket og skriv ut hvis en vert er død eller levende.

Nå som du har et klart bilde av arbeidsflyten, la oss begynne å programmere.

Godta og behandle inndata

Den første delen av skriptet handler om å akseptere input fra brukeren og redusere den IPv4-adressen til de tre første oktettene. Dette gir oss nettverks-IDen:

import os

IP = input("[+] Angi vertens IP-adresse:\t")
print("[+] Starter Ping Sweeper på " + IP)
dot = IP.rfind(".")
IP = IP[0:prikk + 1]

De input() funksjonen aksepterer brukerinndata. Du kan bruke en streng rfinn() metode for å trekke ut indeksen for siste forekomst av desimaltegnet og lagre den i punktum variabel. Følg det opp ved å beholde alt fra inndata til den høyre forekomsten av et desimaltegn.

Skanne vertene og skrive ut vertsstatus

Du har utledet nettverksadressen fra inngangs-IP. Du kan nå iterere gjennom alle mulige verdier for den endelige IPv4-oktetten: 1–254. Inne i for-løkken lagrer du den nye IP-en i vert variabel. Denne IP-en er basis-IP-en etterfulgt av verdien til iteratorvariabelen. Deretter bruker du os.system() metode for å kjøre ping kommando mot vert variabel.

til Jeg i område(1, 255):
vert = IP + str (i)
respons = os.system("ping -c 1 -w 1 " + vert + " >/dev/null")

hvis svar == 0:
print (vert + " er opp")
ellers:
print (vert + " er ned")

Test respons verdi mot 0 for å bestemme vertens status og bestemme om den er online eller offline. Hvis ping støter på en vert som ikke svarer, returnerer den en verdi som ikke er null. Ellers returnerer den null for å indikere en vert den kan nå.

Du kan legge til c flagg og w flagg, med verdiene 1, til den opprinnelige ping-kommandoen. Dette gjør at den bare sender én pakke og venter i ett sekund på å motta et svar. Din versjon av ping støtter kanskje eller ikke støtter disse alternativene; se pingman-siden for å sjekke.

Du bør også omdirigere utdataene til /dev/null for å skjule detaljene i ping-utgangen. Merk at ping- og /dev/null-syntaksen er kompatibel med bare Unix- eller Linux-systemer. Du kan kjøre dette skriptet på Windows ved å erstatte c flagg med n og >/dev/null med > null.

Kjører Ping Sweeper Script

Du kan kjøre dette skriptet i terminalen eller via en ledetekst. Fyr opp en terminal, flytt til plasseringen av skriptet og utfør det med python3:

cd /directory/sweeper/
python3 sweeper.py

Skriv inn en IPv4-adresse eller et subnett i terminalen, og ping-sweeperen skal begynne å jobbe og returnere den forventede utgangen.

Interessante prosjektideer for Python

Praktisk læring er uten tvil den beste og raskeste måten å lære et programmeringsspråk på. Jo flere prosjekter du jobber med, jo mer vil du forstå konsepter, bygge essensielle ferdigheter og forstå hvordan du løser problemer.

Hvis du har manglet prosjektideer å jobbe med, sjekk ut denne kuraterte listen over de beste prosjektideene for Python.