HOWTO · Python
Python Ping
Este tutorial demonstra como executar ping em um servidor em Python
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"))