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

53

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

Dims
quelle
1
Ich würde vorschlagen, dass Sie testen, was Sie tatsächlich wollen. Was meinen Sie mit "Internet ist verfügbar"?
David Schwartz
1
@DavidSchwartz er meint, dass das Internet nicht nicht verfügbar ist. Wenn Sie einen bestimmten Test wünschen, wird vieles WAN-basiert sein, daher ist dies keine Option zum Testen, da es sich um einen Test handelt, den der ISP jedoch kennen würde.
Barlop
5
ping stackexchange.com;)
6
@barlop Das ist lustig, aber nicht hilfreich. Was bedeutet "das Internet ist nicht nicht verfügbar"? Wenn ich die Website von Google nicht erreichen kann, ist "das Internet nicht verfügbar"? Wenn DNS funktioniert, aber keine Webseiten funktionieren, ist das Internet verfügbar? Der erste Schritt zur Beantwortung einer Frage ist das Verstehen der Frage.
David Schwartz
4
@DavidSchwartz Ich habe keinen Scherz gemacht und in Anbetracht dessen, dass er über das Pingen einer Google-bezogenen IP als Test und nicht über das Pingen einer Domain wie www.google.com als Test spricht, meint er offensichtlich, dass in einem Fall, in dem DNS nicht verfügbar ist, aber alles andere ist verfügbar, dann glaubt er, dass das Internet verfügbar ist. nicht verfügbar. Wenn Sie ein Fragezeichen finden möchten, wäre es b, ob ein schlechter Router "Internet nicht verfügbar" ist, aber offensichtlich, wenn Sie einen Test 4 für dieses Szenario bereitstellen könnten WAN verfügbar oder Einzelheiten dazu, es wäre hilfreicher, als ihm nur einen Test für einen bestimmten Fall oder noch schlimmer, keine Fälle zu geben.
Barlop

Antworten:

56

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.

AlexC
quelle
3
pingakzeptiert auch TLDs. Daher ping google.comsollten Sie den Trick machen, falls Sie sich nicht an die vierfache Acht erinnern möchten.
Johannes Pille
38
@JohannesPille Das Pingen eines Domainnamens erfordert einen funktionierenden DNS-Server. Es könnte daher fehlschlagen, wenn die DNS-Anforderung fehlschlägt, was nicht bedeutet, dass Ihre Internetverbindung tatsächlich unterbrochen ist.
Jonathan
3
Wenn Ihr autorisierender Nameserver ausfallen würde, würde das Netz in Ihrer Zone nicht viel nützen, oder?
Johannes Pille
6
@JohannesPille Sie könnten Ihr primäres DNS auf 8.8.8.8 anstelle der DCHP-Standard überschreiben
Ratschenfreak
6
@JohannesPille pingakzeptiert keine TLDs. Es werden auch keine Domainnamen akzeptiert. Es ist nur so, dass die meisten Domainnamen auch Hostnamen sind und in eine IP-Adresse aufgelöst werden. Die Benutzer konnten also http://example.comanstelle von tippen http://www.example.com, bevor die Browser so schlau waren, www.Hostnamen voranzustellen , wenn dies überhaupt nicht funktionierte. (Versuchen Sie, ping army.milwenn Sie mir nicht glauben.)
Dubu
33

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

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

gibt "Microsoft NCSI" zurück. (Dies stellt sicher, dass Sie die korrekten Daten von einer Site erhalten können, z. B. nicht von einem Wifi-Portal oder etwas anderem).

Sie können auch überprüfen (z. B. Ping), dass dns.msftncsi.com

verweist auf 131.107.255.255 (dies bestätigt, dass DNS funktioniert).

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

NB: Sie können auch http://www.msftconnecttest.com/redirect besuchen , um sich bei Bedarf über ein Captive-Portal zu informieren.

