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

时间:2012-12-26 16:32:50

标签: networking udp socks tunneling

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

1 个答案:

答案 0 :(得分:0)

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

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

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