Я работаю с веб-серверами, на которых отключен ICMP. С другой стороны, они отвечают на некоторые запросы https. Я в основном ищу http, как возможности ping, чтобы проверить, может ли другой сервер достичь этой машины, и получить некоторые данные об этом
Я изучил следующие варианты:
Написание веб-страницы, которая анализирует соединение между двумя машинами. Это означает, что одна машина попытается перейти на эту веб-страницу. Он предоставит некоторую информацию о скорости соединения и т. Д. Это было исключено из таблицы, потому что эта веб-страница должна будет запускать какое-то веб-приложение определенного типа. У меня нет времени развивать это. - Если вы знаете о существующих технологиях, дайте мне знать.
Размещение файла на веб-сервере и попытка его загрузки. Не буду предоставлять все данные, которые я хотел бы иметь. Браузеры обычно скрывают все "забавные" вещи.
используя какую-то утилиту ping, подобную этой www.coretechnologies.com/products/http-ping/, но по какой-то причине она не может обрабатывать перенаправление совместной локальной сети, и, следовательно, я не могу ее использовать. (Я отправляю запрос, но ответ составляет 0 байт с ответом перенаправления 302). Вы знаете других?
Пожалуйста, сообщите, можете ли вы заставить одно из решений работать, или мое использование в утилите, предложенной в разделе 3, ошибочно, или у вас есть какая-то другая идея.
Обновить:
Все системы на базе Windows.
Вы можете использовать openssl, чтобы проверить, можете ли вы открыть сеанс aSSL:
[joeuser@host ~]$ openssl s_client -quiet -status -connect google.com:443
depth=2 C = US, O = "VeriSign, Inc.", OU = Class 3 Public Primary Certification Authority
verify return:1
depth=1 C = ZA, O = Thawte Consulting (Pty) Ltd., CN = Thawte SGC CA
verify return:1
depth=0 C = US, ST = California, L = Mountain View, O = Google Inc, CN = www.google.com
verify return:1
Если не удается получить сеанс SSL, он вернется со следующим:
[joeuser@host ~]$ openssl s_client -quiet -status -connect google.com:80
3078973148:error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol:s23_clnt.c:699:
В окнах:
C:\OpenSSL-Win32\bin>
C:\OpenSSL-Win32\bin>openssl.exe s_client -quiet -status -connect www.google.com
:443
WARNING: can't open config file: /usr/local/ssl/openssl.cnf
Loading 'screen' into random state - done
depth=1 C = ZA, O = Thawte Consulting (Pty) Ltd., CN = Thawte SGC CA
verify error:num=20:unable to get local issuer certificate
verify return:0
C:\OpenSSL-Win32\bin>openssl.exe s_client -quiet -status -connect www.google.com
:80
WARNING: can't open config file: /usr/local/ssl/openssl.cnf
Loading 'screen' into random state - done
2096:error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol:.\ssl\s
23_clnt.c:683:
Ты можешь использовать psping
http://technet.microsoft.com/en-us/sysinternals/jj729731.aspx
psping -q -i 0 -n 500 google.com:443
Похоже, ваш корпоративный брандмауэр блокирует протокол ICMP, что очень типично (для блокировки атак smurf). Почему бы просто не попросить своих ИТ-специалистов открыть ICMP-трафик на ваш сервер?
Если у вас установлен lynx, он поддерживает https ::, вы, вероятно, можете создать сценарий, используя эту командную функцию.
Lynx - это в основном текстовый браузер.
Возможно, я ошибочно предполагаю, но я думаю, что ваша конечная цель - проверить подключение, верно? И telnet, и netcat отлично подходят для этого. Вы можете проверить, установив соединение на прослушивающем порту, а затем отключившись. Telnet больше подходит для ручного процесса или процесса, с которым вам нужно взаимодействовать. Похоже, вам нужно что-то, что можно написать, поэтому я бы предпочел netcat.
nc -z yourhostname port
-или-
nc -z www.google.com 80
Ожидаемый результат:
Connection to www.google.com 80 port [tcp/http] succeeded!
Это также будет работать с 443 / https или любым другим сервисом, который вам нужно протестировать. Возвращаемое значение для nc будет указывать, было ли оно успешным или нет, поэтому вы можете включить with в скрипт.
Windows изначально поддерживает telnet, и вы можете загрузить сборки netcat для Windows или использовать Cygwin.