Python è un linguaggio di programmazione versatile che puoi usare per scrivere diversi tipi di GUI e applicazioni basate su CLI. Se non conosci Python, non c'è modo migliore per rafforzare il tuo apprendimento che lavorare su mini-progetti.

Un ottimo esempio di progetto Python da scrivere è un ping sweeper, una piccola utility che ispeziona gli host di rete. Questo script tratterà i concetti fondamentali della programmazione, comprese le istruzioni di stampa, i cicli e le funzioni.

Che cos'è un ping-sweeper?

Un ping sweeper è un programma che accetta un indirizzo di rete come input, esegue il ping degli host nella rete e restituisce l'elenco degli host morti e vivi. È un modo semplice per stimare il numero di host online nella tua rete e scoprire i loro indirizzi IPv4.

Come principiante, creare uno sweeper ping è un ottimo modo per rispolverare le basi di Python. Questo mini-progetto pratico aggiornerà anche la tua comprensione fondamenti di rete.

Prerequisiti per il tuo Ping Sweeper

Prima di iniziare il processo di sviluppo, dovresti assicurarti di avere l'ultima versione di Python sul tuo sistema.

instagram viewer

Verifica se puoi eseguire Python digitando questo comando nel prompt dei comandi (per utenti Windows) o nel terminale (per sistemi UNIX/Linux) e premendo accedere:

python --versione

Su alcuni sistemi, potrebbe essere necessario eseguire:

python3 --versione

Questo comando dovrebbe restituire la versione di Python installata sul tuo sistema. Se restituisce un errore simile a "python not found", dovresti installa Python3 e quindi procedere con i passaggi seguenti.

Codificare il Ping Sweeper

Esistono diversi approcci alla creazione di questo script. Alcuni richiederebbero l'installazione e l'importazione di diversi moduli. Qui, adotterai un approccio minimalista che non ha dipendenze esterne diverse da quelle cruciali modulo os.

Prima di iniziare a scrivere codice, analizza i requisiti per comprendere meglio quali funzionalità dovrai implementare. Ci sono tre parti in questo script:

  1. Accetta l'indirizzo IP di input.
  2. Estrarre l'ID di rete dall'indirizzo IP.
  3. Esegui l'iterazione su tutti gli host della rete e stampa se un host è vivo o morto.

Ora che hai un quadro chiaro del flusso di lavoro, iniziamo a programmare.

Accettazione ed elaborazione dell'input

La prima parte dello script si occupa dell'accettazione dell'input dall'utente e della riduzione dell'indirizzo IPv4 ai primi tre ottetti. Questo ci dà l'ID di rete:

importare os

IP = input("[+] Immettere l'indirizzo IP dell'host:\t")
print("[+] Avvio di Ping Sweeper su " + IP)
punto = IP.rfind(".")
IP = IP[0:punto + 1]

Il ingresso() la funzione accetta l'input dell'utente. Puoi usare una stringa trova() metodo per estrarre l'indice dell'ultima occorrenza del punto decimale e memorizzarlo nel file punto variabile. Seguilo conservando tutto dall'input fino all'occorrenza più a destra di un punto decimale.

Scansione degli host e stampa dello stato dell'host

Hai ricavato l'indirizzo di rete dall'IP di input. Ora puoi scorrere tutti i valori possibili per l'ottetto IPv4 finale: 1–254. All'interno del ciclo for, archivia il nuovo IP nel file ospite variabile. Questo IP è l'IP di base seguito dal valore della variabile iteratore. Quindi, usa il os.sistema() metodo per eseguire il ping comando contro il ospite variabile.

per io in gamma(1, 255):
host = IP + str (i)
risposta = os.system("ping -c 1 -w 1 " + host + " >/dev/null")

Se risposta == 0:
stampa (ospite + " è su")
altro:
stampa (ospite + " è fuori uso")

Prova il risposta valore contro 0 per determinare lo stato dell'host e decidere se è online o offline. Se ping rileva un host che non risponde, restituisce un valore diverso da zero. In caso contrario, restituisce zero per indicare un host che può raggiungere.

Puoi aggiungere il c bandiera e w flag, con valori di 1, al comando ping originale. Questo fa sì che invii un solo pacchetto e attenda un secondo per ricevere una risposta. La tua versione di ping può supportare o meno queste opzioni; consultare la pagina man di ping per verificare.

Dovresti anche reindirizzare l'output a /dev/null per nascondere i dettagli dell'output del ping. Si noti che la sintassi ping e /dev/null è compatibile solo con i sistemi Unix o Linux. Puoi eseguire questo script su Windows sostituendo il file c bandiera con n e >/dev/null insieme a >nul.

Esecuzione dello script Ping Sweeper

Puoi eseguire questo script nel terminale o tramite un prompt dei comandi. Avvia un terminale, spostati nella posizione dello script ed eseguilo con python3:

CD /directory/sweeper/
python3 sweeper.py

Immettere un indirizzo IPv4 o una sottorete nel terminale e lo sweeper ping dovrebbe mettersi al lavoro e restituire l'output previsto.

Idee di progetto interessanti per Python

L'apprendimento pratico è probabilmente il modo migliore e più veloce per imparare un linguaggio di programmazione. Più progetti lavori, più acquisirai concetti, svilupperai competenze essenziali e capirai come risolvere i problemi.

Se sei a corto di idee di progetto su cui lavorare, dai un'occhiata a questo elenco curato delle migliori idee di progetto per Python.