Python Ping
-
Serveur Ping en Python utilisant la méthode
subprocess.call()
-
Ping d’un serveur en Python en utilisant la méthode
os.system()
-
Serveur ping en Python en utilisant la fonction
ping3.ping()
Ce tutoriel explique les différentes méthodes de ping d’un serveur utilisant le protocole ICMP (Internet Control Message Protocol) en Python. Le ping est utilisé pour vérifier si un serveur particulier est disponible ou non sur un protocole Internet. Il mesure le temps qu’il faut à un message pour atteindre sa destination (serveur) et à une réponse du serveur pour atteindre la source.
Serveur Ping en Python utilisant la méthode subprocess.call()
La méthode subprocess.call(command)
prend command
comme entrée et l’exécute. Elle renvoie 0
si la commande s’exécute avec succès.
La commande pour envoyer un ping à un serveur sera ping -c 1 host_address
pour Unix et ping -n 1 host_address
pour Windows, où 1
est le nombre de paquets et host_address
est l’adresse du serveur que nous voulons envoyer.
Nous pouvons utiliser la méthode platform.system()
pour vérifier d’abord le système d’exploitation de la machine et ensuite exécuter la commande en conséquence. L’exemple de code ci-dessous montre comment utiliser la méthode subprocess.call()
pour exécuter la commande de ping d’un serveur 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 d’un serveur en Python en utilisant la méthode os.system()
La méthode os.system(command)
prend la command
(une chaîne de caractères) en entrée et l’exécute dans une sous-coque. La méthode retourne 0
si la commande s’exécute sans aucune erreur.
Nous pouvons utiliser la méthode os.system()
de la manière suivante pour exécuter la commande du serveur 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"))
Serveur ping en Python en utilisant la fonction ping3.ping()
La fonction ping(addr)
du module ping3
prend l’adresse du serveur en entrée et retourne le temps de ping en sortie si le serveur est disponible et retourne False
s’il n’est pas disponible.
Nous pouvons installer le module ping3
avec les privilèges root
.
pip install ping3
Nous pouvons passer l’adresse du serveur à la méthode ping()
pour faire un ping au serveur.
from ping3 import ping
def myping(host):
resp = ping(host)
if resp == False:
return False
else:
return True
print(myping("www.google.com"))