pfl*_*flz 12 networking tunneling http-tunneling
我不知道是否有办法ping我的局域网代理之外的目标只通过squid代理接受Http请求...我在某处读到了处理这种问题的一种方法是使用一个http隧道,以便代理仍将请求视为Http请求.我可以使用它来ping,例如www.google.com,否则会出现以下错误,因为防火墙拒绝了请求:
$ ping www.google.com
ping: unknown host www.google.com
Run Code Online (Sandbox Code Playgroud)
如果是这样,它是如何完成的?
我已经安装了httptunnel.Any帮助如何使用它将非常感激.
mpo*_*llo 10
否.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
Run Code Online (Sandbox Code Playgroud)
假设您已curl安装,如果可通过您的代理访问google.com,则会打印"成功",否则会打印"失败".