相比于一天前的 TLS 实现故障,这次的问题出在服务端。且事态比我们一开始想象的更严重。
简而言之,如果 GFW 怀疑你在用 vmess+tcp,只需捕获 vmess 数据流中的第一个包,基于此包恶意构造出 16 个衍生数据包,并在 30 秒内发送,即可通过观测服务器的行为,以近乎 100% 的成功率探测出你的服务是否是 vmess + tcp。
无加密的vmess+ws+tcp同样会遭到探测。其他传输层协议的组合,如,vmess+tls、vmess+ws+tls、vmess+cdn+tls亦有可能受到波及。
此问题目前没有可行的缓解措施。解决该问题很可能需要重新设计 vmess 协议。我们给出了详细的复现方法以及实际的 PoC,若有相关知识,不妨试着重现一下。
请参阅 https://github.com/v2ray/v2ray-core/issues/2523 。