当使用代理时如何 ping ?

当使用代理时如何 ping ?

我正在使用 HTTP 代理服务器连接到互联网。

因此我的 ping 无法正常工作

ping www.google.com

说无法访问主机

如何配置ping以使用 HTTP 代理?

答案1

一般情况下不能。ping需要在 IP 层上直接建立网络连接才能工作。代理在 IP 层的更高层上工作。TCP/IP网络模型,其中没有直接访问 IP 协议。

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

作为一种解决方法,有许多基于 Web 的 ping 服务可用(搜索“基于 Web 的 ping”)。这些服务都可以使用。

答案2

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

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

答案3

正如其他人指出的那样,ping无法通过代理工作。

但您可以使用实用程序httping来实现这一点。它会向 Web 服务器发送 HEAD 请求(默认情况下),并测量获取响应所需的时间。

例子:

httping -x 192.68.1.12:1080 -g http://google.com

示例输出:

➜  ~ httping -g http://google.com -c 3
PING google.com:80 (/):
connected to 64.233.165.113:80 (313 bytes), seq=0 time= 38.49 ms 
connected to 64.233.165.101:80 (313 bytes), seq=1 time= 66.94 ms 
connected to 64.233.165.100:80 (313 bytes), seq=2 time= 40.79 ms 
--- http://google.com/ ping statistics ---
3 connects, 3 ok, 0.00% failed, time 3162ms
round-trip min/avg/max = 38.5/48.7/66.9 ms

在哪里:

  • -x- 代理服务器的地址,端口可选
  • -g- 发送请求的 URL

其他有用的选项:

  • -5- 使用 SOCKS5。应放在-x选项后面,即:

    httping -x localhost:1080 -5 -g http://google.com
    
  • -c- 退出前要发送多少个探测。默认是无限的。
  • -G- 执行 GET 请求而不是 HEAD 请求。这意味着整个页面/文件也将被传输。请注意,在这种情况下,您不再测量延迟!这对于测试实际网站很有用。

请注意,测量的时间还包括代理服务器本身引入的延迟。


该实用程序可通过多个适用于不同操作系统和 Linux 发行版的存储库获得:

乌本图:

sudo apt install httping

高山:

sudo apk add httping

带有 Homebrew 的 macOS:

brew install httping

再举一个例子,我曾经httping估算过通过 Tor 代理连接到 Tor 网络的延迟:

httping -x localhost:9050 -5 -g http://google.com

我希望的唯一选项httping是能够要求 SOCKS5 代理进行域名解析,而不是自行执行,这是使用 Tor 的更安全的方式。


以下是作者网站的链接:

https://www.vanheusden.com/httping/

答案4

下列的 :波格丹·康德拉托夫答案是,这是一个适用于 Windows 的免费 http-ping 实用程序

 http-ping -p http://142.4.15.25:3128 https://www.coretechnologies.com

相关内容