指南
什么是 WebRTC 泄漏?
WebRTC 帮助浏览器进行实时通话。在这个过程中,它可能会发现一些 IP 地址——包括 VPN 本应向网站隐藏的那些。
为什么要关心
VPN 会改变普通网站看到的公网 IP。WebRTC 不同:页面可以向浏览器索取点对点通话用的连接地址。
如果这些地址里包含你的真实公网 IP 或本地网络地址,那么对这个页面来说,VPN 的保护是不完整的——即使普通的“我的 IP”检查看起来正常。
WebRTC 是什么
WebRTC 是浏览器里用于音频、视频和数据点对点传输的技术,不需要插件。为了找到一条能通的路径,浏览器会收集 ICE 候选——对端可能使用的地址。
收集这些候选通常会用到公网上的一台 STUN 服务器。这对通话有用,但当任意网页也能读到同一份列表时,对隐私就有风险。
预期情况
网站看到的是 VPN 地址
- 你的设备
- VPN 出口 IP
- 网站
泄漏
WebRTC 仍暴露真实或本地 IP
- 你的设备
- 真实公网 IP
- 局域网地址
- 网站
本地暴露与公网暴露
host 候选通常是局域网地址(例如 192.168.x.x)。看到它,说明页面了解到你本地网络的一些情况——这是有用的背景,但并不等于暴露了运营商的公网 IP。
服务器自反(srflx)候选是从互联网一侧看到的公网地址。对 VPN 用户来说,关键问题是这个公网地址是否与加载页面所用的地址一致——如果隧道覆盖了这个网站,通常就是 VPN 出口。泄漏测试按同一 IP 族比较(IPv4 对 IPv4,IPv6 对 IPv6);另一族会列出来供你核对,不会自动标成泄漏。
mDNS 名称不是重点
许多浏览器会把原始局域网 IP 藏在以 .local 结尾的名称后面(mDNS)。这减少了 192.168 地址被随手看到的机会,但修不好公网 IP 泄漏。
阅读泄漏测试时,把 mDNS 理解成“本地身份被遮住了”,而不是“没有共享任何敏感信息”的证明。
你可以做什么
优先使用浏览器或 VPN 里限制 WebRTC 可共享哪些 IP 的设置,而不是关掉 WebRTC——除非你完全不需要浏览器通话。
Chrome 和 Edge 已不再提供旧的 chrome://flags WebRTC 开关;托管浏览器可以设置 WebRTC IP 处理策略。Firefox 可以在 about:config 里限制 ICE 的 host 候选——关掉 media.peerconnection.enabled 会中断通话。有些 VPN 应用自带 WebRTC 防护,有的话就用上。
改完设置后,重新运行 WebRTC 泄漏测试,把任何公网候选和你的 VPN IP 对照。
如何检查
连接 VPN 后打开 WebRTC 泄漏测试。记下页面对你这次连接报告的公网 IP,再看 WebRTC 是否列出了另一个公网地址。
如果只出现局域网地址或 mDNS 名称,请按你自己的风险来理解它的含义。如果某个公网地址与 VPN 出口不同,优先处理这一项。
请记住
- “我的 IP”结果正常,并不能证明 WebRTC 是安全的。
- 完全禁用 WebRTC 会破坏许多浏览器内通话——更稳妥的是限制 IP 暴露。
- 不同网站使用 WebRTC 的方式可以不同;测试页展示的是这个浏览器会向类似脚本暴露什么。
- 浏览器或 VPN 更新后请重新检查。
