09-02 Reality协议与流量伪装:伪装成访问大网站
用途
主节点为什么用 Reality?因为它能让翻墙流量「看起来像在正常访问苹果官网」,墙难以识别。这篇讲清流量伪装和IP 隐藏是两件不同的事。 关联:05-03 HTTPS与TLS、06-08 中间人攻击、09-03 CDN中转节点与隐藏IP。
一、GFW 怎么识别翻墙
墙不只看你连的 IP,还会主动探测:对可疑服务器发起 TLS 握手,看它的反应像不像一个正常网站。早期翻墙协议会在这一步露馅。
二、Reality 的思路:借用真网站的握手
Reality(基于 05-03 HTTPS与TLS 的 TLS 1.3)的核心招数:借一个真实大网站的 TLS 握手当伪装。
- 客户端配置一个幌子域名(SNI),比如
www.apple.com。 - 当墙来探测你的服务器时,服务器把探测请求转发给真正的苹果,让墙看到的是苹果的真证书、真响应——于是墙以为「这台机器就是在跑苹果,正常 HTTPS,放行」。
- 而你真正要去的网站(YouTube)藏在加密内容里,墙看不到。
选幌子的讲究
幌子站要:支持 TLS 1.3、国内能访问没被墙、是国外大站(封了会误伤一大片,所以墙不敢封)、离服务器近。
www.apple.com、www.microsoft.com都是好选择。越大众越安全——藏进最大的人群里。
三、关键区分:流量伪装 ≠ IP 隐藏
这是最容易混的点:
| 流量伪装(Reality 干的) | IP 隐藏(Cloudflare 干的) | |
|---|---|---|
| 藏住什么 | 你在干什么(内容) | 服务器真实 IP |
| 原理 | 让流量看起来像正常访问大站 | 客户端连的是 Cloudflare IP |
| 防的是 | 协议识别(认出”这是翻墙”) | IP 封锁 |
主节点(Reality 直连)有流量伪装,但没有 IP 隐藏——客户端必须直连服务器真实 IP,这是”直连”的定义决定的,藏不了。所以 Reality 的策略不是藏 IP,而是「让流量太正常,墙没理由封你」。
万一 IP 还是被封了(整段误伤等),就切到能藏 IP 的 09-03 CDN中转节点与隐藏IP。
四、一个好比喻
- 流量伪装 = 快递箱外面印「苹果店」包装 📦。墙是门口检查员,只看箱子外面,看到大众包装就放行;箱里装什么(加密的真内容)他看不到。
- 所有国外请求外壳都是「苹果」,在墙眼里 = 「这人常逛苹果官网」,毫无破绽——因为这事太普通了。
一句话总结
Reality 不靠藏 IP,靠「把翻墙流量伪装成访问大网站」,让墙识别不出、没理由封。流量伪装和 IP 隐藏是两件事,主节点只有前者,IP 被封就切 CDN 兜底。