Weiß jemand, wie man mit Python einen lokalen Host anpingt, um zu sehen, ob er aktiv ist oder nicht? Wir (mein Team und ich) haben bereits versucht,
zu verwenden %Vor%Aber die Antwort für das Ziel nicht erreichbar ist die gleiche wie die Antwort für den Host ist.
Danke für Ihre Hilfe.
Benutze das ...
%Vor%Wenn Sie dieses Skript unter Unix / Linux verwenden, ersetzen Sie -n mit -c! Das ist alles:)
Ich habe festgestellt, dass die Verwendung von os.system (...) zu falsch positiven Ergebnissen führt (wie das OP sagte, "Zielhost nicht erreichbar" == 0).
Wie bereits erwähnt, funktioniert subprocess.Popen. Der Einfachheit halber empfehle ich, dies zu tun, gefolgt von der Analyse der Ergebnisse. Du kannst das leicht machen wie:
%Vor%Überprüfen Sie einfach die verschiedenen Ausgänge, die Sie überprüfen möchten, aus den Ping-Ergebnissen. Machen Sie ein "das" in "das", überprüfen Sie es.
Beispiel:
%Vor%Ich habe vor einiger Zeit ein kleines Programm programmiert. Es ist möglicherweise nicht genau das, wonach Sie suchen, aber Sie können immer ein Programm auf dem Host-Betriebssystem ausführen, das beim Start einen Socket öffnet. Hier ist das Ping-Programm selbst:
%Vor%Und hier haben Sie das Programm, das die Ping-Anfrage erhalten kann:
%Vor%Um ein Programm auszuführen, ohne es anzuzeigen, speichern Sie die Datei einfach als .pyw statt als .py. Es macht es unsichtbar, bis der Benutzer laufende Prozesse überprüft.
Ich hoffe, es hat dir geholfen
Tags und Links networking ping