Chromium 浏览器伪造 SNI

“Chromium 浏览器伪造 SNI”指的是一种通过修改 TLS 握手过程中的 SNI(Server Name Indication)字段,来绕过网络审查或访问被封锁网站的技术方法。


✅ 什么是 SNI?

SNI 是 TLS 协议的一个扩展,用于在客户端(如浏览器)与服务器建立 HTTPS 连接时,告诉服务器要访问的具体域名。由于这个字段在 TLS 握手阶段是明文传输的,因此网络审查系统(如 GFW)可以通过检测 SNI 字段来判断用户是否在访问被封锁的网站,并进行阻断。


✅ 什么是“伪造 SNI”?

伪造 SNI 就是人为修改浏览器在 TLS 握手中发送的 SNI 字段,使其不包含真实的目标域名,而是使用一个未被封锁的“替身”域名,从而绕过审查系统的检测。


✅ Chromium 浏览器如何实现伪造 SNI?

Chromium(包括 Chrome、Edge 等)支持通过启动参数实现 SNI 伪造,主要使用以下三个参数:

1
2
3
4
chrome.exe ^
--host-rules="MAP 真实域名 替身域名" ^
--host-resolver-rules="MAP 替身域名 IP地址" ^
--ignore-certificate-errors
  • --host-rules:将真实域名映射为一个“替身域名”,伪造 SNI。
  • --host-resolver-rules:将替身域名解析到一个未被封锁的 IP。
  • --ignore-certificate-errors:忽略证书不匹配带来的安全警告。

✅ 实际应用举例

假设你要访问 www.google.com,但它被 SNI 阻断:

1
2
3
4
chrome.exe ^
--host-rules="MAP www.google.com g.cn" ^
--host-resolver-rules="MAP g.cn 109.185.236.240" ^
--ignore-certificate-errors

这样浏览器会向服务器发送 g.cn 作为 SNI,但实际访问的是 www.google.com 的内容。


✅ 工具支持

目前已有多个开源工具可自动生成这些参数,比如:


⚠️ 注意事项

  • 仅适用于浏览器层面,不是全局代理。
  • 需要找到未被屏蔽的 IP 地址
  • 关闭浏览器进程后再启动参数生效
  • 有安全风险,建议只用于合法研究或教育用途


Chromium 浏览器伪造 SNI
https://blog.computerqwq.top/2025/08/16/chromium-liu-lan-qi-wei-zao-sni/
作者
计算机qwq
发布于
2025年8月16日
更新于
2025年8月16日
许可协议