我虽然在这篇文章中说Windows下做UDP forward不太方便,但还是有人做了简化版的转换程序来造福人类。虽说这也还是Linux下的程序用Cygwin转换的就是了。
[目的]
因为还是有一些程序使用UDP来传输数据(比如FPS游戏),而SSH只能转发TCP包,所以需要一个软件,在客户端把UDP包封成TCP包,然后在服务器端做相反的动作。
就以emule的KAD网络为例,emule默认的UDP端口是4672,所以先把它转发到4682的TCP端口去。过程如下:
[操作]
首先在这里下载socat for Windows/Cygwin:socat-1.6.0.1-cygwin.bin.tar.gz
或者从我这里下载,已经打包了Cygwin的DLL:socat
然后客户端:收UDP 4672,发TCP 4682
socat udp4-listen:4672,reuseaddr,fork TCP:localhost:4682
服务器端:收TCP 4682,发UDP 4672
socat tcp4-listen:4682,reuseaddr,fork UDP:nameserver:4672
现在KAD网络也可以通过SSH连接了。