Czy jest dostępny jakiś wspólny serwer, który zawsze mogę skonfigurować do pingowania w trybie automatycznym w celu wykrycia Internetu? Jak Google czy coś? Może być 8.8.8.8?
Moja szczególna sytuacja polega na tym, że korzystam z podwójnego routera WAN. Każda sieć WAN jest podłączona do jednego z dostawców usług internetowych. Kiedy moje pieniądze kończą się na jednym z dostawców usług internetowych, nie blokuje kanału. Zamiast tego przekierowuje do strony z ostrzeżeniem. Router uważa więc, że Internet jest włączony, ponieważ przesyłane są dane. Inną opcją dla tego routera jest polecenie ping dla jakiegoś adresu, aby sprawdzić, czy Internet jest włączony.
Zastanawiam się, czy jeśli wyślę ping 8.8.8.8, czy nie zostanę zbanowany przez Google za niewłaściwe użycie? Podejrzewam, że Google może mieć pewne kwoty. Jeśli zbyt często będę pingować to serwery nazw, czasami otrzymam odrzucenia DNS.
źródło
ping stackexchange.com
;)Odpowiedzi:
Spróbuj pingować 8.8.8.8, to główny serwer DNS Google. Zawsze sprawdzam ping, aby zweryfikować połączenie i nigdy go nie znalazłem. Alternatywnie możesz wypróbować wersję 8.8.4.4, którą jest pomocniczy DNS Google.
źródło
ping
akceptuje również domeny TLD. Dlategoping google.com
powinieneś załatwić sprawę, na wypadek gdybyś nie chciał pamiętać o poczwórnej ósemce.ping
nie akceptuje TLD. Nie akceptuje także nazw domen. Jest tak, że większość nazw domen to także nazwy hostów i są one przekształcane na adresy IP. Aby ludzie mogli pisaćhttp://example.com
zamiasthttp://www.example.com
, zanim przeglądarki były tak inteligentne,www.
aby dodać nazwę hosta, jeśli w ogóle nie działała. (Spróbuj,ping army.mil
jeśli mi nie wierzysz).Możesz zrobić to, co robi Microsoft: sprawdź to
http://www.msftncsi.com/ncsi.txt
zwraca „Microsoft NCSI”. (To potwierdza, że możesz uzyskać prawidłowe dane ze strony, np. Nie z portalu Wi-Fi lub czegoś innego).
Możesz także sprawdzić (np. Ping), że dns.msftncsi.com
wskazuje na 131.107.255.255 (weryfikuje to, czy DNS działa).
Zobacz http://technet.microsoft.com/en-us/library/ee126135
Uwaga: Możesz także odwiedzić stronę http://www.msftconnecttest.com/redirect, aby w razie potrzeby przejść przez portal do niewoli.
źródło
131.107.255.255
- upłynął limit czasu.www.msftncsi.com
przechodzia1961.g2.akamai.net
, co rozwiązuje się23.59.182.83
w momencie pisania - nie wiem, czy to statyczne IP, czy nie. Chociaż jest to dobra odpowiedź na pytanie „co to jest dobry adres URL, aby niezawodnie przetestować moje połączenie internetowe” za pomocą np. CURL lub przeglądarki, nie jest to adres IP, który można sprawdzić za pomocą prostegoping
polecenia, więc nie jest to odpowiedź na to konkretne pytanie.Przypadek szczególny
Chcesz pingować „najbliższy” stały adres IP, który nie jest routowalny, gdy dostawca usług internetowych wejdzie w stan przeciążenia ruchu. W moim systemie mogę emulować tę sytuację, nie udając uwierzytelnienia ADSL. W takim przypadku, porównując wyniki
traceroute -n
w warunkach normalnych i anormalnych, widzę, że pierwszy skok do 8.8.8.8 (lub jakakolwiek zewnętrzna strona), który nie odpowiada, to 151,6.68.45, który jest częścią infrastruktury mojego dostawcy usług internetowych.Używając tego adresu IP jako hosta „sprawdzającego przy życiu” (po powtórzeniu testu, aby upewnić się, że został naprawiony), mogę wykryć anomalię dostawcy usług internetowych bez uzyskiwania fałszywego wyniku na wypadek, gdyby ADSL było OK, ale routing dostawcy usług internetowych ma problemy .
Oczywiście mógłbym celowo użyć wersji 8.8.8.8 , rozumując, że jeśli nie mogę uzyskać dostępu do infrastruktury Google, nie dbam o przyczynę , równie dobrze mogę spróbować z routerem zapasowym.
Ogólna sprawa
„Internet jest dostępny” jest znacznie bardziej skomplikowaną rzeczą niż po prostu „Czy można uzyskać dostęp do 8.8.8.8 (lub innego adresu IP)”.
Dla szybkiego, brudnego i nie zawsze niezawodnego sprawdzania, pingowanie 8.8.8.8 jest dobre. Ale widząc, jak używasz numerycznego adresu IP zamiast nazwy domeny, już zrozumiałeś, że możesz mieć połączenie IP i nadal „nie ma Internetu” z powodu problemów z DNS.
Pełna diagnostyka musiałaby rozpocząć się blisko komputera.
Na przykład w systemie Windows XP w domu mam:
Teraz spróbuj pingować DNS. Powinien być osiągalny. Co więcej, uruchom proste sprawdzanie DNS. Aby uniknąć pamięci podręcznej DNS, czasami używam domeny, która odpowie na wszystkie zapytania bez względu na wszystko. Na przykład
podczas gdy jeśli serwer DNS jest zawodny, to samo zapytanie może zwrócić adres portalu dostępowego dla Wi-Fi
lub 127.0.0.1, a nawet błąd.
W przypadku awarii DNS mogę wypróbować traceroute adresu IP DNS (lub innego DNS, takiego jak OpenDNS). To nie tylko powie mi, czy problemem jest DNS, czy ISP, ale często pozwoli mi obejść przerwę.
Jeśli w tym momencie wszystko pójdzie dobrze, wiem, że połączenie jest ogólnie sprawne; wciąż może się nie powieść w przypadku niektórych witryn. Teraz muszę
isup.me
tylko wstać :-), a potem sprawdzićlub strona taka jak Down Detector informuje mnie o „pogodzie w Internecie”.
Właściwie na moim serwerze domowym jest pamięć podręczna Squid, a strona błędu zawiera ostatnie dane pomyślnie pobrane ze statystyk w dół strony, więc mogę zobaczyć coś takiego
tak jak to się stało w ostatni piątek tutaj we Włoszech.
źródło
8.8.8.8
, po prostu przełącz na ten serwer DNS, aby problemy z ISP DNS nie miały znaczeniaJak powiedzieli niektórzy, możesz pingować, powiedzmy, główny DNS Google, aby uzyskać odpowiedź, ale nie polegaj na jednym adresie. Adres (z wielu powodów) może być wyłączony przez pewien czas, podczas którego oprogramowanie zgłosi „brak łączności”, podczas gdy w rzeczywistości połączenie sieciowe może nie mieć żadnych problemów. Zawsze należy próbować komunikować się z więcej niż jednym adresem, aby wykluczyć fałszywe negatywy.
Napiszę funkcję, która wysyła ping do adresu jeden raz, jeśli to się nie powiedzie, przejdź do innego (do, powiedzmy, trzech adresów IP), a gdy otrzymasz kilka pozytywnych odpowiedzi, funkcja powinna powiadomić twoją aplikację / skrypt, że Internet jest dostępny i dalej.
źródło
Kiedy pracowałem dla organizacji z płatnym połączeniem internetowym, miałem skrypt, który testował kilka „zawsze działających” serwerów pod kątem łączności: najpierw router / przełącznik LAN, potem lokalny serwer plików, potem router T1, potem DNS ISP, potem Google. Dwa ostatnie testowałem jako adresy numeryczne i jako domeny, aby sprawdzić problemy DNS z pingami per se. Jeśli któryś z pingów zbyt często zawodzi, mam pojęcie, gdzie najprawdopodobniej wystąpił problem z połączeniem z Internetem.
Jako adresu numerycznego dla Google użyłem właśnie tego, który wcześniej otrzymałem z nslookup - nigdy nie natknąłem się na przypadek, w którym był wyłączony. Przypuszczam, że 8.8.8.8 byłoby prostsze.
Dość często, gdy ludzie dzwonili, aby powiedzieć, że „Internet nie działa”, okazało się, że tylko DNS był wyłączony; moglibyśmy to nazwać, ale z punktu widzenia moich kolegów internet nie był dostępny w obu przypadkach.
źródło
Używam 4.2.2.1 od ponad 10 lat. Wcześniej istniała publiczna usługa DNS Google. Wygląda na to, że jest to niezawodna pamięć podręczna DNS i odpowiadający na ICMP.
źródło
Wypróbuj swój serwer DNS, i tak będziesz go potrzebował (a połączenie zewnętrzne Twojego usługodawcy internetowego może być nieczynne). To naprawdę zależy od tego, czego chcesz. Jeśli chcesz uzyskać dostęp do konkretnej usługi, sprawdź ją.
źródło