-
Notifications
You must be signed in to change notification settings - Fork 146
快速入门
本文需要你已经熟悉了udp2raw的基本原理,如果不熟悉,请先去 https://github.com/wangyu-/udp2raw-tunnel 了解。
假设你有一个服务监听在VPS(linux系统)的udp 7777端口上,但是你的运营商对udp有限制,你想用udp2raw来把udp流量伪装成tcp,绕过限制。你的本地电脑是Windows或MacOS系统。
在VPS上下载服务端并解压,地址:https://github.com/wangyu-/udp2raw-tunnel/releases
运行如下命令:
# Run at server side:
./udp2raw_amd64 -s -l0.0.0.0:4096 -r 127.0.0.1:7777 -a -k "passwd" --raw-mode faketcp
(如果你需要udp2raw服务端在ssh退出后仍然继续运行,只需了解一下nohup/screen/tmux中任意一个的使用方法)
安装pcap,具体内容见 这里。
下载客户端并解压,地址在 这里 。(对于有些平台,压缩包内可能会有2个文件,选择带_nolibnet
后缀的那个。为了敲命令方便,下载后可以自行把文件名中的_nolibnet
后缀删去;下文均以文件名中不带_nolibnet
做演示)
# Run at client side
udp2raw_mp.exe -c -l0.0.0.0:3333 -r44.55.66.77:4096 -k "passwd" --raw-mode easy-faketcp
easy-faketcp是跨平台版的udp2raw新增的一个raw模式,可以与faketcp模式的server通信,而不用添加iptables/防火墙规则。
(我用的是msys2自带的shell,并且使用了--enable-color
所以是有颜色的。如果你直接在windows的cmd里运行,输出是白色的)
这样就可以了。 现在,在Windows/MacOS上访问本机的3333即相当于访问VPS的7777端口,通过udp2raw的所有流量都会被混淆成tcp。
前面提到的easy-faketcp模式虽然方便,但是跟原来的faketcp模式比性能、稳定性要差一些。 只要稍微进行一些额外操作,就可以使用faketcp模式,推荐使用。
首先用-g
选项生成udp2raw faketcp模式所需的防火墙规则:
udp2raw_mp.exe -c -l0.0.0.0:3333 -r44.55.66.77:4096 -k "passwd" --raw-mode faketcp -g
执行后的效果:
比如在windows上,使用:
netsh advfirewall firewall add rule name=udp2raw protocol=TCP dir=in remoteip=44.55.66.77/32 remoteport=4096 action=block
netsh advfirewall firewall add rule name=udp2raw protocol=TCP dir=out remoteip=44.55.66.77/32 remoteport=4096 action=block
只要照着敲就可以了。
最后去掉-g
选项,运行udp2raw:
udp2raw_mp.exe -c -l0.0.0.0:3333 -r44.55.66.77:4096 -k "passwd" --raw-mode faketcp
完成。这样就可以使用效率和稳定性更好的faketcp模式了。 而且此方法还可以使用icmp模式,把udp流量混淆成icmp流量。