SNI 阻断测试

2024年1月16日,最早在凌晨的时候,就有用户发现 GitHub 难以连接,主要是难以通过 SSH 连接。

之前 GitHub 被干扰了多年,这次让人怀疑干扰被加强了。gledos 觉得可以测试一下 GitHub 的 SNI 阻断情况,不过找了一下,没有现成的简单易用的工具。

于是让 GPT 写了一个工具,能够测试任意域名的 SNI 阻断状况。原理来自 OONI,本质上是「域前置」的反向应用。

比如使用写着 https://google.com/ 的 SNI,来访问 Cloudflare。GFW 会使用深度包检测,检查 SNI 部分的内容,结果就会看到谷歌的 SNI,以为用户访问的是谷歌,然后发送 TCP Reset。

下面是一些域名的测试结果(30 秒左右):

+ 百度:轻松通过测试,成功连接 30 次。
+ 谷歌:被 TCP Reset。
+ Steam 社区:被 TCP Reset。
+ Steam 商店:部分请求遭到了延迟,无法在一定时间内完成握手,这可能就是用户感到「网络劣化」的原因之一。成功连接 15 次。
+ GitHub:遭到延迟的概率比 Steam 商店高多了。成功连接只有 5 次。
+ GitHub Gist:被 TCP Reset。

(以上测试不够严谨,也许需要其他地区的人来测试)

工具是由 Python 编写的,没有使用第三方依赖,应该可以直接使用。代码被托管在了 GitHub Gist

#工具 #原理
 
 
Back to Top