当ICMP被阻塞时,ping https

我正在使用ICMP在其上禁用的Web服务器。 另一方面,他们回答一些https请求。 我基本上在寻找像pingfunction的http,以便检查另一台服务器是否可以连接到那台机器,并获得一些关于它的数据

我已经探索了以下选项:

  1. 编写一个分析两台机器之间连接的网页。 意思是一台机器会尝试浏览到该网页。 它会提供一些关于连接速度等信息。这是从表中取出,因为这个网页将需要基本上运行某种types的Web应用程序。 我没有时间去发展。 – 如果你知道现有的技术让我知道。

  2. 在Web服务器上托pipe一个文件并尝试下载。 将不会提供我想要的所有数据。 浏览器通常会混淆所有“有趣”的东西。

  3. 使用某种ping工具,比如www.coretechnologies.com/products/http-ping/,但由于某些原因,它无法处理合作局域网的redirect,因此我无法使用它。 (我发出一个请求,但答案是302个redirect回复的0字节)。 你知道别人吗?

请告知是否可以使解决scheme工作,或者我在第3​​节中提到的实用程序中使用错误,或者您有其他的想法。

更新:

所有的系统都是基于Windows的。

你可以使用psping
http://technet.microsoft.com/en-us/sysinternals/jj729731.aspx

psping -q -i 0 -n 500 google.com:443 

您可以使用openssl来查看是否可以打开一个SSL会话:

 [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: 

在Windows上:

 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: 

如果你安装了lynx,它支持https ::,你可以使用这个命令function来拼凑一个脚本。

Lynx基本上是一个纯文本浏览器。

这听起来像ICMP协议正在被企业防火墙阻止,这是非常典型的(阻止smurf攻击)。 为什么不要问你的IT人员打开你的服务器的ICMPstream量?

我可能会错误地假设,但是我认为你的最终目标是testing连通性,对吗? telnet和netcat都能很好地工作。 您将通过在侦听端口上build立连接进行testing,然后断开连接。 Telnet更适合手动过程或者需要与之交互的过程。 这听起来像你需要的东西,你可以脚本,所以我宁愿netcat。

nc -z yourhostname port – 或者 –
nc -z www.google.com 80

预期产出将是:
Connection to www.google.com 80 port [tcp/http] succeeded!

这与443 / https或任何其他需要testing的服务一样好。 nc的返回值将指示它是否成功,因此您可以将其并入到脚本中。

Windows本地支持telnet,您可以下载netcat的Windows版本或使用Cygwin。