WeHack BBS
WireGuard 里的 HTTPS 流量似乎会被识别 - 可打印的版本

+- WeHack BBS (https://bbs.wehack.space)
+-- 版块: 计算机技术 (https://bbs.wehack.space/forum-5.html)
+--- 版块: 网络技术与信息安全讨论区 (https://bbs.wehack.space/forum-7.html)
+--- 主题: WireGuard 里的 HTTPS 流量似乎会被识别 (/thread-82.html)



WireGuard 里的 HTTPS 流量似乎会被识别 - vimacs - 09-19-2019

我今天尝试通过 WireGuard VPN 隧道访问一些网络资源,发现了一些奇怪的现象。我的 WireGuard 隧道能 ping 通,但是却无法通过它访问网站,traceroute 网站的 IP 却没有问题。
此前在某篇英文博客里了解到,GFW 可以根据 TLS 的流量特征,识别出 TLS 代理中的 TLS 流量,我怀疑 WireGuard 里的 TLS 被识别了。于是我做了以下尝试:
1. 用 curl 通过明文的 HTTP 访问这个网站,结果得到了响应
2. 同样的用 curl 通过 HTTPS 访问,结果停在 TLS Client hello 就没反应了
3. 对于一个会通过 WireGuard 访问的 IP,我用 SSH 访问,没有问题
4. 神奇的是,我访问另一个有 TLS 服务的端口,服务端有 Server hello,但是接下来也没响应了

通过 Wireshark 抓包,对比 1 和 4,发现访问非 443 的端口时,的确能看到服务器发来的 "Hello Retry Request, Change Cipher Spec" 包,但是之后就没回应了。

更奇怪的是,似乎某些网站通过 WireGuard 访问没问题,我刚刚发现 www.ssllabs.com 是通过 WireGuard 访问的,HTTPS 也没问题。

我这次试着用同一个服务器软件开443和另一个端口,这次在这个另外开的端口也没看到Server hello,看来现象4和服务器软件有关。