it-swarm.com.de

Was ist eine externe zuverlässige IP-Adresse, um per Ping zu überprüfen, ob das Internet verfügbar ist?

Gibt es einen gemeinsamen Always-Up-Server, den ich einrichten kann, um im automatischen Modus zu pingen, um festzustellen, ob Internet verfügbar ist? Gefällt dir Google oder so? Kann 8.8.8.8 sein?

In meiner speziellen Situation verwende ich einen doppelten WAN Router. Jedes WAN ist mit einem der ISPs verbunden. Wenn mein Geld bei einem ISP endet, blockiert es den Kanal nicht. Stattdessen wird auf eine Warnungsseite umgeleitet. Der Router glaubt, das Internet sei eingeschaltet, weil Daten übertragen werden. Eine andere Möglichkeit für diesen Router besteht darin, nach einer Adresse zu pingen, um zu überprüfen, ob das Internet aktiviert ist.

Ich frage mich, ob ich nicht von Google wegen unangemessener Verwendung gebannt werde, wenn ich Ping 8.8.8.8 erhalte. Ich vermute, dass Google einige Quoten hat. Wenn ich die Nameserver zu oft anpinge, erhalte ich manchmal DNS-Ablehnungen.

50
Dims

Versuchen Sie, Ping 8.8.8.8, es ist Google primären DNS-Server. Ich pinge es immer an, um meine Verbindung zu überprüfen und habe es nie gefunden. Alternativ können Sie 8.8.4.4 ausprobieren, bei dem es sich um Google Secondary DNS handelt.

56
AlexC

Sie können das tun, was Microsoft tut: Überprüfen Sie dies

http://www.msftncsi.com/ncsi.txt

gibt "Microsoft NCSI" zurück

Sie können auch überprüfen, ob dns.msftncsi.com

verweist auf 131.107.255.255

Siehe http://technet.Microsoft.com/en-us/library/ee126135

27
Mark Sowul

Sonderfall

Sie möchten die "nächste" feste IP-Adresse anpingen, die nicht routingfähig ist, wenn der ISP in den Status "Verkehrsüberlastung" wechselt. Auf meinem System kann ich diese Situation durch Fehlschlagen der ADSL-Authentifizierung emulieren. Wenn ich in diesem Fall die Ergebnisse von traceroute -n unter normalen und abnormalen Bedingungen vergleiche, sehe ich, dass der erste Sprung zu 8.8.8.8 (oder einer externen Site), der nicht reagiert, 151.6.68.45 ist, was Teil der Infrastruktur meines Internetdienstanbieters ist.

Indem ich thatIP als "Check-Alive" -Host verwende (nachdem ich den Test wiederholt habe, um sicherzugehen, dass isfixed)), kann ich eine ISP-Anomalie erkennen, ohne ein falsches positives Ergebnis zu erhalten, falls es sich um ADSL handelt OK, aber das ISP-Routing hat Probleme.

Natürlich könnte ich 8.8.8.8 verwenden. Absichtlich). Wenn ich die Infrastruktur von Google nicht erreichen kann, der Grund ist mir egal), kann ich es genauso gut mit dem Backup-Router versuchen.

Allgemeiner Fall

"internet is available" ist eine vielkomplizierter als nur "Ist 8.8.8.8 (oder eine andere IP) erreichbar".

Für eine schnelle, schmutzige und nicht immer zuverlässige Überprüfung ist Ping 8.8.8.8 gut. Aber da Sie eine numerische IP-Adresse anstelle eines Domainnamens verwenden, haben Sie sich bereits damit abgefunden, dass Sie möglicherweise über eine IP-Konnektivität und immer noch "kein Internet"aufgrund von DNS-Problemen) verfügen.

Eine vollständige Diagnose muss in der Nähe Ihres PCs gestartet werden.

  • fragen Sie die lokale Netzwerkkonfiguration ab und rufen Sie das Gateway und den DNS-Server ab.
  • pingen Sie das Gateway. Es sollte erreichbar sein. Wenn nicht, liegt ein lokales Problem vor.
  • führen Sie eine Traceroute mit einem kurzen TTL (tatsächlich ist eine TCP Traceroute wie die von hping bereitgestellte besser) von einer externen Adresse aus, 8.8.8.8 ist in Ordnung.
  • sie möchten sehen, dass nach Ihrem Gateway einige zusätzliche Knoten reagieren.

Zum Beispiel habe ich in Windows XP zu Hause:

 1    <1 ms    <1 ms    <1 ms  192.168.4.200   -- (constant) Home Linux box (gateway)
 2    <1 ms    <1 ms    <1 ms  192.168.0.1     -- (constant) ADSL modem
 3     *        *        *     *               -- WAN interface, always fails; expected
 4     *        6 ms     6 ms  151.6.64.30     -- (varies) ISP gateway

