求解:Windows cmd命令终端 代理设置为迷雾通 无效

我在cmd命令行尝试了这两种方式,均无效。

HTTP 代理设置:

set http_proxy=http://127.0.0.1:9910
set https_proxy=http://127.0.0.1:9910

SOCKS5 代理设置:

set http_proxy=socks5://127.0.0.1:9909
set https_proxy=socks5://127.0.0.1:9909

更改迷雾通的设置为 Network-level VPN 也无效。求解。

注:无效是指无法通过cmd命令终端ping通Google等被墙的网站。

1 Like

这个谜题解开了。

首先要给迷雾通平冤昭雪,使用上述命令设置代理其实都是有效的,通过命令 curl cip.cc 查看当前ip位置信息可以验证这一点。

而无法ping通Google的真正原因,是因为ping命令使用的ICMP协议作用在OSI模型第3层:网络层(IP层),而SOCKS作用在OSI模型的第5层:会话层,HTTP作用在OSI模型第7层:应用层。也就是说SOCKS和HTTP代理对于ping命令是无效的。

详细原理可以参考这里:https://hackcraker.github.io/2020/03/11/%E5%A6%82%E4%BD%95%E5%9C%A8%E5%91%BD%E4%BB%A4%E8%A1%8C%E9%87%8C%E8%AE%BE%E4%BB%A3%E7%90%86/

把这些信息发出来,希望可以对遇到同类问题的人有所帮助。

如果是虚拟网卡层面的VPN,应该可以接管全部流量吧