Seite 1 von 2

Ping IP

Verfasst: Dienstag 11. Oktober 2011, 15:58
von graphicsH
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

Re: Ping IP

Verfasst: Dienstag 11. Oktober 2011, 16:03
von jens

Re: Ping IP

Verfasst: Dienstag 11. Oktober 2011, 16:40
von graphicsH
@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:
Code-Snippet hat geschrieben:

Code: Alles auswählen

 # Should fail (timeout), but it depends on the local network:
 verbose_ping("192.168.255.254")
ich brauche es aber auch außerhalb des lokalen Netzwerkes!

Re: Ping IP

Verfasst: Dienstag 11. Oktober 2011, 17:09
von Dav1d
Na dann schau mal alles an:

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")
"heise.de" ist definitiv nicht im Netzwerk

Re: Ping IP

Verfasst: Dienstag 11. Oktober 2011, 17:28
von graphicsH
@Dav1d
und wenn man genauer hinschaut sind es websiten und keine IPs,
dort wo das IP beispiel steht,steht das es nur im Netzwerk funktioniert!

Re: Ping IP

Verfasst: Dienstag 11. Oktober 2011, 17:32
von lunar
@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.

Re: Ping IP

Verfasst: Dienstag 11. Oktober 2011, 18:15
von graphicsH
@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).

Re: Ping IP

Verfasst: Dienstag 11. Oktober 2011, 18:29
von lunar
@graphicsH: Ich habe Dir gesagt, wie Du ein solches Programm schreiben kannst.

Re: Ping IP

Verfasst: Dienstag 11. Oktober 2011, 18:53
von graphicsH
@lunar
von welchem Ping-programm redest du?

Re: Ping IP

Verfasst: Dienstag 11. Oktober 2011, 18:57
von lunar
@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?

Re: Ping IP

Verfasst: Dienstag 11. Oktober 2011, 19:11
von graphicsH
@lunar
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?

Re: Ping IP

Verfasst: Dienstag 11. Oktober 2011, 19:19
von graphicsH
@lunar
trotzdem danke,da das die bisher einzige hilfreiche antwort war.

Re: Ping IP

Verfasst: Dienstag 11. Oktober 2011, 22:14
von lunar
@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.

Re: Ping IP

Verfasst: Mittwoch 12. Oktober 2011, 05:55
von /me
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?
Aufgrund deiner Anfrage mussten wir eigentlich nicht davon ausgehen, dass dir die Existenz von ping unter Windows unbekannt war.

Re: Ping IP

Verfasst: Mittwoch 12. Oktober 2011, 11:28
von mkesper
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.
Finde ich keine gute Lösung. Die Rückgabe von Kommandos auszuwerten ist wesentlich uneleganter und unflexibler als ein direkter Aufruf.

Re: Ping IP

Verfasst: Mittwoch 12. Oktober 2011, 11:43
von jens
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...

Re: Ping IP

Verfasst: Mittwoch 12. Oktober 2011, 12:58
von lunar
@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…

Re: Ping IP

Verfasst: Mittwoch 12. Oktober 2011, 13:50
von jens
lunar hat geschrieben:Ich glaube kaum, dass es für "subprocess.call" ein eigenes Projekt braucht.
Es geht darum die Ausgaben aufzubereiten. Wenn das halbwegs platform Übergreifend sein soll, dann muß man ein wenig mehr Aufwand treiben...

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...

Re: Ping IP

Verfasst: Mittwoch 12. Oktober 2011, 14:00
von mkesper
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?!
Flexibler auf jeden Fall.

Re: Ping IP

Verfasst: Mittwoch 12. Oktober 2011, 14:37
von lunar
@jens: Nicht direkt zum Thema, aber meinst Du wirklich, dass die Eclipse-Konfiguration in das Repo gehört?