WebRTC 泄漏
WebRTC 泄漏是指尽管你的全部流量都走代理,网站却依然能获知你的真实 IP 地址。
WebRTC 是浏览器内置的一种直接通信技术:通话、视频、两个浏览器之间的直接文件传输。为了建立直接连接,浏览器需要知道自己的地址——于是它会联系辅助服务器(STUN)来收集这些地址。这些请求会绕过代理设置,因为 WebRTC 的任务就是寻找最短路径,而代理恰恰会妨碍最短路径。
结果就是,网站会看到两个地址:来自代理的假地址,以及来自 WebRTC 的真实地址。页面只需几行代码就能读取到它们,不需要任何权限,也不需要询问。
为什么它比听起来更糟糕
这不是"指纹里多了一行数据"这么简单。这是一种直接的矛盾:声称的国家是一个,真实的国家是另一个。仅仅一次这样的不一致,就足以把你原本想要区分开的账号关联起来,也足以解释为什么本不该出现验证码的地方却出现了验证码。
我们在实践中发现的事实
这个泄漏问题只能通过浏览器配置文件内部的一项设置来解决——把 WebRTC 切换到不暴露本地地址的模式。
⚠️ 命令行参数没有用。 这一点让我们单独花了一次调查:用相应的开关启动浏览器看起来像是解决了问题,但实际上什么都没改变——检测依旧显示真实地址。只有配置文件设置中的一条记录才有效,并且是在启动时生效的。
由此得到的实践结论是:要检查的是结果,而不是"我打开了某个开关"这件事本身。"我们设置了这个参数"不能算证据;真正的证据是一个检测页面,上面看不到真实地址了。
是否应该彻底关闭 WebRTC
彻底关闭本身就是一个破绽:在普通人身上,WebRTC 是在正常工作的,因为视频通话要用到它。正确的做法不是关闭这项技术,而是切断它对本地地址的访问——这样通话仍然能用,同时也不会泄漏。
如何检查
WebRTC 泄漏检测——免费,无需安装任何东西。它会显示你的浏览器暴露了哪些地址,以及它们是否与代理的地址一致。
