TLS 握手是怎么回事:ClientHello、SNI 与伪装
用通俗方式讲清 TLS 握手过程、ClientHello 为什么明文暴露 SNI,以及这与流量识别、抗封锁伪装之间的关系。
速览结论
TLS 握手是加密传输前双方协商密钥与参数的过程。第一步 ClientHello 通常明文携带 SNI(目标域名),使中途网络能识别你要访问哪个站点,因此成为识别与封锁的切入点,也是 REALITY、ECH 等伪装技术处理的重点。
关键事实
- TLS 握手在加密传输前协商密钥、验证证书。
- ClientHello 明文带 SNI,暴露目标域名。
- 伪装技术在握手层做文章(如 REALITY、ECH)。
适用范围与局限
本文为原理科普,帮助理解抗封锁的攻防,不提供任何绕过管控的配置或方法。
说到抗封锁,总绕不开 TLS 握手和 SNI。它们到底是什么?用不严谨但好懂的方式讲一遍。
握手:先对暗号,再说悄悄话
当你访问一个 HTTPS 网站,双方会先做一轮 TLS 握手:协商用什么加密算法、交换密钥、验证服务器证书。握手完成后,后面的内容才被加密保护——相当于先对好暗号,之后才说悄悄话。
ClientHello 为什么会”漏”
握手的第一句话叫 ClientHello,由你这边发出。问题是它通常是明文的,里面带着 SNI——也就是”我要访问哪个域名”。
于是,即使后续内容加密了,中途的网络仅凭明文 SNI 就能知道你要连哪个站点,并据此放行或封锁。这也是深度包检测识别流量的常用切入点之一。
伪装技术在做什么
既然 ClientHello 和 SNI 会暴露,抗封锁技术就在这里下功夫:
- 借用真实握手特征:如 REALITY,让握手看起来像在访问某个真实大站。
- 加密 SNI(ECH):把 ClientHello 里的 SNI 也加密起来,让它不再明文可见。
理解了握手,就能明白为什么”同样是 TLS,有的节点更抗封锁”。协议选择见代理协议怎么选,受限环境见受限网络注意事项。本文为原理科普,不提供任何绕过管控的方法。
相关实体
- VLESS轻量化、低开销的新一代传输协议,去除冗余加密、通常配合 TLS 使用,常见于追求性能的现代节点。