使用obfsproxy混淆任意流量
转载自 https://xiaolan.me/obfsproxy.html
obfsproxy是由Tor Project为Tor在被审查的国家使用而开发出的流量混淆插件以规避这些国家的防火墙…不过这个插件不仅可以用在Tor网桥上,还可以用在OpenVPN,SSH等其他应用上…
配置服务端:
我们可以从python-pip安装,或者从torbrowser提取,不建议使用debian/ubuntu源安装,因为缺少scramblesuit特性..
如果是Debian/Ubuntu类系统:
先安装环境
apt-get install gcc python-pip python-dev
如果是CentOS则执行
yum install python-pip python-devel gcc pycrypto
之后安装obfsproxy
pip install obfsproxy
执行obfsproxy查看支持的混淆方式
xiaolan@cui:~$ obfsproxy
usage: obfsproxy [-h] [-v] [–log-file LOG_FILE]
[–log-min-severity {error,warning,info,debug}] [–no-log]
[–no-safe-logging] [–data-dir DATA_DIR] [–proxy PROXY]
{managed,obfs2,dummy,obfs3,scramblesuit,b64} …
运行服务端
一般使用obfs3或者scramblesuit模式
scramblesuit是obfs3的加强版,使用密码加密..使得GFW无法模拟obfs客户端来探测被混淆的是什么..我们这里以scramblesuit作为示范..
注意:scramblesuit的密码必须为BASE32字符..
BASE32字符是:ABCDEFGHIJKLMNPQRSTUVWXYZ3456789 且必须为32位
obfsproxy –data-dir ~/.obfs/ scramblesuit –dest 127.0.0.1:22 –password SBSB4444FANGBINXING4SBSBSBSBSBSB server 0.0.0.0:8080 &
127.0.0.1:22 是要混淆的端口(协议)
0.0.0.0:8080 是将混淆后的端口…
那一大串长的是密码..
如果不需要后台运行则去掉最后蓝色的&
如果运行成功后应该会提示
2015-08-21 22:54:12,282 [WARNING] Obfsproxy (version: 0.2.13) starting up.
2015-08-21 22:54:12,282 [ERROR]
################################################
Do NOT rely on ScrambleSuit for strong security!
################################################
至此服务端已经配置完成….
运行客户端
Windows请下载Tor Browser后, 解压打开Browser\TorBrowser\Tor\PluggableTransports\obfsproxy.exe复制出来,用法同下..
(更新: 做了一个obfsproxy.exe的打包, 在下面…)
obfsproxy scramblesuit –dest 1xx.xxx.xxx.xxx:8080 –password SBSB4444FANGBINXING4SBSBSBSBSBSB client 127.0.0.1:22222
1xx.xxx.xxx.xxx:8080 是你的服务器IP地址..
长串是密码,需与服务端一致
127.0.0.1:22222 是本地端口..
这时就可以用SSH翻墙而不会被特征检测了….当然也可以通过obfs混淆OpenVPN等其他协议….
ssh -N -D 7070 fanqiang@127.0.0.1 -p 22222