Python Ping
-
Ping Server in Python usando il metodo
subprocess.call()
-
Ping Server in Python usando il metodo
os.system()
-
Ping Server in Python usando la funzione
ping3.ping()
Questo tutorial spiegherà vari metodi per eseguire il ping di un server utilizzando ICMP (Internet Control Message Protocol) in Python. Ping viene utilizzato per verificare se un determinato server è disponibile o meno su un protocollo Internet. Misura il tempo impiegato da un messaggio per raggiungere la destinazione (server) e una risposta del server per raggiungere l’origine.
Ping Server in Python usando il metodo subprocess.call()
Il metodo subprocess.call(command)
accetta command
come input e lo esegue. Restituisce 0
se il comando viene eseguito con successo.
Il comando per eseguire il ping di un server sarà ping -c 1 host_address
per Unix e ping -n 1 host_address
per Windows, dove 1
è il numero di pacchetti e host_address
è l’indirizzo del server su cui vogliamo eseguire il ping.
Possiamo usare il metodo platform.system()
prima per controllare il sistema operativo della macchina e poi eseguire il comando di conseguenza. Il codice di esempio seguente mostra come utilizzare il metodo subprocess.call()
per eseguire il comando per eseguire il ping di un server in Python.
import platform
import subprocess
def myping(host):
parameter = "-n" if platform.system().lower() == "windows" else "-c"
command = ["ping", parameter, "1", host]
response = subprocess.call(command)
if response == 0:
return True
else:
return False
print(myping("www.google.com"))
Ping Server in Python usando il metodo os.system()
Il metodo os.system(command)
accetta il command
(una stringa) come input e lo esegue in una subshell. Il metodo restituisce 0
se il comando viene eseguito senza errori.
Possiamo usare il metodo os.system()
nel modo seguente per eseguire il comando del server ping:
import os
def myping(host):
response = os.system("ping -c 1 " + host)
if response == 0:
return True
else:
return False
print(myping("www.google.com"))
Ping Server in Python usando la funzione ping3.ping()
La funzione ping(addr)
del modulo ping3
prende l’indirizzo del server come input e restituisce il tempo di ping come output se il server è disponibile e restituisce False
se non è disponibile.
Possiamo installare il modulo ping3
con i privilegi root
.
pip install ping3
Possiamo passare l’indirizzo del server al metodo ping()
per eseguire il ping del server.
from ping3 import ping
def myping(host):
resp = ping(host)
if resp == False:
return False
else:
return True
print(myping("www.google.com"))