Quelle est une adresse IP fiable externe à utiliser pour vérifier si Internet est disponible? [fermé]


53

Existe-t-il un serveur commun toujours actif, que je peux configurer pour effectuer un ping en mode automatique afin de détecter la présence d'Internet? Vous aimez Google ou quelque chose? Peut-être 8.8.8.8?

Ma situation spécifique est que j'utilise un double routeur WAN. Chaque réseau étendu est connecté à l'un des FAI. Lorsque mon argent se termine sur l'un des FAI, il ne bloque pas le canal. Au lieu de cela, il redirige vers une page d'avertissement. Le routeur pense donc qu'Internet est activé, car les données voyagent. Une autre option pour ce routeur est de faire un ping pour une adresse afin de vérifier si Internet est allumé.

Je me demande si je lance un ping sur 8.8.8.8. Google ne me bannira-t-il pas pour une utilisation inappropriée? Je soupçonne que Google pourrait avoir des quotas. Si je fais un ping trop souvent sur ses serveurs de noms, je vais parfois avoir des refus de DNS.


1
Je vous suggère de tester ce que vous voulez réellement. Que voulez-vous dire par "Internet disponible"?
David Schwartz

1
@ DavidSchwartz il signifie que l'Internet n'est pas indisponible. Si vous souhaitez un test spécifique, la plupart du temps sera basé sur le WAN, ce qui ne constitue pas une option de test, car le mur est dépassé, mais le FAI le saura.
barlop

5
ping stackexchange.com;)

6
@barlop C'est un peu drôle, mais pas utile. Que signifie "Internet n'est pas disponible"? Si je ne parviens pas à accéder au site Web de Google, "Internet n'est-il pas disponible"? Si le DNS fonctionne mais pas les pages Web, Internet est-il disponible? La première étape pour répondre à une question consiste à la comprendre.
David Schwartz

4
@DavidSchwartz Je ne plaisantais pas, et considérant qu'il parle de faire un test de test d'une adresse IP liée à Google, et non de faire un test de domaine comme www.google.com, il signifie évidemment que dans le cas où le DNS est indisponible, mais Tout le reste est disponible, alors il considère que l’Internet est disponible.n’est pas indisponible.Si vous voulez trouver un point d’interrogation, c’est b si un routeur de mauvaise qualité est «Internet indisponible» mais évidemment si vous pouvez fournir un test 4 ce scénario vs WAN disponible, ou des détails à ce sujet, il serait plus utile que de lui donner un test pour un cas spécifique ou pire, aucun cas.
barlop

Réponses:


56

Essayez d’envoyer une requête ping à 8.8.8.8, c’est le serveur DNS principal de Google. Je fais toujours un ping pour vérifier ma connexion et je ne l'ai jamais trouvée. Sinon, vous pouvez essayer 8.8.4.4, qui est le DNS secondaire de Google.


3
pingaccepte également les TLD. Par conséquent, ping google.comdevrait faire l'affaire, au cas où vous ne voudriez pas vous souvenir du quadruple huit.
Johannes Pille

38
@JohannesPille La commande ping d'un nom de domaine nécessite un serveur DNS opérationnel. Cela pourrait donc échouer si la requête DNS échouait, ce qui n'implique pas que votre connexion Internet est réellement hors service.
Jonathan

3
Si votre serveur de noms faisant autorité était en panne, le réseau de votre zone ne serait pas d'une grande utilité, n'est-ce pas?
Johannes Pille

6
@JohannesPille vous pouvez remplacer votre DNS primaire 8.8.8.8 au lieu de la valeur par défaut DCHP
freak cliquet

6
@JohannesPille pingn'accepte pas les TLD. De plus, il n'accepte pas les noms de domaine. C'est juste pour que la plupart des noms de domaine soient aussi des noms d'hôtes et résolus en une adresse IP. Ainsi, les gens pouvaient taper http://example.comau lieu de http://www.example.com, avant que les navigateurs ne soient si intelligents, ils préféraient ajouter www.un nom d’hôte s’il ne fonctionnait pas. (Essayez ping army.milsi vous ne me croyez pas.)
Dubu

33

