Skip to content

快速入门

wangyu- edited this page Jul 5, 2018 · 27 revisions

本文需要你已经熟悉了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/防火墙规则。

运行效果

server端输出

image

client端输出

image

(我用的是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

执行后的效果:

image

比如在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流量。