Есть ли какой-нибудь общий постоянно работающий сервер, который я могу настроить для пинга в автоматическом режиме, чтобы обнаружить доступный интернет? Нравится Google или что-то? Может быть 8.8.8.8?
Моя конкретная ситуация заключается в том, что я использую двойной маршрутизатор WAN. Каждый WAN подключен к одному из интернет-провайдеров. Когда мои деньги заканчиваются на одном из интернет-провайдеров, он не блокирует канал. Вместо этого он перенаправляет на страницу с предупреждением. Итак, маршрутизатор считает, что интернет включен, потому что данные путешествуют. Другой вариант для этого маршрутизатора - пинговать некоторый адрес, чтобы проверить, включен ли интернет.
Интересно, если я пингую 8.8.8.8, не будет ли я забанен Google за ненадлежащее использование? Я подозреваю, что Google может иметь некоторые квоты. Если я буду пинговать его серверы имен слишком часто, то я буду иногда получать отказы DNS.
источник
ping stackexchange.com
;)Ответы:
Попробуйте пинговать 8.8.8.8, это основной DNS-сервер Google. Я всегда пингую его, чтобы проверить мое соединение, и я так и не нашел его. В качестве альтернативы вы можете попробовать 8.8.4.4, который является вторичным DNS Google.
источник
ping
также принимает TLD. Следовательно,ping google.com
надо делать свое дело, если вы не хотите вспомнить четверку восьмого.ping
не принимает TLD. Он также не принимает доменные имена. Это просто так, что большинство доменных имен также являются именами хостов и разрешаются в IP-адрес. Таким образом, люди могли печататьhttp://example.com
вместоhttp://www.example.com
, прежде чем браузеры стали настолько умными, чтобы присоединитьсяwww.
к имени хоста, если оно не сработало. (Постарайтесь,ping army.mil
если вы мне не верите.)Вы можете сделать то, что делает Microsoft: проверьте, что
http://www.msftncsi.com/ncsi.txt
возвращает "Microsoft NCSI". (Это подтверждает, что вы можете получить правильные данные с сайта, например, не с портала Wi-Fi или чего-то еще).
Вы также можете проверить (например, ping), что dns.msftncsi.com
указывает на 131.107.255.255 (это подтверждает, что DNS работает).
См. Http://technet.microsoft.com/en-us/library/ee126135
NB. Вы также можете посетить веб- сайт http://www.msftconnecttest.com/redirect, чтобы в случае необходимости получить доступ к встроенному порталу.
источник
131.107.255.255
- время истекло.www.msftncsi.com
проходитa1961.g2.akamai.net
, что решает23.59.182.83
на момент написания - я не знаю, является ли это статический IP или нет. Хотя это хороший ответ на вопрос «что такое хороший URL для надежной проверки моего интернет-соединения», например, с помощью cURL или браузера, это не IP, который можно проверить с помощью простойping
команды, поэтому он не является ответом на этот конкретный вопрос.Особый случай
Вы хотите пропинговать «ближайший» фиксированный IP-адрес, который не маршрутизируется, когда провайдер входит в состояние перегрузки трафика. В моей системе я могу эмулировать эту ситуацию, не пройдя аутентификацию ADSL. В этом случае, сравнивая результаты
traceroute -n
в нормальных и ненормальных условиях, я вижу, что первый переход к 8.8.8.8 (или любому внешнему сайту), который не отвечает, - 151.6.68.45, который является частью инфраструктуры моего провайдера.Используя этот IP в качестве «проверки активности» хозяина (после того, как повторить тест , просто чтобы убедиться , что это фиксировано), можно обнаружить ISP аномалии без получения ложного положительного в случае ADSL в порядке, но маршрутизация ISP имеет проблемы ,
Конечно, я мог бы использовать 8.8.8.8 специально , полагая, что если я не смогу добраться до инфраструктуры Google, меня не волнует причина , я мог бы также попытаться использовать резервный маршрутизатор.
Общий случай
«Интернет доступен» - гораздо более сложная вещь, чем просто «Доступен ли 8.8.8.8 (или другой IP)».
Для быстрой, грязной и не всегда надежной проверки пинг 8.8.8.8 хорош. Но, видя, как вы используете числовой IP вместо доменного имени, вы уже смирились с тем фактом, что у вас может быть IP-соединение и все еще «нет Интернета» из-за проблем с DNS.
Полная диагностика должна начинаться рядом с вашим ПК.
Например в Windows XP дома у меня есть:
Теперь попробуйте пинговать DNS. Это должно быть достижимо. Еще лучше запустить простую проверку DNS. Чтобы избежать кеширования DNS, я иногда использую какой-то домен, который будет отвечать на все запросы, несмотря ни на что. Так например
в то время как если DNS-сервер ненадежен, тот же запрос может вернуть адрес встроенного портала для Wi-Fi
или 127.0.0.1, или даже ошибка.
В случае сбоев DNS я могу попробовать трассировать IP-адрес DNS (или другой DNS, такой как OpenDNS). Это не только скажет мне, является ли проблема DNS или провайдером, но и позволит мне обойти прерывание.
Если в этот момент все идет хорошо, я знаю, что соединение в целом исправно; это все еще может потерпеть неудачу для некоторых сайтов. Все, что мне нужно сейчас, это
isup.me
чтобы проснуться :-), затем проверитьили такой сайт, как Down Detector, будет информировать меня о погоде в Интернете.
На самом деле, на моем домашнем сервере есть кеш Squid, а страница ошибок содержит последние данные, успешно извлеченные из статистики сайта, поэтому я могу увидеть что-то вроде
как это случилось в прошлую пятницу здесь, в Италии.
источник
8.8.8.8
, просто переключите ваш DNS-сервер, чтобы проблемы с DNS-провайдерами не имели значенияКак уже было сказано парой, вы можете пропинговать, скажем, первичный DNS Google, чтобы получить ответ, но не полагаться на один адрес. Адрес (по ряду причин) может быть недоступен в течение некоторого периода времени, в течение которого ваше программное обеспечение будет сообщать об отсутствии соединения, когда на самом деле ваше сетевое соединение может не испытывать никаких проблем. Вы всегда должны пытаться общаться с более чем одним адресом, чтобы исключить ложные отрицания.
Я написал бы функцию, которая пингует адрес один раз, если он не переходит на другой (скажем, до трех IP-адресов), и как только вы получите пару положительных ответов, функция должна уведомить ваше приложение / скрипт о том, что Интернет доступен и Продолжить.
источник
Когда я работал в организации с нестабильным подключением к Интернету, у меня был сценарий, который проверял несколько «всегда работающих» серверов на предмет подключения: сначала маршрутизатор / коммутатор LAN, затем локальный файловый сервер, затем маршрутизатор T1, затем DNS провайдера, тогда гугл. Я проверил последние два как числовые адреса и как домены, чтобы проверить проблемы DNS против пинга как такового. Если какой-либо из пингов не удавался слишком часто, я понял, где проблема с подключением к Интернету, скорее всего, существует.
В качестве числового адреса для Google я просто использовал тот, который я получил от nslookup ранее - я никогда не сталкивался с делом, где он был недоступен. Я полагаю, что 8.8.8.8 будет проще.
Довольно часто, когда люди звонили, чтобы сказать, что «Интернет не работает», оказывалось, что только DNS был недоступен; мы могли бы назвать эти разные вещи, но с точки зрения моих коллег, Интернет не был доступен ни в одном случае.
источник
Я использую 4.2.2.1 более 10 лет. До того, как появился публичный DNS-сервис Googles. Кажется, это надежный DNS-кеш и ICMP-ответчик.
источник
Попробуйте свой DNS-сервер, он вам все равно понадобится (и внешнее соединение вашего провайдера может быть разорвано). Это действительно зависит от того, что вы хотите. Если вам нужен доступ к конкретной услуге, проверьте ее.
источник