网络审查与抗封锁技术的演进史

网络审查与抗封锁技术的演进史

一月 16, 2026

矛与盾的交锋:网络审查与抗封锁技术的演进史

在数字化生存的今天,网络空间并非一片坦途。防火墙(GFW)与翻墙技术之间的博弈,本质上是一场关于“信息流动控制”与“通信自由”的博弈。要理解这场交锋,必须先从网络通信的最基本单元——端口与套接字说起。

一、 基石:端口、套接字与通信的“仪式感”

任何网络连接的建立,都依赖于对物理地址的逻辑拆分。

端口(Port):如果说 IP 地址是大楼的坐标,端口就是楼内的“房号”。互联网协议为常用服务预设了“默认房号”,如 80 (HTTP) 和 443 (HTTPS)。这些标准端口由于承载了全球绝大部分的合法贸易与交流,拥有极高的“通行权重”。22 (SSH): 用于远程安全登录 Linux 服务器。53 (DNS): 负责域名解析。以上这些都是公认端口。3306 (MySQL): 数据库服务的常用房号。也叫注册端口。默认端口(如 80/443)让你上网不用输房号。非标端口(如 40002/1723)让你在连接时必须带上后缀。

临时端口(Ephemeral Port):当你的电脑(客户端)发起请求时,它会从高位区(如 49152-65535)随机租用一个临时房号,用于接收回传数据。

套接字(Socket):它是通信的最小逻辑单元,公式为 IP:Port。一对完整的 Socket(源套接字与目标套接字)定义了一次唯一的通话。

麻烦所在:套接字编程之所以复杂,是因为它必须在不稳定的物理线路上处理“粘包”(数据断开或合并)、超时重连及海量的连接管理,这要求极高的底层开发功底。写套接字程序就像是在两台跨越千里的电脑之间搭建一根极其不稳定的电话线。你需要手动处理每一个细节。你需要亲自管理连接的建立(三次握手)和断开(四次挥手)。如果处理不好,服务器就会堆积大量的“僵尸连接”,最终崩溃。由于网络原因,接收端可能一次收到了一个半,或者把两个包裹粘在一起收到了。你必须自己写逻辑去“拆快递”,区分哪里是第一封信的结尾,哪里是第二封信的开头。如果你用的是“阻塞模式”,程序在等数据时会整个卡死;如果用“非阻塞模式”,代码复杂度会呈几何倍数增加,你需要引入事件循环(如 Epoll 或 Select)。套接字之所以被认为“麻烦”,是因为它要求开发者像机器一样思考网络故障:“如果包丢了怎么办?” “如果对方慢得像蜗牛怎么办?” “如果防火墙突然把 1723 端口切断了,我的程序会报错退出还是自动重连?”

PPTP (Point-to-Point Tunneling Protocol,点对点隧道协议) 的诞生,是互联网早期为了解决远程办公 这一刚需而产生的里程碑式技术。 PPTP 的核心思想是隧道Tunneling 。对于用户来说,就像是在不安全的公共互联网中挖出了一根隐形的专用电缆,一头连着家里的电脑,一头连着公司的服务器。当你在服务器上装了 PPTP,它就会开始“监听” 1723 端口,意思是它坐在 1723 房间里等着外面的请求。另外,L2TP 是由微软和思科(Cisco)共同开发的,旨在结合 PPTP 和思科私有协议 L2F 的优点。IPsec 不是一个单一的协议,而是一组协议套件。它是目前最强大的网络安全标准之一。

PPTP 像是 90 年代的“老式牛车”,虽然结构简单,但在现代互联网环境下既不安全也跑不快。防火墙(GFW)是一个极其消耗算力的庞大系统。它不会对每一个数据包都进行 100% 的深度扫描,那会导致全国的网络变慢。如果你只是偶尔查个 Google,流量很小,GFW 可能只是把你标记为“疑似 VPN”,但还没到决定切断你的程度。亚马逊云(AWS)的 IP 段非常庞大,里面有很多正规的外企和科研机构在使用。如果你分配到的这个 IP 之前没有被其他人用来大规模翻墙,它在 GFW 的“信誉评分”可能较高,从而被放了一马。

二、 第一阶段:乱码的艺术(Shadowsocks 时代)

早期的防火墙主要通过“关键词过滤”来工作。

AEAD 加密:以 clowwindy 开发的 Shadowsocks 为代表。2012 年左右,他创建了 Shadowsocks 项目,旨在开发一种轻量级的、基于加密的 Socks5 代理工具,用于绕过网络审查。它通过 AEAD 算法将流量加密成一串高熵(极度随机)的乱码。在那个 HTTPS 尚未普及的年代,防火墙无法从中识别出任何特征,从而实现了“瞒天过海”。

陨落原因:2015 年 8 月 22 日,clowwindy 在 GitHub 上发表了一段著名的留言,表示由于“不可抗力”(通常被理解为受到了相关部门的约谈或“喝茶”),他被要求停止维护该项目。他写道:“两天前我被警察找过了,他们希望我停止工作。我不能再维护这个项目了……我希望有一天我能生活在一个不用担心这种事情的国家。”随后他删除了 GitHub 上的核心代码仓库。这一事件在当时的程序员社区引起了巨大震动,被称为“Shadowsocks 删库事件”。

