Можете ли вы получить ответ с HTTPS-сайта с помощью команды Ping?
51
Я попытался использовать pingкоманду на httpsстранице, но в сообщении говорится, что pingне удалось найти хост. Есть ли какие-то проблемы в отношении pingи https?
Краткий ответ: Ping и HTTPS не имеют ничего общего. Ping - это сетевой инструмент низкого уровня, тогда как HTTPS - это протокол прикладного уровня (или, скорее, схема URI).
slhck
4
Если вы хотите проверить, правильно ли отвечает ваш ssl-сайт, используйте openssl следующим образом: "openssl s_client -connect google.com:443" Затем вы можете выполнить команду GET, а затем два нажатия на клавишу возврата, например: "GET / HTTP /1.1"
Shadok
1
На тот случай, если кто-нибудь придет сюда в поисках ping-подобного инструмента для https, я просто написал один: github.com/voutasaurus/sup
voutasaurus
Ответы:
39
Ответ на ваш вопрос (Можете ли вы получить ответ с сайта HTTPS с помощью команды Ping?) - Да, вы можете, если на провайдере сайта HTTPS включены ответы ICMP. Однако это не имеет ничего общего с HTTP или HTTPS:
Ping работает, отправляя пакеты эхо-запроса протокола управляющих сообщений Интернета (ICMP) целевому хосту и ожидая ответа ICMP. При этом он измеряет время от передачи до приема (время приема-передачи) 1 и записывает любые потери пакетов. Результаты теста печатаются в форме статистической сводки полученных пакетов ответов, включая минимальное, максимальное и среднее время прохождения сигнала туда и обратно, а иногда и стандартное отклонение от среднего значения.
Вы можете проверить с помощью «cmd» (кнопка «Пуск» Windows / введите cmd в поле поиска, откройте «cmd.exe»), а затем с помощью команды ping:
ping www.hotmail.com
Если вы попытаетесь пропинговать URL-адрес HTTP, это будет выглядеть следующим образом:
ping http://www.hotmail.com
Вы получите ту же ошибку, что и при попытке пропинговать URL на основе HTTPS:
ping https://www.hotmail.com
(Ошибка, похожая на то, что ping не может достичь запрошенного адреса, будет появляться при обеих попытках).
tcping - имитирует ping через tcp, устанавливая соединение с сетевыми узлами. tcping на уровне приложения отправит SYN, ожидает ACK, закрывается с помощью FIN ACK
C:\>tcping google.com 443
Probing 87.106.83.127:443/tcp - Port is open - time=19.787ms
Probing 87.106.83.127:443/tcp - Port is open - time=20.487ms
Probing 87.106.83.127:443/tcp - Port is open - time=24.494ms
Control-C
Ping statistics for 87.106.83.127:443
3 probes sent.
3 successful, 0 failed.
Approximate trip times in milli-seconds:
Minimum = 19.787ms, Maximum = 24.494ms, Average = 21.589ms
openssl s_client -quiet -connect github.com:443 <<eof
HEAD / HTTP/1.1
Connection: close
Host: github.com
eof
Обратите внимание, что вы также можете использовать «HTTP / 2», но будьте осторожны, потому что некоторые серверы (например, github.com) не поддерживают его.
Ответы:
Ответ на ваш вопрос (Можете ли вы получить ответ с сайта HTTPS с помощью команды Ping?) - Да, вы можете, если на провайдере сайта HTTPS включены ответы ICMP. Однако это не имеет ничего общего с HTTP или HTTPS:
Пинг будет использовать ICMP протокол, он принадлежит к TCP / IP , Internet Layer , который представляет собой нижний слой , чем HTTP или HTTPs (от Application Layer ):
Вы можете проверить с помощью «cmd» (кнопка «Пуск» Windows / введите cmd в поле поиска, откройте «cmd.exe»), а затем с помощью команды ping:
Если вы попытаетесь пропинговать URL-адрес HTTP, это будет выглядеть следующим образом:
Вы получите ту же ошибку, что и при попытке пропинговать URL на основе HTTPS:
(Ошибка, похожая на то, что ping не может достичь запрошенного адреса, будет появляться при обеих попытках).
источник
ping
работает на гораздо более низком уровне, чем HTTP или HTTPS, и принимает только имена хостов , а не URL. Например:источник
tcping - имитирует ping через tcp, устанавливая соединение с сетевыми узлами. tcping на уровне приложения отправит SYN, ожидает ACK, закрывается с помощью FIN ACK
источник
Вы можете выполнить запрос HEAD с OpenSSL:
Обратите внимание, что вы также можете использовать «HTTP / 2», но будьте осторожны, потому что некоторые серверы (например, github.com) не поддерживают его.
источник