我正在使用 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 的更安全的方式。
以下是作者网站的链接:
答案4
下列的 :波格丹·康德拉托夫答案是,这是一个适用于 Windows 的免费 http-ping 实用程序
- 下载地址:https://www.coretechnologies.com/products/http-ping/
- 通过代理使用(例如公司代理)
http-ping -p http://142.4.15.25:3128 https://www.coretechnologies.com