Python Ping
-
Hacer ping al servidor en Python usando el método
subprocess.call()
-
Ping al servidor en Python usando el método
os.system()
-
Ping Server en Python usando la función
ping3.ping()
Este tutorial explicará varios métodos para hacer ping a un servidor utilizando el Protocolo de mensajes de control de Internet (ICMP) en Python. Ping se usa para verificar si un servidor en particular está disponible o no en un Protocolo de Internet. Mide el tiempo que tarda un mensaje en llegar al destino (servidor) y una respuesta del servidor en llegar al origen.
Hacer ping al servidor en Python usando el método subprocess.call()
El método subprocess.call(command)
toma command
como entrada y lo ejecuta. Devuelve 0
si el comando se ejecuta correctamente.
El comando para hacer ping a un servidor será ping -c 1 host_addres
para Unix y ping -n 1 host_address
para Windows, donde 1
es el número de paquetes y host_address
es la dirección del servidor a la que queremos hacer ping.
Podemos usar el método platform.system()
primero para verificar el sistema operativo de la máquina y luego ejecutar el comando en consecuencia. El siguiente código de ejemplo demuestra cómo usar el método subprocess.call()
para ejecutar el comando para hacer ping a un servidor en 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 al servidor en Python usando el método os.system()
El método os.system(command)
toma el command
(una cadena) como entrada y lo ejecuta en una subshell. El método devuelve 0
si el comando se ejecuta sin ningún error.
Podemos usar el método os.system()
de la siguiente manera para ejecutar el comando del servidor 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 en Python usando la función ping3.ping()
La función ping(addr)
del módulo ping3
toma la dirección del servidor como entrada y devuelve el tiempo de ping como salida si el servidor está disponible y devuelve False
si no está disponible.
Podemos instalar el módulo ping3
con los privilegios de root
.
pip install ping3
Podemos pasar la dirección del servidor al método ping()
para hacer ping al servidor.
from ping3 import ping
def myping(host):
resp = ping(host)
if resp == False:
return False
else:
return True
print(myping("www.google.com"))