花了一下午做流量分析,不得不承认这个协议确实很强,难以从流量上分辨。 但是!单入口不可能承载那么多流量! 理论上的最佳状态,是找一个大流量视频网站的同机房ip,然后使用这个ip作为伪装状态。但事实上,基本不可能在低价范围内找到这么一个IP地址。 一眼丁真,鉴定为:脱裤子放屁! 流量, 下午, 状态
一腔热血总喂狗 发表于 2023-5-5 19:39 有人介绍一下reality的原理吗 挺好奇的为什么可以不用证书 还能用别人的证书 ... tls握手时,转发流量到大站的ip上,从而进行真实证书的握手。 在握手时,tls有一个随机数,通常是真的随机的,而reality并不是真的随机,而是包含了认证信息的。 如果发现这个随机数符合认证信息,则认定连接方并不是真的浏览器,而是fq客户端,在完成证书交换后,切换到aes加密,并不使用真正的tls加解密来传输,这样就可以实现真握手,假tls了。 如果认证失败,则认为客户端是真的浏览器(或别的任何客户端),继续转发流量到大站,这样你就能看到一个真正的大站的页面了。由于只是流量转发,并不需要加解密,也就不需要知道私钥什么的了。 以上只是理论原理,实际实现要考虑更多因素,比如如何可靠的认证是有效的xray客户端防止误判,如何防重放。以及在脱离tls后的伪tls阶段如何模拟真实tls,使得从流量特征角度看和tls一模一样,等等都是相当繁琐的事情,一旦有自己的特征就很容易被抓住秒杀 PS: tls中可以利用的并不只有随机数一个,所有可以自定义的非加密的字段都可以拿来做认证。例如session_ticket,例如每个包开头都会有的报文序列号,都是明文的且没有固定值的,这些都可以用作认证用途,并且很难检测
一腔热血总喂狗 发表于 2023-5-5 19:39 有人介绍一下reality的原理吗 挺好奇的为什么可以不用证书 还能用别人的证书 ... 证书是偷别人的,客户端用的公钥发送信息,实际上服务端并没有真的私钥,更不可能去解密,而是进行了流量匹配和转发。