如何通过 SOCKS 代理发送 UDP 数据包

bud*_*123 3 networking udp tunneling socks

我正在查看定义袜子服务器时我的计算机生成的流量。我在互联网上阅读并发现也可以通过代理服务器路由 udp。当我尝试使用使用 UDP 并允许袜子设置的不同应用程序时,它仅将其用于 TCP 流量。为什么?我已经定义了 SOCKS5,因为我知道 v4 不支持 udp(为什么?)我尝试了一个例子,Vuze 客户端 - 它的专家模式允许优先选择 udp 流量,设置袜子服务器,甚至在这一点上,任何 udp 都直接发送到对等点。我的愿望是监视流量并查看其传输方式,是通过 UDP 与袜子服务器连接,还是实际上以 TCP 连接到袜子服务器并发送数据,然后通过 udp 发送到目的地?

Kor*_*men 9

当客户端想要通过 SOCKS5 代理中继 UDP 流量时,客户端会通过 TCP 发出 UDP 关联请求。然后,SOCKS5 服务器将可用的 UDP 端口返回给客户端以向其发送 UDP 包。

然后,客户端开始发送需要中继到 SOCKS5 服务器上可用的新 UDP 端口的 UDP 数据包。SOCKS5服务器将这些UDP包重定向到远程服务器,并将来自远程服务器的UDP包重定向回客户端。

当客户端想要终止连接时,它通过 TCP 发送 FIN 包。然后,SOCKS5 服务器终止为客户端创建的 UDP 连接,然后终止 TCP 连接。