Vous pouvez faire ce que Microsoft fait: vérifiez que

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

renvoie "Microsoft NCSI". (Ceci vérifie que vous pouvez obtenir les données correctes d'un site, par exemple pas un portail Wifi ou autre chose).

Vous pouvez également vérifier (par exemple, ping) que dns.msftncsi.com

pointe sur 131.107.255.255 (cela vérifie que DNS fonctionne).

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

NB: Vous pouvez également visiter le site http://www.msftconnecttest.com/redirect pour accéder à un portail captif si nécessaire.


1
+1 IIRC, Windows dispose également d’une API permettant de vérifier le niveau de connectivité Internet à l’aide de cette méthode.
Navin

7
Pourquoi n'est-ce pas plus voté? un des rares très bons moyens, en particulier pour la question spécifique. Si votre FAI redirige votre trafic vers une page d'avertissement, vérifier la réponse comme ceci est l'une des rares options fiables!
Falco

Ne fonctionne plus
user2924019

1
Qu'est-ce qui ne marche pas? Le site renvoie toujours le bon texte, le DNS se résout toujours à la bonne adresse IP, la documentation renvoie toujours la bonne information
Mark Sowul

FYI vous ne pouvez pas cingler 131.107.255.255- il expire. www.msftncsi.compasse a1961.g2.akamai.net, ce qui résout 23.59.182.83au moment de l'écriture - je ne sais pas si c'est une adresse IP statique ou non. Bien que ceci soit une bonne réponse à la question "quelle est une bonne URL pour tester de manière fiable ma connexion Internet" avec par exemple cURL ou un navigateur, ce n'est pas une adresse IP qui peut être vérifiée avec une simple pingcommande, donc ce n'est pas une réponse à cette question spécifique.
iono

13

Cas particulier

Vous souhaitez envoyer une requête ping à l'adresse IP fixe "la plus proche" qui n'est pas routable lorsque le fournisseur de services Internet entre en état de surcharge du trafic. Sur mon système, je peux émuler cette situation en échouant à l'authentification ADSL. Dans ce cas, en comparant les résultats de traceroute -ndans des conditions normales et anormales, je constate que le premier saut effectué vers 8.8.8.8 (ou tout site Web externe) qui ne répond pas est 151.6.68.45, ce qui fait partie de l'infrastructure de mon fournisseur de services Internet.

En utilisant cette adresse IP en tant qu'hôte "check-alive" (après avoir répété le test juste pour être sûr qu'il est corrigé), je peux détecter une anomalie ISP sans obtenir de faux positif au cas où l'ADSL est correct, mais le routage ISP a des problèmes .

Bien sûr, je pourrais utiliser 8.8.8.8 exprès , en pensant que si je ne peux pas accéder à l'infrastructure de Google, peu importe la raison , je pourrais aussi bien essayer avec le routeur de secours.

Cas général

"Internet is available" est une chose beaucoup plus compliquée que simplement "Est-ce que 8.8.8.8 (ou autre IP) est accessible".

Pour un contrôle rapide, sale et pas toujours fiable, il est bon d’envoyer une requête en 8.8.8.8. Mais vu que vous utilisez une adresse IP numérique au lieu d'un nom de domaine, vous vous êtes déjà rendu compte que vous disposiez peut-être d'une connectivité IP et que vous n'aviez toujours pas accès à Internet à cause de problèmes de DNS.

Un diagnostic complet devrait commencer près de votre PC.

  • interroger la configuration du réseau local et récupérer la passerelle et le serveur DNS.
  • cingler la passerelle. Il devrait être accessible. Sinon, il y a un problème local.
  • lancer un traceroute avec TTL court (en fait, un traceroute TCP tel que celui fourni par hping est meilleur) d'une adresse sûrement externe, 8.8.8.8 est correct.
  • vous voulez voir qu'après la passerelle, certains nœuds supplémentaires répondent.

Par exemple, sous Windows XP à la maison, j'ai:

 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

Maintenant, essayez de faire un ping DNS. Il devrait être accessible. Mieux encore, lancez une simple vérification DNS. Afin d'éviter les caches DNS, j'utilise parfois un domaine qui répond à toutes les requêtes, quoi qu'il arrive . Donc par exemple

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

