Ping verwenden

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
peddy
User
Beiträge: 121
Registriert: Montag 30. Juni 2008, 13:51

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?
Benutzeravatar
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.
lunar

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 ;)
Benutzeravatar
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.
peddy
User
Beiträge: 121
Registriert: Montag 30. Juni 2008, 13:51

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.
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:


GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Benutzeravatar
mkesper
User
Beiträge: 919
Registriert: Montag 20. November 2006, 15:48
Wohnort: formerly known as mkallas
Kontaktdaten:

jens: Gut zu wissen, daß es da eine neuere Version gibt. :)
Das ist genau der Code, den ich auch benutzt habe.
peddy
User
Beiträge: 121
Registriert: Montag 30. Juni 2008, 13:51

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?
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Ganz unten auf der Seite kannst du es auch direkt herunterladen ;-)
peddy
User
Beiträge: 121
Registriert: Montag 30. Juni 2008, 13:51

Danke, das hatte ich übersehen.
Antworten