Python Ping

Muhammad Waiz Khan 30 Januar 2023
  1. Ping Server in Python mit der Methode subprocess.call()
  2. Ping Server in Python mit der Methode os.system()
  3. Ping-Server in Python mit der Funktion ping3.ping()
Python Ping

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"))

Verwandter Artikel - Python Network