Versuchen Sie nun, DNS zu pingen. Es sollte erreichbar sein. Führen Sie noch besser eine einfache DNS-Überprüfung durch. Um DNS-Caches zu vermeiden, verwende ich manchmal eine Domain, die auf all Anfragen antwortet, egal was passiert. Also zum Beispiel

$ Host randomasdfdsasdqwerty987667.godaddy.com
randomasdfdsasdqwerty987667.godaddy.com has address 97.74.104.201

wenn der DNS-Server unzuverlässig ist, gibt dieselbe Abfrage möglicherweise die Adresse des Captive-Portals für WLAN zurück

$ Host randomasdfdsasdqwerty987667.godaddy.com
captiveportal.homenet has address 192.168.4.200

oder 127.0.0.1 oder sogar ein Fehler.

Im Falle von DNS-Fehlern kann ich versuchen, die DNS-IP-Adresse (oder eine andere DNS wie die von OpenDNS) zu verfolgen. Dadurch erfahre ich nicht nur, ob es sich um ein DNS- oder ein ISP-Problem handelt, sondern kann häufig die Unterbrechung umgehen.

Wenn zu diesem Zeitpunkt alles in Ordnung ist, weiß ich, dass die Verbindung im Allgemeinen funktioniert. Bei einigen Websites kann es dennoch zu Fehlern kommen. Jetzt muss ich nur noch isup.me eingeben :-) und dann nachsehen

http://www.isup.me/www.google.com
http://www.isup.me/mail.google.com

oder eine Seite wie Down Detector wird mich über das "Internetwetter" auf dem Laufenden halten.

Tatsächlich gibt es auf meinem Heimserver einen Squid-Cache und die Fehlerseite enthält die letzten Daten, die erfolgreich aus Downsite-Statistiken abgerufen wurden, sodass ich möglicherweise so etwas wie sehen kann

                Google.com is not reachable

                STORM ALERT: 12 out of 14 sites are unreachable!

gerade als es geschah diesen letzten Freitag hier in Italien.

13
LSerni

Wie ein paar gesagt haben, können Sie zum Beispiel den primären DNS von Google anpingen, um eine Antwort zu erhalten, sich aber nicht auf eine Adresse verlassen. Die Adresse ist (aus verschiedenen Gründen) möglicherweise für einen Zeitraum nicht erreichbar, in dem Ihre Software "keine Verbindung" meldet, obwohl bei Ihrer Netzwerkverbindung möglicherweise keine Probleme auftreten. Sie sollten immer versuchen, mit mehr als einer Adresse zu kommunizieren, um falsche Negative auszuschließen.

Ich würde eine Funktion schreiben, die eine Adresse einmal pingt, wenn dies fehlschlägt, gehen Sie zu einer anderen über (bis zu beispielsweise drei IPs) und sobald Sie ein paar positive Antworten erhalten, sollte die Funktion Ihre Anwendung/Ihr Skript benachrichtigen, dass Internet verfügbar ist und fortsetzen.

6
Kinnectus

Als ich für eine Organisation mit einer Flakey-Internetverbindung arbeitete, hatte ich ein Skript, das mehrere "Always-Up" -Server auf Konnektivität prüfte: zuerst den LAN-Router/Switch, dann den lokalen Dateiserver, dann den T1-Router und dann den DNS des Internetdienstanbieters. dann Google. Ich habe die beiden letzteren als numerische Adressen und als Domänen getestet, um DNS-Probleme im Vergleich zu Ping per se zu überprüfen. Wenn einer der Pings zu oft fehlschlug, bekam ich eine Vorstellung davon, wo das Problem bei der Verbindung zum Internet am wahrscheinlichsten war.

Für die numerische Adresse für Google habe ich nur eine verwendet, die ich zuvor von nslookup erhalten hatte - ich bin nie auf einen Fall gestoßen, in dem es nicht funktioniert hat. Ich nehme an, 8.8.8.8 wäre einfacher.

Ziemlich oft, wenn Leute anriefen, um zu sagen, das Internet sei ausgefallen, stellte sich heraus, dass nur DNS ausgefallen war. wir könnten diese verschiedenen Dinge nennen, aber aus der Sicht meiner Kollegen war das Internet in beiden Fällen nicht verfügbar.

3
Zeph

Ich benutze 4.2.2.1 seit mehr als 10 Jahren. Bevor es den öffentlichen DNS-Dienst von Googles gab. Es scheint sich um einen zuverlässigen DNS-Cache und ICMP-Responder zu handeln.

3
rsenn

Probieren Sie Ihren DNS-Server aus, er wird trotzdem benötigt (und die externe Verbindung Ihres Internetdienstanbieters ist möglicherweise unterbrochen). Es kommt wirklich darauf an, was Sie wollen. Wenn Sie auf einen bestimmten Dienst zugreifen müssen, überprüfen Sie diesen.

2
vonbrand