Я пытаюсь пропинговать мой веб-сайт, http://www.example.com/
и он разрешает неизвестный IP-адрес и время ожидания.
PING http://www.example.com/ (198.105.254.228): 56 data bytes
Request timeout for icmp_seq 0
Request timeout for icmp_seq 1
Request timeout for icmp_seq 2
но когда я пинг example.com
это работает
Что мне здесь не хватает?
ping
иgetaddrinfo()
и друзья проходят через косые черты, не знали , что56 data bytes
является общим по умолчанию, и т.д .: Пожалуйста , примите это как знак что ваши усилия узнать больше о вещах, прежде чем пытаться помочь, будут оценены.Ответы:
Я пытаюсь проверить связь с моим сайтом http://www.example.com/, и он разрешает неизвестный IP-адрес и время ожидания истекает.
Аргументом ping является имя хоста (или IP-адрес).
Таким образом, следующее будет работать:
С другой стороны,
не будет работать, так как http://www.example.com/ является унифицированным локатором ресурсов HTTP (URL) и не является допустимым именем хоста (хотя часть его является именем хоста).
URL-адрес HTTP состоит из 4 частей:
Ping обычно не распознает URL-адреса как действительные имена хостов назначения.
Примечания :
Не все URL имеют формат, упомянутый выше.
Полный URL состоит из спецификатора схемы именования, за которым следует строка, формат которой является функцией схемы именования.
Формат URL определен в спецификации IETF Унифицированные указатели ресурсов (URL)
DNS угон
Исключение из вышеперечисленного может произойти, если DNS-сервер (который разрешает имена хостов в IP-адреса) настроен на возвращение действительного IP-адреса, даже если указано неверное имя хоста.
Это может произойти, если интернет-провайдер захватывает ваши DNS-запросы.
Из ответа Почему ping разрешается в IP 198.105.254.228 для любого случайного имени хоста, которое я печатаю? от Michael Hampton :
источник
Когда вы запускаете команду ping со строкой, которая не является IP-адресом, сначала необходимо разрешить IP-адрес хоста, на который вы пытаетесь пропинговать.
Когда вы бежите:
$ ping example.com
DNS-сервер возвращает IP-адрес сервера, на котором размещен веб-сайт.
Однако при добавлении префикса к протоколу и пути создается стандартный http-URL, который отправляется на DNS-сервер для разрешения.
Поэтому вместо того, чтобы DNS-сервер находил запись,
example.com
он ищет запись,http://example.com/
которая не является допустимым именем хоста.Многие DNS-серверы вернутся ни с чем. В этом случае команда ping просто выдаст ошибку разрешения DNS.
Однако ваш DNS-сервер возвращает IP-адрес
123.456.789.000
. Похоже, что адрес Time Warner Cable предназначен для пользователей, которые неправильно набрали URL в своем браузере.Но команда ping принимает это буквально и считает, что имя хоста
http://example.com/
(которое не является допустимым именем хоста) разрешается в адрес123.456.789.000
.Причина истечения времени ожидания команды ping заключается в том, что
123.456.789.000
она не отвечает на запросы ICMP.источник
Http: // обозначает протокол передачи гипертекста, протокол, используемый для доступа к веб-страницам. Проверка связи с сервером не использует HTTP, а вместо этого состоит из сообщения ICMP (протокол управляющих сообщений в Интернете), поэтому http: // не имеет смысла в этом контексте.
источник
Request timeout for icmp_seq 0
вы можете увидеть там ICMP, то есть последовательность ICMP 0, 1, 2 ...Почему бы вам использовать «пинг» в любом случае. Это не будет работать, если есть брандмауэр, блокирующий трафик ping.
По моему мнению, если вы собираетесь тестировать веб-сервер, то лучше использовать «telnet», тогда вы можете проверить хост и порт, который он должен прослушивать.
Например: чтобы проверить ваш веб-сервер telnet www.mywebserver.com 80 на пустом экране, введите «get», а затем «enter», и вы получите ответ http от веб-сервера. ( например: HTTP / 1.1 400 Bad Request ... )
Это говорит мне о том, что сервер не только работает, но и прослушивает порт 80 и отвечает на него (я также ожидал, что любые брандмауэры пропустят порт 80 на мой веб-сервер)
Точно так же telnet также работает для тестирования почтовых серверов, ftp и всего остального.
источник