假设我有 UDP 服务器监听传入消息,192.168.43.1:1234
并有 SOCKS5 代理服务器监听192.168.43.2:9999
.
使用SOCKS5客户端访问时,如何检查SOCKS5代理服务器是否支持UDP?
我知道 SOCKS5 支持 UDP,但我只是想确定它是否真的支持。我希望 UDP 服务器从客户端接收消息,并且客户端使用netcat
或类似的工具从服务器获得回复。
答案1
您可以通过以下方式进行测试检查:
- 您需要要求您的socks客户端通过socks代理服务器将udp数据包发送到192.168.43.1:1234,并在192.168.43.1:1234上
- 您之前需要启动一个侦听 UDP 数据包的程序。
下面给出了使用 Dantesocksify
包装器和 OpenBSD 版本 (netcat) 的示例:nc
- 在主机 192.168.43.1 上,
nc
按如下方式启动:nc -lu 192.168.43.1 1234
- 在另一台主机上,
nc
通过 Dante 的socksify
包装器运行,如下所示:echo hello | SOCKS_SERVER=127.0.0.1:1080 socksify nc -u 192.168.43.1 1234
在2.中,我们假设您要使用的socks服务器在地址127.0.0.1:1080上运行,因此您当然需要将其更改为您的情况下正确的socks服务器地址。
然后,您可以验证netcat
1. 中启动的程序是否收到了字符串hello
,并且您还应该验证袜子服务器日志是否显示 UDP 数据包是通过它传递的。如果袜子服务器是 Dante 服务器,日志将包含如下内容:
sockd[1124749]: info: pass(1): udp/udpassociate -: 127.0.0.1.33817 127.0.0.1.48887 -> 192.168.50.151.50434 192.168.43.1.1234 (5)
链接:
其他netcat
变体也可以工作,但它们具有截然不同的选项语法。上面是使用 OpenBSD 中的变体的示例。