What is a external reliable IP address to ping to check if internet is available?
Rise to the top 3% as a developer or hire one of them at Toptal: https://topt.al/25cXVn
--------------------------------------------------
Music by Eric Matyas
https://www.soundimage.org
Track title: Flying Over Ancient Lands
--
Chapters
00:00 What Is A External Reliable Ip Address To Ping To Check If Internet Is Available?
00:54 Accepted Answer Score 59
01:20 Answer 2 Score 40
02:04 Answer 3 Score 15
05:48 Answer 4 Score 7
06:37 Answer 5 Score 4
06:54 Thank you
--
Full question
https://superuser.com/questions/769005/w...
--
Content licensed under CC BY-SA
https://meta.stackexchange.com/help/lice...
--
Tags
#networking #internet
#avk47
ACCEPTED ANSWER
Score 59
Try to ping 8.8.8.8
, it's Google primary DNS
server.
I always ping it to verify my connection and I never found it down.
Alternatively you can try 8.8.4.4
, which is Google secondary DNS
.
ANSWER 2
Score 40
You can do what Microsoft
does: check that
http://www.msftncsi.com/ncsi.txt
returns "Microsoft NCSI". (This verifies that you can get the correct data from a site, e.g. not a Wifi portal or something else).
You can also check (e.g. ping) that dns.msftncsi.com
points to 131.107.255.255
(this verifies that DNS is working).
See http://technet.microsoft.com/en-us/library/ee126135
NB: You can also visit http://www.msftconnecttest.com/redirect to get yourself through a captive portal if needed.
ANSWER 3
Score 15
Specific case
You want to ping the "nearest" fixed IP that is non-routable when the ISP enters traffic overload state. On my system I can emulate this situation by failing the ADSL authentication. In that case, by comparing the results of traceroute -n
in normal and abnormal conditions, I see that the first hop to 8.8.8.8 (or any surely external site) that does not respond is 151.6.68.45, which is part of my ISP's infrastructure.
By using that IP as a "check-alive" host (after repeating the test just to be sure it is fixed), I can detect an ISP anomaly without getting a false positive in case the ADSL is OK, but the ISP routing has troubles.
Of course, I could use 8.8.8.8 on purpose, reasoning that if I can't reach Google's infrastructure, I don't care about the reason, I might as well try with the backup router.
General case
"internet is available" is a much more complicated thing than simply "Is 8.8.8.8 (or other IP) reachable".
For a quick, dirty and not always reliable check, pinging 8.8.8.8 is good. But seeing as how you use a numeric IP instead of a domain name, you've already cottoned up to the fact that you might have IP connectivity and still "no Internet" because of DNS problems.
A complete diagnostic would have to start close to your PC.
- query local network configuration and retrieve gateway and DNS server.
- ping the gateway. It should be reachable. If not, there's a local problem.
- run a traceroute with short TTL (actually, a TCP traceroute such as the one provided by hping is better) of a surely external address, 8.8.8.8 is okay.
- you want to see that, after your gateway, some extra nodes are responding.
For example in Windows XP at home I have:
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
Now try pinging DNS. It should be reachable. Even better, run a simple DNS check. In order to avoid DNS caches, I sometimes use some domain which will answer to all queries no matter what. So for example
$ host randomasdfdsasdqwerty987667.godaddy.com
randomasdfdsasdqwerty987667.godaddy.com has address 97.74.104.201
while if the DNS server is unreliable, the same query might return the address of the captive portal for wifi
$ host randomasdfdsasdqwerty987667.godaddy.com
captiveportal.homenet has address 192.168.4.200
or 127.0.0.1, or even an error.
In case of DNS failures I may try a traceroute of the DNS IP address (or a different DNS such as OpenDNS's ones). That will not only tell me whether the problem is the DNS or the ISP, it will often allow me to work around the interruption.
If everything goes OK at this point I know that the connection is in working order, in general; it may still fail for some sites. All I need now is for isup.me
to be up :-), then checking
http://www.isup.me/www.google.com
http://www.isup.me/mail.google.com
or a site such as Down Detector will keep me informed about the "Internet weather".
Actually, on my home server there's a Squid cache and the error page contains the last data retrieved successfully from down-site statistics, so I may see something like
Google.com is not reachable
STORM ALERT: 12 out of 14 sites are unreachable!
just as it happened this last Friday here in Italy.
ANSWER 4
Score 7
As a couple have said, you can ping, say, the Google primary DNS to obtain a response but do not rely on one address. The address (for a number of reasons) may be down for a period of time, during which your software will report "no connectivity", when, in fact, your network connectivity may not be experiencing any problems. You should always attempt to communicate with more than one address so you can rule out false negatives.
I would write a function that pings an address once, if that fails move on to another (up to, say, three IPs) and the moment you get a couple of positive replies the function should notify your application/script that Internet is available and continue.
ANSWER 5
Score 4
I've been using 4.2.2.1
for more than over 10 years, before there was Googles' public DNS service.
It seems to be a reliable DNS cache and ICMP responder.