2010-12-03 13 views
0

Hallo folgendes Problem: Ich möchte ein kleines Skript auf meinem Notebook schreiben, die überprüft, ob ein bestimmter Host online ist, aber ich bin nicht immer mit einem Netzwerk verbunden. Also möchte ich, dass das Skript nichts tut, wenn ich nicht verbunden bin. Wie kann ich herausfinden, ob ich verbunden bin oder nicht? Meine aktuelle Lösung pingt Google, aber ich bin nicht wirklich glücklich damit.Wie kann man herausfinden, ob der PC mit einem Netzwerk verbunden ist?

Vielen Dank für Ihre Anregungen Baju

P. S .: erwähnt haben sollte: Ich bin mit Ubuntu 10.10

+0

Ich denke, Sie sollten „zu sein online“ definieren besser. Ist Ihr Computer online, wenn er Ihr lokales Heimnetzwerk sieht? Ist es online, wenn es Ihren Provider erreicht, aber nicht andere Seiten? –

+0

Es ist online, wenn das Modem aufhört, das kreischende Geräusch zu erzeugen, und die Lichter blinken. :-) –

Antwort

0

Der Befehl zu überprüfen, ob Netzwerkbetrieb konfiguriert wird, unterscheidet auf Unix oder Windows ordnungsgemäß basiert. Wenn Ihr Host-Computer DHCP verwendet, um seine IP-Adresse und Gateway-Informationen abzurufen, können Sie die Informationen über das Netzwerk mithilfe von ipconfig (Windows) oder ifconfig (Unix) abfragen. Zugegeben, Sie müssen ihre Ausgabe analysieren.

edit: geändert Unix-Befehl auf dem Codebeispiel in dem Kommentar verknüpft basierend

+0

Danke! Ich habe das gehackt: https://gist.github.com/726980. Okay, es ist ein bisschen Q & D. Irgendwelche Vorschläge? – Baju

+0

Sieht für mich vernünftig aus. Wenn Sie Ihre Regex sorgfältig erstellen, können Sie die Übereinstimmung für die gesamte Zeichenfolge durchführen, anstatt über die Zeilen zu iterieren. Manchmal ist das jedoch mehr Mühe als es wert ist. –

+0

Sobald Sie das Gateway erhalten, können Sie versuchen, es zu pingen, um sicherzustellen, dass Sie tatsächlich im Netzwerk sind. Dies sollte Ihnen helfen, Situationen zu entdecken, in denen Ihr Computer IP-Einstellungen hat, aber vom Netzwerk getrennt ist. –

Verwandte Themen