许多匿名开发者接过了接力棒,成立了 Shadowsocks 组织 并在 GitHub 上继续维护各个版本的客户端(如 Shadowsocks-libev, Shadowsocks-windows, Shadowsocks-android 等)。后来出现的 SSR (ShadowsocksR) 则是另一位化名为 breakwa11(社区通称“大魔王”或“破墙”) 的开发者在 SS 的基础上增加了“协议混淆”功能而产生的分支(后来该作者也因类似压力清空了代码)。2017 年 7 月,breakwa11 遭遇了严重的个人信息泄露(开盒)和来自各方的压力。她在离开前曾表达过由于社区内斗和外部压力带来的心灰意冷。SSR 的混淆思想直接启发了后来的 Trojan 和 V2Ray 等协议。尽管 SSR 协议在 2026 年的今天由于特征明显已不再是主流,但她开发的 Windows 客户端界面布局和订阅链接格式,几乎成为了后续所有翻墙软件的标准模板。

三、 第二阶段:拟态的革命(Trojan(木马协议) 与伪装)

在 2017 年前后,防火墙(GFW)的深度包检测(DPI)技术日益成熟,能够通过统计学特征识别出 Shadowsocks 的乱码流量。针对这一痛点,Trojan-GFW 项目组(匿名团队)提出了一种全新的思路:不再发明私有协议,而是直接模仿互联网上最庞大、最合法的流量——HTTPS (TLS)。不同于 Shadowsocks 尝试将流量变得“不像任何东西”,Trojan 的核心哲学是:如果你想隐藏一棵树,就把它藏在森林里。

当乱码不再安全,开发者们意识到:最好的隐藏不是“变乱”,而是“变凡”。

Trojan 协议:它的思路极具革命性——“我就是 HTTPS”。它放弃了自定义协议,直接跑在 443 端口上,使用标准的 TLS 1.3 握手加密。

回落机制(Fallback):这是 Trojan 最具创新性的设计。 Trojan 服务器会像真正的 Web 服务器一样工作。当一个连接请求到达服务器的 443 端口时,Trojan 服务端会先检查请求开头的“密码”。如果密码正确,Trojan 会拆开 TLS 包装,将请求转发至代理目标。如果密码错误,或者探测者发送的是一个普通的网页请求,Trojan 不会断开连接,而是假装自己就是一个普通的 Nginx 服务器,将请求“回落”给真正的网页服务,返回一个真实的网页。

缺点:用户必须拥有一个域名并申请有效的 SSL 证书,这增加了部署成本和身份暴露的风险(证书透明度记录)。

审查的视角:即便内容是加密的,防火墙仍会通过 SNI(域名明文) 检查你在跟谁说话。当它看到 SNI 是敏感域名时,即便看不见内容,也会截断套接字。

四、 第三阶段:终极演进(Xray 与 REALITY)

在网络代理和抗封锁技术的圈子里,rprx 是一个具有传奇色彩的名字。rprx 最初是 V2Ray 社区的核心贡献者。V2Ray 社区目前主要活跃在 GitHub 上,但需要注意它的“双地址”现状。由于历史原因,V2Ray 的 GitHub 组织经历了一次重要的变迁。最初的 V2Ray 组织 。当前活跃地址,V2Fly。2020 年,他提出了 XTLS 协议,旨在极大提升加密流量的传输效率。他不仅是 Xray 项目的创始人,也是 XTLS 协议和 REALITY 方案的灵魂人物。由于该领域的特殊性,rprx 始终保持着极高的匿名性,其真实的身份、国籍和职业背景从未公开,所有的交流都通过 GitHub 和 Telegram 频道完成。rprx 凭借极高的技术造诣和极简主义的设计哲学,迅速吸引了大量顶级开发者加入。目前 Xray 已成为隐蔽通信领域的事实标准。Xray 是从 v2fly/v2ray-core 分支(Fork)出来的。

在 rprx 等大神的推动下,现代协议(如 Xray / VLESS)进入了“中国特色”的巅峰期。国际主流路线,以 OpenVPN、WireGuard 和 IPsec 为代表。 这一路线的设计核心在于**“强加密”与“身份验证”**,主要应用于全球企业内网合规接入和公共网络下的隐私保护。这些协议具有明显的加密隧道特征,并不刻意隐藏其 VPN 身份,依靠复杂的数学算法确保数据安全。但在严格审查的环境下,这种明显的隧道特征极易导致协议被整体封锁。

XTLS 与 Vision:通过对 TLS 流量的深度伪装,进一步抹除指纹特征,让流量看起来就像是在 Chrome 浏览器里刷视频。

REALITY 协议:这是目前的集大成者。它不再需要用户购买域名或申请证书,而是直接**“寄生”**在合法的、高权重的网站(如 www.microsoft.com)之上。REALITY 不再自己盖房子,它是直接在别人的房子(如微软官网)墙上开了一个只有你能看见的“虫洞”。当防火墙观察你的连接时,它看到你是在敲微软家的门。如果你是自己人:你通过 REALITY 的特殊算法,在微软的 TLS 握手过程中嵌入了自己的加密信息。服务器识别后,直接在握手阶段就把你“吸”进了代理隧道。如果是探测者:服务器会表现得像一块透明的镜子。它把探测者的请求实时“透传”给真正的微软服务器,再把微软的回复原封不动传回来。

阳谋之巅:在 REALITY 面前,防火墙看到的每一笔流量都完全等同于访问微软。如果要封锁,就必须封锁整个微软的 443 端口。这种通过制造**“不可接受的附带损害(Collateral Damage)”**来倒逼防火墙放行的策略,标志着抗封锁技术已从“躲避”走向了“博弈”。

五、 结语:永不停歇的猫鼠游戏

从 PPTP 的 1723 端口明目张胆,到 Shadowsocks 的乱码求生,再到 Xray/Trojan 的 443 端口拟态伪装,技术的每一次飞跃都是由于原本的“房间号”或“包裹形状”被识破而被迫进化的。

防火墙不再只是“看内容”,而是在通过指纹(JA3)、统计学特征以及主动探测来“猜行为”。在这场看不见的博弈中,人类的智慧是决定信息能否自由流动的终极力量。