3

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

4

1 回答 1

5

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

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

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

于 2017-11-02T15:43:48.520 回答