Hallo,
ich habe zwar schon etwas Programmiererfahrung, aber Python ist eine ganz neue Welt und ich habe gerade erst begonnen die Sprache zu lernen.
Da ich am besten lerne, wenn ich ein klares Ziel vor Augen habe, habe ich mir folgendes überlegt:
Ich möchte ein Programm schreiben das fortlaufend mehrere Rechner anpingt. Sollte eine gewisse Menge an Pings nicht antworten wechselt der Status dieses Rechners auf Orange und irgend wann auf Rot. Rein optisch habe ich mir ein kleines GUI vorgestellt in dem die X Rechner mit ihrer jeweiligen Statusampel angezeigt werden.
Die Frage die ich mir stelle ist: Wie kann ich in einem Script Rechner anpingen? Gibt es ein Modul in Python oder kann ich den externen Ping verwenden?
Ping verwenden
- mkesper
- User
- Beiträge: 919
- Registriert: Montag 20. November 2006, 15:48
- Wohnort: formerly known as mkallas
- Kontaktdaten:
Hallo,
Im Python Cookbook gibt's ein Skript, welches ICMP-Nachrichten, also z.B. pings, aus Python heraus ermöglicht und damit den Aufruf eines ping-Executables vermeidet.
Im Python Cookbook gibt's ein Skript, welches ICMP-Nachrichten, also z.B. pings, aus Python heraus ermöglicht und damit den Aufruf eines ping-Executables vermeidet.
Das wird unter Linux nicht so einfach funktionieren. Unter Linux benötigt man nämlich Privilegien, um Raw-Sockets zu verwenden, die wiederum für ICMP-Pakete nötig sind. Insofern ist es unter Linux klüger, den externen Ping-Befehl zu verwenden, der mit SUID installiert ist. Andernfalls muss der Admin bei der Installation der Anwendung nämlich PCAPs oder Sudo-Rechte verteilen, was für einen einfachen Ping ein bisschen übertrieben ist
- mkesper
- User
- Beiträge: 919
- Registriert: Montag 20. November 2006, 15:48
- Wohnort: formerly known as mkallas
- Kontaktdaten:
Stimmt. Das mit den Rechten gilt übrigens auch unter Windows, jedoch fällt das da oft nicht auf, da standardmäßig mit Adminrechten gearbeitet wird.
Dafür ist der Ansatz flexibler.
Dafür ist der Ansatz flexibler.
Danke für den Hinweis. Im Moment arbeite ich unter Linux, aber das Script sollte möchte ich auch unter Windows einsetzten können.
Ich sehe mir den Code heute mal etwas genauer an und hoffe das ich damit was als Anfänger anfangen kann.
Ich sehe mir den Code heute mal etwas genauer an und hoffe das ich damit was als Anfänger anfangen kann.
Ist jetzt vielleicht eine blöde Frage, aber ich habe mir den Code mit Copy und Paste gerade in einen Editor kopiert. Leider wurden auch die Zeilennummern markiert. Wie kann ich die den automatisch wieder entfernen oder hilft da nur Handarbeit?jens hat geschrieben:http://trac.pylucid.net/browser/CodeSnippets/ping.py