通过SOCKS服务器使用ping?

iTa*_*ayb 4 python icmp socks

我想定期检查我的SOCKS服务器是否正常工作.为了做到这一点,我想到通过SOCKS服务器ping 8.8.8.8(谷歌DNS服务器).

还有其他推荐方式吗?如果它是最佳的,我怎么能用python ping SOCKS?

Mat*_*ttH 9

SOCKS代理提供TCP代理服务(SOCKS 5添加了UDP支持).您无法"通过"SOCKS代理服务执行ICMP Echo.

即使你可以,你也会测试ICMP Echo和Echo Reply,而不是你的SOCKS服务器运行正常.

如果你想测试你的SOCKS服务器"运行正常",我建议你打开本地监听端口,然后尝试通过SOCKS服务连接到它.


Sha*_*ang 6

您可以使用httping 通过 SOCKS 服务器代替普通的来检查网络ping

ping:向网络主机发送 ICMP ECHO_REQUEST 数据包
httping:测量网络服务器的延迟和吞吐量

ICMP工作在OSI模型的Layer3(网络层),SOCKS工作在Layer5(会话层),httping工作在Layer7(应用层),所以ping消息不能通过SOCKS,但httping消息可以。

例如,我在VPS中设置了一个shadowsocks(SOCKS5代理)服务器,使用我的macbook pro作为客户端,使用127.0.0.1:1080,我想检查google的网络是否良好。

httping -x 127.0.0.1:1080 -g http://www.google.com -5

通过 SOCKS5 httping google 的屏幕截图

httping usage httping [options] -5 The proxy server selected is a SOCKS5 server. -g url This selects the url to probe. E.g.: http://localhost/ -x proxyhost[:port] Probe using a proxyserver.