GFW 原理
前言
[!IMPORTANT] 重要提醒
《中华人民共和国计算机信息网络国际联网管理暂行规定》
第六条:计算机信息网络直接进行国际联网,必须使用国家公用电信网提供的国际出入口信道。任何单位和个人不得自行建立或者使用其他信道进行国际联网。
第十四条:违反第六条规定的,由公安机关责令停止联网,给予警告,可以并处15000元以下的罚款;有违法所得的,没收违法所得。
- 本文只是用于学习网络知识的总结, 请勿用于其他用途
- 自行建立或者使用其他信道进行国际联网是违法行为! 请勿违法!
- 本文仅作为原理阐述, 仅供学习, 不会传授任何搭建方式
- 随着 GFW 的进一步加强和 翻墙方式的军备竞赛, 将整条链路变得非常复杂化和有趣
过程原理
前期
[!NOTE]
下面这些都是一些前期的手法, 现在已经基本全部失效了
- 在没有防火墙的时候,或者说我们使用正常网站的时候,我们通常的步骤是这样的。直接获取到 域名的 ip, 然后直接访问
- 随着 GFW 的出现, 出现了dns污染这种初期的避免外网访问的方式, 因为dns server 是udp协议而且没有完整的鉴权机制, 似的 route 可以伪装返回一个错误的 ip 实现访问超时的效果(目前 github 使用的基本就是这种形式)
- 这样的话 如果我们记住网站对应的 ip, 直接通过ip 是否就可以访问呢, 现在很多 github 的 hosts 加速的方式都是这种, 手动更改hosts 文件进行直接访问, 避免被 dns 污染
- 这种方式只对于那些半被墙的网站有时候有效, 对于google 这种 GFW 直接将 google 的所有ip 直接拉黑, 注意,这里的拉黑是发现如果是网络层目标是这个ip 直接给你丢弃数据包, 然后重置链接, 即使走的是https 也没办法直接屏蔽 ip层的地址泄露
VPN
- VPN 是直接做用在数据链路层的, 比机场更加底层, 这意味着他更加容易代理整个全局的流量
- VPN 本质并不是为了 翻墙的, 所以他的协议设计上比较稳定, 也不会为了防火墙去做更多的混淆和伪装, 因此似的 VPN 相较于机场的流量更加容易被下文的特征识别发现, 发现就会启动散文提到的封锁IP 的方式直接断掉
- VPN 产生的年代还没有 GFW 的存在,它的作用主要是为了加密通讯(匿名通迅),而机场诞生于 GFW 的建立之后,专门用于科学上网。VPN 与机场都能对数据进行加密,但是,VPN 纯粹是为了加密而加密,它并不专门用于绕过 GFW 的探测,而机场的加密则是专门为了绕过 GFW 的探测。这也正是 VPN 近几年来越来越不行了的原因,因为它的流量特征早已被 GFW 掌握
机场
- 机场通常层级在会话层(7层模型), 因此类似 SSH, PING, 这种非tcp,udp的默认是不走机场的, 即使开了全局代理
- 叫做机场的原因是, 刚开始 SS 协议软件 logo 是个纸飞机, 所以大家叫做机场了
- 机场无论是 vless 还是 ssr, trojan 这些协议都带有非常明显的伪装的效果, 类似伪装成正常网站的流量之类的, 有的甚至会弄正常网页出来迷惑 GFW, 也是现在最主流的翻墙方式
- 但这也并不是没有破绽的, 实际上就是下文要讲的主动出击和特征识别的方式
- 一些专业名词
- 节点: 可以理解为下图的 Agreement Server , 负责转发请求
- 订阅: 通常是由很多节点构成, 是同一个统一的链接进行管理, 订阅链接首先会发给订阅服务器, 订阅服务器会根据链接返回所有节点给软件, 软件直接使用的是节点
直链中转区别
- 直链: 防火墙和国际互联网之间搭建一个VPN机场服务器,当然如果有频繁的异常请求经过防火墙,就会触发封锁,这个时候机场只能通过频繁的更换IP地址或者端口来绕过封锁。这种直连线路最简单,但是对用户来说体验可能不那么好,需要频繁的更新订阅地址
- 中转: 在国内多了一层VPN国内中转服务器,数据先到达国内中转服务器,中转服务器再经过隧道加密过墙,提升过墙能力,再到国外的机场服务器访问互联网。中转的优势是可以优化接入点网络,不容易被墙,但缺点是价格比直连贵。
- 国际专线: 这玩意巨贵但是不走防火墙, 光纤直通海外
GFW
DNS污染和IP封锁
- 对绝大多数人来说,这才是最根本和最原始的封锁方式, 下面的都是斗智斗勇的产物
- 下面的封锁最终也是依靠这两种方式实现的
特征识别
- 目前对加密流量最有效的方式, 通过喂翻墙的流量给模型进行学习并且提取特征
- 熵, 可打印字符, 握手次数长度这些都可能作为特征
- 根据 paper.pdf, 这篇文章, 内容, 如果传输的数据包二进制比例 0和 1大约50%, 说明很可能在翻墙, 因为太过于随机
- 根据 paper.pdf, 这篇文章, 内容, 如果传输的数据包二进制比例 0和 1大约50%, 说明很可能在翻墙, 因为太过于随机
主动探测
- 类似重返请求, 如果是 http 服务基本会返回数据内容, 但是如果跑的是协议可能就报错了这种形式
- 或者甚至会更改报文的某些字段重放来判断是否时某种协议(因为协议都是开源的), 识别道也是直接封ip
[!important] 温馨提示
墙要封是100%能全封的, 只是避免误杀和筛选人群的功能而已, 不要违法!
其他
cloudflare
- 本质上是使用cloudflare worker 边缘计算运行 vless 的转发功能, 唯一的区别就是 worker 不能访问被 cloudflare cdn 代理的网站, 这就是为什么需要proxyip 的原因
- 优选ip 实际上是优选 worker的ip 时得链接更快
- 不过不推荐这种方式时快时慢并且有被cloudflare 封号的风险
[!NOTE] 参考
vpn和机场,直连、中转和专线的区别,以及什么是流量倍率?
中科院看诺奖直播也要翻墙了?墙究竟在干什么,为什么你的梯子会没了?谈谈现行主流翻墙技术缺陷、墙主动攻击和被动嗅探方法,以及介绍一点现在还能用的翻墙工具 - YouTube
VPN才是主流?比Shadowsocks和v2ray好在哪里?【硬核翻墙系列】第七期 - YouTube
防火长城 - 维基百科,自由的百科全书
How the Great Firewall of China Detects and Blocks Fully Encrypted Traffic
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 chenxuan's blog!