在代理后面如何ping?


29

我正在使用HTTP代理服务器连接到Internet。

因此,我的ping无法正常工作

ping www.google.com

说不可达主机

如何配置ping使用HTTP代理?


了解您正在使用什么设置可能会有所帮助?例如,这是带有squid和iptables的Linux服务器吗?
蒂姆·亚历山大

Answers:


32

一般来说,您不能。ping需要IP级别的直接网络连接来完成其工作。代理在TCP / IP网络模型的更高层上工作,在该模型中,不能直接访问IP协议。

您将需要以某种方式绕过代理(更改防火墙设置,使用VPN,...)。是否可行(是否允许)取决于您的网络配置,但可能不可行。

解决方法是,有许多基于Web的Ping服务可用(搜索“基于Web的Ping”)。这些会起作用。


基于Web的ping无法用于测试我自己的连接的延迟,因为它们是从服务器启动的。也许可以在浏览器中运行的Java中执行ping操作。
JoseGómez2015年

尽管ICMP协议在ISO / OSI第3 ping层上运行,但实用程序在第7层上运行。要引用我的CS老师,ping是3-7混合。第7层部分很可能能够进行代理处理。这可以解释为什么我对此问题的答案有效(至少对我而言)。
s3lph

@the_Seppi:有趣的是,我从未听说过要ping成为第7层。您是否有任何指针需要进一步阅读?
sleske

5

您可以尝试一下,但是首先必须安装curl。

http_proxy=http://<proxy_username>:<proxy_password>@<your_proxy_server>:<your_proxy_port>  curl -I http://google.com/

22
这不是PING。
törzsmókus

2
或者您可以使用curl -x 'http://<proxy_username>:<proxy_password>@<your_proxy_server>:<your_proxy_port>'
phyatt

1
@törzsmókus:但这可能是问题源的一个好答案……进行测试,以了解是否有可用的服务器在工作!
安德烈亚斯·迪特里希

1
问题是,如何配置ping以使用HTTP代理?@Ishant Mrinal的这篇文章没有回答。如果有人问一个问题[如何]进行测试,是否有某个服务器可用并且正在[从代理后面运行?],请随时添加此答案,并在此问题的注释中链接到该问题。
törzsmókus

1
@törzsmókus-您的回答正确,并没有严格解决问题。可能是这样的情况,OP(或其他寻求类似想法的读者)在不特别喜欢使用ping的情况下问这个问题,而只是将其用作测试给定PC是否已达到目标的快速方法。外部网络(除了安德烈亚斯·迪特里希(Andreas Dietrich)的评论之外,还有另一种用途)。我发现此答案很有用(SO背后的主要思想),至少其他8个用户也是如此。
sancho.s恢复莫妮卡
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.