Python Ping
-
Executar ping no servidor em Python usando o método
subprocess.call() -
Ping Server em Python usando o método
os.system() -
Executar ping no servidor em Python usando a função
ping3.ping()
Este tutorial explicará vários métodos para executar ping em um servidor usando Internet Control Message Protocol (ICMP) em Python. O ping é usado para verificar se um determinado servidor está disponível ou não em um protocolo de Internet. Ele mede o tempo que leva para uma mensagem chegar ao destino (servidor) e para uma resposta do servidor chegar à origem.
Executar ping no servidor em Python usando o método subprocess.call()
O método subprocess.call(command) recebe command como entrada e o executa. Ele retorna 0 se o comando for executado com sucesso.
O comando para fazer ping em um servidor será ping -c 1 host_address para Unix e ping -n 1 host_address para Windows, onde 1 é o número de pacotes e host_address é o endereço do servidor que queremos fazer o ping.
Podemos usar o método platform.system() primeiro para verificar o sistema operacional da máquina e, em seguida, executar o comando de acordo. O código de exemplo a seguir demonstra como usar o método subprocess.call() para executar o comando de ping em um servidor em 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 em Python usando o método os.system()
O método os.system(command) recebe o command (uma string) como entrada e o executa em um subshell. O método retorna 0 se o comando for executado sem nenhum erro.
Podemos usar o método os.system() da seguinte maneira para executar o comando do 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"))
Executar ping no servidor em Python usando a função ping3.ping()
A função ping(addr) do módulo ping3 leva o endereço do servidor como entrada e retorna o tempo de ping como saída se o servidor estiver disponível e retorna False se não estiver disponível.
Podemos instalar o módulo ping3 com privilégios de root.
pip install ping3
Podemos passar o endereço do servidor para o método ping() para fazer o ping do servidor.
from ping3 import ping
def myping(host):
resp = ping(host)
if resp == False:
return False
else:
return True
print(myping("www.google.com"))