使用方法
- 开启 VPN,然后打开本页并点击 “运行测试”。
- 等待几秒钟,页面会联系两台公共 STUN 服务器。
- 阅读结论。若它提示某个公网地址不同,请关闭再重新开启 VPN,然后再运行一次测试。
测试做什么
WebRTC 让浏览器可以彼此直接连接,用于通话和文件共享。为了找到路径,它会收集候选地址:设备自己的地址,以及 STUN 服务器返回的公网地址。测试用两台公共 STUN 服务器(谷歌的 stun.l.google.com 与 Cloudflare 的 stun.cloudflare.com)开始此收集,并读取浏览器找到的候选地址。
STUN 服务器报告的公网地址,就是您的流量离开的地址。若它与我们服务器为您的请求看到的地址不同,则 VPN 可能并未承载您的全部流量。STUN 服务器为了回应,必须看到您的公网地址,除此之外,它们不会从本页获得其他任何信息。
按浏览器停止 WebRTC 泄露的方法
各浏览器提供的控制不同,且步骤会随版本变化。每次更改后,请重新检查本测试的结果。
- Firefox:打开 about:config,将 media.peerconnection.ice.default_address_only 设为 true,使 WebRTC 只使用默认路由。将 media.peerconnection.enabled 设为 false 则会完全关闭 WebRTC,从而停止浏览器通话。Mozilla 的维基页面说明了这两项设置。
- Edge:微软记载了一项名为 WebRtcLocalhostIpHandling 的策略,由管理员设置。其值 AllowPublicInterfaceOnly 使 WebRTC 只使用公网接口。我们未找到面向普通用户的设置。
- Brave:其设置中有一项 WebRTC IP 选项,即 Default Public Interface Only,见 Brave 的文档。菜单位置因版本而异。
- Chrome:我们未找到面向普通用户的官方设置。通常的办法是使用实现相同限制的扩展;请选择您信任其代码的扩展。
- Safari:我们未核实针对 WebRTC 地址的设置。
- 任何浏览器:阻止 WebRTC 流量的 VPN,或将整台设备的流量都导入 VPN 的做法,都能从源头解决问题。之后请再次运行本测试。
本测试不能显示的内容
- 它不测试每一条路由。连接可能使用 STUN 服务器未报告的地址。
- 它无法判断某个候选地址来自哪个网络接口,因此不同的地址可能来自普通连接。
- 隐藏的 .local 名称代表浏览器未透露的本地地址;本测试无法读取它。
示例:一个发生泄露的 VPN
下列地址为 RFC 5737 规定的文档用地址,用来代替真实地址。我们的服务器看到的是 VPN 服务器的地址,而浏览器还报告了普通连接的地址。
因此结论是可能存在泄露,页面会列出不同的那个地址。
| 地址 | 由谁看到 | 结果 |
|---|---|---|
| 203.0.113.7 | 我们的服务器 | VPN 的地址 |
| 198.51.100.9 | 浏览器(WebRTC) | 不同:普通连接的地址 |
| 192.168.1.10 | 浏览器(本地) | 本地地址,非公网 |
常见问题
为什么 WebRTC 会暴露我的 IP 地址?
WebRTC 会收集设备的每一个地址,以便找到通往另一个浏览器的路径。VPN 承载您的网页流量,但除非浏览器或 VPN 设置为阻止,部分 WebRTC 流量仍可能经由普通连接离开。
本测试会把我的 IP 地址发送到某处吗?
测试期间,您的地址会到达两台 STUN 服务器,因为它们必须对其作出回应。我们的服务器也会看到该地址,与每个请求一样,但不会存储它。除此之外,您输入或点击的内容都不会被发送。
为什么测试说隐藏的 .local 名称不是我的地址?
浏览器会用以 .local 结尾的随机名称替换设备的私有地址,因此网页本身无法读取该地址。该名称只是占位符;测试会统计这些名称,但无法看穿它们。
如果结论说公网地址不同,而我并没有使用 VPN,怎么办?
您的设备可能拥有一个 IPv6 地址,而您的 IPv4 流量并不使用它,本测试会将其报告出来。在断定有任何泄露之前,请先检查连接的 IPv6 设置。
为什么测试不请求摄像头或麦克风权限?
它并不需要这些权限。授予摄像头或麦克风的访问权限,会使浏览器显示您真实的本地地址,因此测试把这一选择留给您自己。
我可以相信声称能阻止 WebRTC 的 VPN 吗?
请亲自测试。开启 VPN 后运行本页,并阅读结论。宣称本身不是证明,更新或更换网络之后,泄露可能再次出现。
资料来源
- RFC 8839:ICE 的 SDP 语法,候选属性(第5.1节)(英文)
- IETF 草案:使用多播 DNS 保护 ICE 候选地址的隐私(已过期)(英文)
- Mozilla 维基:WebRTC 隐私设置(英文)
- Microsoft:Microsoft Edge 的 WebRtcLocalhostIpHandling 策略(英文)
- Cloudflare:TURN 与 STUN 服务器(英文)
- RFC 5737:保留给文档使用的 IPv4 地址块(英文)
数据和文字最近核对于2026年11月10日星期二。