tandis que si le serveur DNS n'est pas fiable, la même requête peut renvoyer l'adresse du portail captif pour le wifi

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

ou 127.0.0.1, voire une erreur.

En cas d'échec du DNS, je peux essayer un traceroute de l'adresse IP du DNS (ou un autre DNS tel que celui d'OpenDNS). Cela ne me dira pas seulement si le problème vient du DNS ou du FAI, cela me permettra souvent de contourner l'interruption.

Si tout se passe bien à ce stade, je sais que la connexion fonctionne normalement. il peut encore échouer pour certains sites. Tout ce dont j'ai besoin maintenant, c'est isup.med'être debout :-), puis de vérifier

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

ou un site tel que Down Detector me tiendra informé de la "météo Internet".

En fait, sur mon serveur domestique, il y a un cache Squid et la page d'erreur contient les dernières données extraites avec succès des statistiques sur le site, de sorte que je peux voir quelque chose comme:

                Google.com is not reachable

                STORM ALERT: 12 out of 14 sites are unreachable!

comme ce fut le cas vendredi dernier ici en Italie.


Si vous parvenez à effectuer un ping 8.8.8.8, il suffit de basculer votre serveur DNS sur celui-ci pour que les problèmes DNS des fournisseurs de services Internet ne comptent pas
Zeb McCorkle

2
Oui, mais vous ne devriez le faire qu'après avoir vérifié que les problèmes sont bien basés sur DNS. Il existe d’autres types de problèmes qui risquent de laisser intact le routage vers 8.8.8.8 (ou le protocole ICMP) tout en détruisant quelque chose d’autre. Inversement, l'échec de l'envoi de la requête 8.8.8.8 peut ne pas indiquer du tout un problème de routage ou DNS.
LSerni

6

Comme un couple l’a dit, vous pouvez envoyer une requête ping au DNS principal de Google pour obtenir une réponse, mais ne vous fiez pas à une seule adresse. L'adresse (pour un certain nombre de raisons) peut être indisponible pendant une certaine période au cours de laquelle votre logiciel ne signale "aucune connectivité", alors qu'en fait, votre connectivité réseau peut ne pas rencontrer de problèmes. Vous devez toujours essayer de communiquer avec plusieurs adresses afin d’éliminer les faux négatifs.

J'écrirais une fonction qui pince une adresse une fois, si cela échoue, passez à une autre (jusqu'à, par exemple, trois adresses IP) et dès que vous obtenez quelques réponses positives, la fonction doit notifier à votre application / script qu'Internet est disponible et Continuez.


3

Lorsque je travaillais pour une entreprise disposant d’une connexion Internet floconneuse, j’avais un script qui testait la connectivité de plusieurs serveurs "toujours actifs": le routeur / commutateur LAN, puis le serveur de fichiers local, puis le routeur T1, puis le DNS du FAI, puis Google. J'ai testé les deux derniers en tant qu'adresses numériques et domaines, afin de vérifier les problèmes DNS par rapport au ping en tant que tel. Si l'une des pings échouait trop souvent, j'avais une idée de l'endroit où le problème de connexion à Internet était le plus susceptible d'exister.

Pour l'adresse numérique de Google, je viens d'utiliser celle que j'avais obtenue de nslookup auparavant. Je n'ai jamais rencontré de problème. Je suppose que 8.8.8.8 serait plus simple.

Assez souvent, lorsque des gens appelaient pour dire «Internet était en panne», il s’avérait que seul DNS était en panne; Nous pourrions appeler ces différentes choses, mais du point de vue de mes collègues, Internet n'était pas disponible dans les deux cas.



2

Essayez votre serveur DNS, vous en aurez quand même besoin (et la connexion externe de votre fournisseur de services Internet est peut-être en panne). Cela dépend vraiment de ce que vous voulez. Si vous devez accéder à un service spécifique, cochez-le.


Cela n’est valable que si vous savez que le serveur DNS du FAI répond au ping. Cela fonctionne peut-être, mais bloquez ICMP.
Olli

C’est la réponse la plus simple et la meilleure, IMO.
njbair
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.