Python Ping
-
Ping Server in Python mit der Methode
subprocess.call()
-
Ping Server in Python mit der Methode
os.system()
-
Ping-Server in Python mit der Funktion
ping3.ping()
![Python Ping](/img/Python/feature-image---python-ping.webp)
In diesem Tutorial werden verschiedene Methoden zum Anpingen eines Servers mit dem Internet Control Message Protocol (ICMP) in Python erklärt. Ping wird verwendet, um zu prüfen, ob ein bestimmter Server über ein Internetprotokoll verfügbar ist oder nicht. Es misst die Zeit, die eine Nachricht benötigt, um das Ziel (den Server) zu erreichen, und die Zeit, die eine Serverantwort benötigt, um die Quelle zu erreichen.
Ping Server in Python mit der Methode subprocess.call()
Die Methode subprocess.call(command)
nimmt command
als Eingabe und führt es aus. Sie gibt 0
zurück, wenn der Befehl erfolgreich ausgeführt wurde.
Der Befehl zum Anpingen eines Servers ist ping -c 1 host_address
für Unix und ping -n 1 host_address
für Windows, wobei 1
die Anzahl der Pakete und host_address
die Serveradresse ist, die wir anpingen wollen.
Wir können die Methode platform.system()
verwenden, um zuerst das Betriebssystem des Rechners zu prüfen und dann den Befehl entsprechend auszuführen. Der folgende Beispielcode zeigt, wie man die Methode subprocess.call()
verwendet, um den Befehl zum Anpingen eines Servers in Python auszuführen.
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 mit der Methode os.system()
Die Methode os.system(command)
nimmt den command
(eine Zeichenkette) als Eingabe und führt ihn in einer Subshell aus. Die Methode gibt 0
zurück, wenn der Befehl ohne Fehler ausgeführt wird.
Wir können die Methode os.system()
auf folgende Weise verwenden, um den Befehl ping server auszuführen:
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 mit der Funktion ping3.ping()
Die Funktion ping(addr)
des Moduls ping3
nimmt die Serveradresse als Eingabe und gibt die Ping-Zeit als Ausgabe zurück, wenn der Server verfügbar ist und gibt False
zurück, wenn er nicht verfügbar ist.
Wir können das Modul ping3
mit den root
-Rechten installieren.
pip install ping3
Wir können die Serveradresse an die Methode ping()
übergeben, um den Server anzupingen.
from ping3 import ping
def myping(host):
resp = ping(host)
if resp == False:
return False
else:
return True
print(myping("www.google.com"))