我可以使用http隧道通过带防火墙的代理ping或traceroute吗?

我不知道是否有办法ping我的局域网代理之外的目标,它通过squid代理只接受Http请求...我在某处读到一种方法来处理这样的问题是使用一个http隧道,以便代理仍将请求视为Http请求。我可以使用它来ping,例如www.google.com,否则会出现以下错误,因为防火墙拒绝了请求:
$ ping www.google.com
ping: unknown host www.google.com
如果是这样,它是如何完成的? 我已经安装了httptunnel.Any帮助如何使用它将非常感激。     
已邀请:
否.Ping和traceroute使用较低层网络协议(特别是ICMP和/或UDP,它们是第4层协议),并且不能在HTTP(第7层)隧道上工作。在任何情况下,即使您可以说服HTTP代理为您打开原始TCP会话(这是某些HTTP隧道的工作方式),您也不会收到必要的数据包来确认主机是否可访问。 (在ping的情况下,ICMP echo回复,或者在traceroute的情况下,生存时间过期的ICMP数据包) 为了测试这种情况下的连接性,我认为你能做的最好就是HTTP“ping”。 (尝试与远程主机建立HTTP连接,看看它是否有效。)例如,您可以执行以下操作:
$ http_proxy=http://webproxy.example.com:3128 
> curl -I http://google.com/ > /dev/null 2>&1 
> && echo success || echo failure
假设您安装了
curl
,如果可通过您的代理访问google.com,则会打印“成功”,否则会显示“失败”。     
这不是你想要的,但如果你可以访问和外部ssh服务器,你可以通过它运行它,结果将反映到ssh服务器的ping时间:
$ ssh username@server 'ping -c 1 google.com' 
PING google.com (72.14.204.147) 56(84) bytes of data.
64 bytes from iad04s01-in-f147.1e100.net (72.14.204.147): icmp_seq=1 ttl=57 time=2.64 ms

--- google.com ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 2.640/2.640/2.640/0.000 ms 
    

要回复问题请先登录注册