Hi,
ich möchte per raw_input eine IP eingeben und diese pingen,
anschließend soll 'online' oder 'offline' ausgegeben werden.
Hab schon im Internet gesucht,bin aber bisher aus nichts schlau geworden... :K
Ping IP
@jens
1. googlen kann ich,und wie du oben lesen kannst hab ich es auch bereits!
2. Ich möchte eine IP pingen,und das geht mit dem Skript nicht:
1. googlen kann ich,und wie du oben lesen kannst hab ich es auch bereits!
2. Ich möchte eine IP pingen,und das geht mit dem Skript nicht:
ich brauche es aber auch außerhalb des lokalen Netzwerkes!Code-Snippet hat geschrieben:Code: Alles auswählen
# Should fail (timeout), but it depends on the local network: verbose_ping("192.168.255.254")
-
Na dann schau mal alles an:
"heise.de" ist definitiv nicht im Netzwerk
Code: Alles auswählen
# These should work:
verbose_ping("heise.de")
verbose_ping("google.com")
# Inconsistent on Windows w/ ActivePython (Python 3.2 resolves correctly
# to the local host, but 2.7 tries to resolve to the local *gateway*)
verbose_ping("localhost")
# Should fail with 'getaddrinfo failed':
verbose_ping("foobar_url.foobar")
# Should fail (timeout), but it depends on the local network:
verbose_ping("192.168.255.254")
# Should fails with 'The requested address is not valid in its context':
verbose_ping("0.0.0.0")
the more they change the more they stay the same
@graphicsH: Das von jens gezeigte Skript benötigt administrative Rechte und kann aus normalen Anwendungen heraus nicht verwendet werden. Mithin ist es für den praktischen Einsatz vollkommen unbrauchbar. Nutze stattdessen das "ping"-Programm. Aus Python heraus lassen sich externe Programme mit dem "subprocess"-Modul aufrufen.
Ansonsten solltest Du vielleicht nochmal nachlesen, und überlegen, was dort tatsächlich steht! Und dabei vielleicht auch gleich ein paar Grundbegriffe lernen. "heise.de" ist keine „Website“, und das Anpingen einer IP-Adresse klappt auch außerhalb des lokalen Netzwerks.
Ansonsten solltest Du vielleicht nochmal nachlesen, und überlegen, was dort tatsächlich steht! Und dabei vielleicht auch gleich ein paar Grundbegriffe lernen. "heise.de" ist keine „Website“, und das Anpingen einer IP-Adresse klappt auch außerhalb des lokalen Netzwerks.
@lunar
1.gibt es keine möglickeit ein einfaches ping-programm zu schreiben,welches eine
ip anpingt und nacher 'online' oder 'offline' ausgibt?
2. Sorry,ich hab den text nur schnell überflogen und kenn mich in Netzwerkprogrammierung noch
nicht so aus (hab damit gestern! begonnen).
1.gibt es keine möglickeit ein einfaches ping-programm zu schreiben,welches eine
ip anpingt und nacher 'online' oder 'offline' ausgibt?
2. Sorry,ich hab den text nur schnell überflogen und kenn mich in Netzwerkprogrammierung noch
nicht so aus (hab damit gestern! begonnen).
-
@graphicsH: Von dem "ping"-Programm, welches bei Windows dabei ist, und welches Du über die Windows-Konsole ausführen kannst. Bei allem Respekt, nach "windows ping" wirst Du doch wohl selbst suchen können, oder?
@graphicsH: Nun, eben indem Du selbstständig suchst. Immerhin führt der erste Treffer einer Google-Suche nach "Windows ping" direkt zur Hilfeseite des Programms.
Aufgrund deiner Anfrage mussten wir eigentlich nicht davon ausgehen, dass dir die Existenz von ping unter Windows unbekannt war.graphicsH hat geschrieben:ich bin nicht vollkommen bescheuert,aber gedankenlesen kann ich nicht,also
woher soll ich dann wissen von welchem ping-programm du redest wenn
niemand es bisher erwähnt hat?
- mkesper
- User
- Beiträge: 919
- Registriert: Montag 20. November 2006, 15:48
- Wohnort: formerly known as mkallas
- Kontaktdaten:
Finde ich keine gute Lösung. Die Rückgabe von Kommandos auszuwerten ist wesentlich uneleganter und unflexibler als ein direkter Aufruf.lunar hat geschrieben:@graphicsH: Das von jens gezeigte Skript benötigt administrative Rechte und kann aus normalen Anwendungen heraus nicht verwendet werden. Mithin ist es für den praktischen Einsatz vollkommen unbrauchbar. Nutze stattdessen das "ping"-Programm.
- jens
- Python-Forum Veteran
- Beiträge: 8502
- Registriert: Dienstag 10. August 2004, 09:40
- Wohnort: duisburg
- Kontaktdaten:
Was haltet ihr von der Idee, ping.py in ein separates github Projekt umzuwandeln (also aus meinem Skript-Sammlungs-Repro raus zu lösen...
Das ganze mit einer setup.py versehen, damit es über pip & Co. installierbar ist.
Man könnte dem noch eine Plattform-Übergreifende subprocess Lösung beilegen... Allerdings muß man dann die verschiedenen Ausgabe-Formate berücksichtigen... Vielleicht reicht im ersten Schritt ja nur die Analyse "war erfolgreich/war nicht erfolgreich"...
Bei Interesse würde ich das mal anfangen...
Das ganze mit einer setup.py versehen, damit es über pip & Co. installierbar ist.
Man könnte dem noch eine Plattform-Übergreifende subprocess Lösung beilegen... Allerdings muß man dann die verschiedenen Ausgabe-Formate berücksichtigen... Vielleicht reicht im ersten Schritt ja nur die Analyse "war erfolgreich/war nicht erfolgreich"...
Bei Interesse würde ich das mal anfangen...
@mkesper: Du hältst es mithin für flexibler und eleganter, ein Python-Skript nur zum Pingen mit administrativen Privilegien auszuführen?!
@jens: Ich glaube kaum, dass es für "subprocess.call" ein eigenes Projekt braucht. Eine reine Python-Implementierung von "ping" dient aus genannten Gründen allenfalls Anschauungszwecken. Aber ich möchte Dich nicht aufhalten…
@jens: Ich glaube kaum, dass es für "subprocess.call" ein eigenes Projekt braucht. Eine reine Python-Implementierung von "ping" dient aus genannten Gründen allenfalls Anschauungszwecken. Aber ich möchte Dich nicht aufhalten…
- jens
- Python-Forum Veteran
- Beiträge: 8502
- Registriert: Dienstag 10. August 2004, 09:40
- Wohnort: duisburg
- Kontaktdaten:
Es geht darum die Ausgaben aufzubereiten. Wenn das halbwegs platform Übergreifend sein soll, dann muß man ein wenig mehr Aufwand treiben...lunar hat geschrieben:Ich glaube kaum, dass es für "subprocess.call" ein eigenes Projekt braucht.
Ich hab mal "ping.py" aus meine repro herraus extrahiert und mit einem bestehenden Fork zusammen gebacken.
Ist unter https://github.com/jedie/python-ping/ erreichbar...
- mkesper
- User
- Beiträge: 919
- Registriert: Montag 20. November 2006, 15:48
- Wohnort: formerly known as mkallas
- Kontaktdaten:
Flexibler auf jeden Fall.lunar hat geschrieben:@mkesper: Du hältst es mithin für flexibler und eleganter, ein Python-Skript nur zum Pingen mit administrativen Privilegien auszuführen?!
@jens: Nicht direkt zum Thema, aber meinst Du wirklich, dass die Eclipse-Konfiguration in das Repo gehört?