Twitter | Search | |
28小盆友
最近观察到对 TLS SNI 的审查有扩大的情况。还记得之前 steamcommunity 不是被投毒污染了吗?他们用的是 Akamai 一般来说地址相当多,然后很多用户就学会了改 Hosts 之类的方法 然而现在根据 TLS SNI 带域名进行连接重置,也就是说你把所有 IP 地址全用个遍都没用,而且升级到 TLS 1.3 也无法防止……
Reply Retweet Like More
28小盆友 Aug 24
Replying to @chengr28
有 2 个比较简单的方法可以分辨是不是被 TLS SNI 连接重置,第一个是改 Hosts 把域名强制指到某个确定完全无害的网站上,看是否还会被 RESET;还有一个方法是看数据包,如果一发送 Client Hello 服务器还没反应就被发虚假数据包,多半就是,因为证书是完成第一次交换才开始传输的
Reply Retweet Like
28小盆友 Aug 24
Replying to @chengr28
Telegram 逃避这种审查用的是 Domain Fronting 方法,就是 DNS 和 TLS SNI 的域名是无害的伪装的,然后到加密的内部 HTTP 请求的时候用的是真正域名进行请求,能绕过这种审查。不过比较可惜的 Google 和 AWS 都关闭支持了,因为就严格来说这种不是标准的用法
Reply Retweet Like
28小盆友 Aug 24
Replying to @chengr28
还有一种框架内的处理方法是加密 SNI/ESNI,不过现在 ESNI 是草案状态,所以 TLS 1.3 里还是明文的,不能规避这种问题。也就是说如果不借助代理服务器,这种 TLS SNI 的审查就绕不过去,就像服务器 IP 地址被封了一样。
Reply Retweet Like
Victoria Raymond Aug 24
Replying to @chengr28
然而ESNI的加密是基于DNS的,又绕回去了........
Reply Retweet Like
辛烈志信徒 Aug 24
Replying to @chengr28 @maylogcom
强国造gfw的都必须上路灯
Reply Retweet Like
古斯塔夫·黎曼📡🎶 and 75 others Aug 24
Replying to @chengr28
可不可以理解tls代理有点类似domain fronting的机制?
Reply Retweet Like
28小盆友 Aug 24
Replying to @gustafriemann
这样理解也没错
Reply Retweet Like
bluebit Aug 24
Replying to @chengr28
wikipedia zh开头的子域名好像中枪了😅 不过GFW的垃圾TCP还是很好骗
Reply Retweet Like
AegisPromise Remastered🇺🇸🇹🇼 Aug 24
Replying to @chengr28 @iRicecake
也許TLS1.3正式版可以解決搶答的問題(
Reply Retweet Like
喵森 Sip Aug 24
Replying to @chengr28
emmm 学习了😂
Reply Retweet Like
28小盆友 Aug 24
TCP 层的 RESET 和上层是什么协议没有关系 除非不用 TCP
Reply Retweet Like
28小盆友 Aug 24
Replying to @bluebit_cg
他们黑名单也是分不同级别的,比较严重的会用上实验性或者更高级的屏蔽手段,然后低一级的少一些,再低的可能随便阻止一下就算了的
Reply Retweet Like
bluebit Aug 24
Replying to @chengr28
思路依然好使,Linux用rawsocket实现用在路由器上,Windows的winpcap不熟没实现。
Reply Retweet Like
Qianyu Aug 25
Replying to @chengr28
ESNI可以解决?之前IPv6这样,现在IPv4也这样了?估计以后全用Reset节省性能和方便更新吧。
Reply Retweet Like
闫恩铭 Aug 25
Replying to @chengr28
诶那话说,TLS1.3到底改了什么被吹得神乎其神
Reply Retweet Like
闫恩铭 Aug 25
Replying to @chengr28
我感觉别人吹的不就是SNI么,结果到头来SNI上还是没动作
Reply Retweet Like