Mark Sowul
quelle
1
+1. IIRC, Windows verfügt auch über eine API zum Überprüfen der Internetkonnektivität mithilfe dieser Methode.
Navin
7
Warum ist das nicht mehr empört? eine der wenigen wirklich guten Möglichkeiten, insbesondere für die konkrete Fragestellung. Wenn Ihr ISP Ihren Datenverkehr auf eine Warnseite umleitet, ist die Überprüfung der Antwort wie folgt eine der wenigen zuverlässigen Optionen!
Falco
Funktioniert nicht mehr
user2924019
1
Was geht nicht Die Website gibt immer noch den richtigen Text zurück, die DNS wird immer noch in die richtige IP aufgelöst, die Dokumentation gibt immer noch die richtigen Informationen zurück
Mark Sowul
Zu Ihrer Information, Sie können nicht pingen 131.107.255.255- es tritt eine Zeitüberschreitung auf. www.msftncsi.comgeht durch a1961.g2.akamai.net, was sich zum 23.59.182.83Zeitpunkt des Schreibens auflöst - ich weiß nicht, ob das eine statische IP ist oder nicht. Dies ist zwar eine gute Antwort auf die Frage "Was ist eine gute URL, um meine Internetverbindung zuverlässig zu testen?" Mit z. B. cURL oder einem Browser, es ist jedoch keine IP, die mit einem einfachen pingBefehl überprüft werden kann. Daher ist dies keine Antwort auf diese spezielle Frage.
Iono
13

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. In diesem Fall traceroute -nstelle ich beim Vergleich der Ergebnisse unter normalen und abnormalen Bedingungen fest, dass der erste Sprung zu 8.8.8.8 (oder zu einer anderen externen Site), der nicht reagiert, 151.6.68.45 ist, was Teil der Infrastruktur meines Internetdienstanbieters ist.

Durch die Verwendung der IP als „Check-alive“ Host (nach Wiederholung des Tests nur um sicher zu sein , es ist fest), kann ich einen ISP erkennen Anomalie ohne ein falsch positives , falls immer die ADSL in Ordnung ist, aber der ISP - Routing hat Probleme .

Natürlich, ich 8.8.8.8 verwenden könnte absichtlich , dass Argumentation , wenn ich nicht Infrastruktur von Google erreichen kann, ich über den Grund nicht zu kümmern , könnte ich versuchen , so gut mit dem Backup - Router.

Allgemeiner Fall

"Internet ist verfügbar" ist viel komplizierter 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. Da Sie jedoch eine numerische IP-Adresse anstelle eines Domainnamens verwenden, haben Sie sich bereits damit abgefunden, dass Sie möglicherweise über eine IP-Konnektivität verfügen und aufgrund von DNS-Problemen immer noch kein Internet haben.

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 kurzer TTL (tatsächlich ist eine TCP-Traceroute wie die von hping bereitgestellte besser) mit 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 in Windows XP zu Hause habe ich:

 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 alle Anfragen reagiert, 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.

Bei 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 isup.menur noch wach sein :-) und dann nachsehen

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

oder eine Site 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 den 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!

Genau wie am vergangenen Freitag hier in Italien.

LSerni
quelle
Wenn Sie pingen können 8.8.8.8, schalten Sie einfach Ihren DNS-Server darauf um, damit DNS-Probleme des Internetdienstanbieters keine Rolle spielen
Zeb McCorkle
2
Ja, aber Sie sollten dies erst tun, nachdem Sie überprüft haben, dass die Probleme tatsächlich DNS-basiert sind. Es gibt auch andere Probleme, bei denen das Routing auf 8.8.8.8 (oder das ICMP-Protokoll) möglicherweise intakt bleibt, während etwas anderes zerstört wird. Wenn Sie Ping 8.8.8.8 nicht ausführen, deutet dies möglicherweise nicht auf ein Routing- oder DNS-Problem hin.
LSerni
6

Wie ein Paar bereits sagte, können Sie beispielsweise den primären DNS von Google anpingen, um eine Antwort zu erhalten, ohne sich auf eine Adresse zu verlassen. Die Adresse (aus mehreren Gründen) ist möglicherweise für einen Zeitraum nicht verfügbar, 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.

Kinnectus
quelle
3

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.

Zeph
quelle
3

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

rsenn
quelle
3
4.2.2.2 ist einfacher zu tippen
user1886419
Dieser tummy.com/articles/famous-dns-server erwähnt, dass er nicht für die öffentliche Verwendung bestimmt ist.
Kevinf
2

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.

vonbrand
quelle
Dies ist nur gültig, wenn Sie wissen, dass der DNS-Server des Internetdienstanbieters auf Ping antwortet. Es kann gut funktionieren, aber ICMP blockieren.
Olli
Dies ist die einfachste und beste Antwort, IMO.
Njbair