如何在浏览器中检测 WebRTC 泄露
隐私与安全

如何在浏览器中检测 WebRTC 泄露

WebRTC 泄露可能在您使用 VPN 时暴露您的真实 IP。了解如何在 Chrome、Firefox 和 Safari 中检测 WebRTC 泄露,以及如何修复。

6 分钟阅读·

WebRTC 泄露会在您毫不知情的情况下,向您访问的每个网站暴露您的真实 IP 地址——即使 您的 VPN 正在运行并显示完全不同的 IP。使用 whatsmy.fyi 进行测试只需 30 秒,该测试会在每次加载页面时自动运行。

什么是 WebRTC 泄露?

WebRTC(Web 实时通信)是一种浏览器 API,无需插件即可实现视频通话、语音聊天和文件 共享等点对点功能。为了在浏览器间建立直接连接,WebRTC 需要发现设备的 IP 地址—— 包括本地网络 IP,以及关键的真实公共 IP 地址。

问题在于:WebRTC 在浏览器层面绕过了 VPN 的 IP 掩蔽。即使 VPN 处于活跃状态,网站 也可以用一小段 JavaScript 代码触发 WebRTC,并从浏览器中读取您真实的家庭 IP 地址—— 在您不知情也未同意的情况下。

在我们关于 WebRTC 泄露是什么及其工作原理的指南中阅读完整背景。

第一步:关闭 VPN 测试(获取您的真实 IP)

  1. 确保您的 VPN 已断开连接
  2. 打开 whatsmy.fyi,记下:
    • 您的公共 IP 地址(显示在顶部主区域)
    • WebRTC 泄露测试结果(显示在 WebRTC 卡片中)
  3. 没有 VPN 时,WebRTC 卡片通常会显示您的真实 IP——这是正常现象。记下它。

第二步:连接 VPN 并重新测试

  1. 连接 VPN 并选择服务器。
  2. 重新加载 whatsmy.fyi(不只是刷新——使用硬刷新清除任何缓存状态:Mac 上按 Cmd+Shift+R,Windows 上按 Ctrl+Shift+R)。
  3. 比较结果:
    • 主区域 IP:现在应显示 VPN 服务器 IP,而非您的家庭 IP。
    • WebRTC 泄露测试卡片:应显示"未检测到泄露"以及 VPN IP。 如果显示了第一步中您原来的家庭 IP,则证实存在 WebRTC 泄露。

理解 WebRTC 测试结果

  • 未检测到泄露(安全):WebRTC 已被禁用,或返回的 IP 与您的 VPN 连接相同。您的真实 IP 没有被暴露。
  • 检测到泄露:WebRTC 返回了与 VPN IP 不同的 IP。如果该 IP 与第一步 中您的真实家庭 IP 匹配,则泄露已被确认。
  • 仅本地 IP:WebRTC 返回了私有/本地 IP 地址(192.168.x.x 或 10.x.x.x)。这是部分泄露——不是您的公共家庭 IP,但仍暴露了您的本地网络结构。

如何修复 WebRTC 泄露

在 Firefox 中修复(推荐——最简单)

  1. 在 Firefox 地址栏中输入 about:config 并按 Enter。
  2. 接受警告。
  3. 搜索 media.peerconnection.enabled
  4. 双击它将值设置为 false
  5. 这会完全禁用 WebRTC。依赖 WebRTC 的视频通话应用将无法在此 Firefox 配置文件中工作, 但您的 IP 不会泄露。

在 Chrome 中修复(需要扩展)

Chrome 不允许通过设置禁用 WebRTC。您有两个选项:

  • uBlock Origin:进入 uBlock Origin 控制面板 → 设置标签页 → 勾选"阻止 WebRTC 泄露本地 IP 地址"。这限制了 WebRTC 的暴露内容,但不会完全 禁用它。
  • WebRTC Leak Prevent:一个专用的 Chrome 扩展,让您对 WebRTC IP 处理策略(默认、default_public_interface、disable_non_proxied_udp)有细粒度控制。

在 Safari 中修复

macOS 上的 Safari 支持 WebRTC,但历来在暴露内容方面更为保守。要完全禁用 WebRTC:

  1. Safari → 偏好设置 → 高级 → 勾选"在菜单栏中显示开发菜单"。
  2. 开发菜单 → 实验性功能 → 取消勾选"WebRTC"。

注意:此选项可能并非在所有 Safari 版本中都存在。如果不可用,请使用在系统级别(而非 仅浏览器扩展)处理 WebRTC 的 VPN。

通过 VPN 客户端修复

高端 VPN 客户端(Mullvad、ProtonVPN、ExpressVPN)在应用层面提供 WebRTC 泄露保护, 将 WebRTC 流量路由经过 VPN 隧道。这是最干净的解决方案——在不禁用浏览器 WebRTC 功能的情况下防止泄露。

在 VPN 应用设置中查找标有"防止 WebRTC 泄露"、"WebRTC 保护"或类似名称的选项。 启用后重新连接,并在 whatsmy.fyi 上重新测试。

第三步:验证修复效果

  1. 应用您选择的修复方案后,在 VPN 仍然连接的情况下重新加载 whatsmy.fyi。
  2. WebRTC 泄露测试卡片现在应显示:
    • "未检测到泄露",或
    • 与您的 VPN 连接相同的 IP
  3. 如果泄露仍然存在,您的 VPN 客户端可能使用的浏览器扩展不够充分——换用系统级 VPN 修复(Chrome 上使用 uBlock Origin,或 Firefox 上使用 about:config)。

DNS 泄露也会暴露我的 IP 吗?

DNS 泄露是一个独立的问题。它不会暴露您的 IP 地址,但会让您的 ISP 看到您正在访问的域名。 WebRTC 泄露和 DNS 泄露是独立的——同时修复两者才能获得完整保护。如果您正在 验证 VPN 是否正常工作,请同时测试两者。

为什么使用 VPN 时 WebRTC 会泄露?

VPN 软件通常在操作系统网络层面拦截流量。WebRTC 在这些接口完全进入 VPN 隧道之前就 直接调用操作系统网络接口——或者它使用完全绕过隧道的 STUN 服务器请求。这是系统级 VPN 隧道无法始终拦截的浏览器级行为。

根本原因与 网站能够检测 VPN 使用的原因相同:浏览器暴露的信息超出了 VPN 隧道所能感知的范围。

常见问题

我禁用了 WebRTC——视频通话还能用吗?

依赖 WebRTC 的应用(Google Meet、Zoom 网页版、浏览器内的 Discord)在完全禁用 WebRTC 的浏览器中将无法工作。请为这些服务使用原生桌面应用,它们不依赖浏览器 WebRTC。

本地 IP 泄露(192.168.x.x)危险吗?

本地 IP 泄露暴露了您的内部网络 IP,网站无法用它在外部识别您。但它确认 WebRTC 处于 活跃状态,可能与其他指纹技术结合使用。无论如何都应该屏蔽它——暴露它没有任何好处。

移动浏览器也有 WebRTC 泄露吗?

移动版 Chrome 和 Firefox 支持 WebRTC,可能以与桌面浏览器相同的方式泄露。移动版 Safari 历来限制更严格。在您的移动浏览器上使用 whatsmy.fyi 的 WebRTC 测试,检查您 特定设备和浏览器组合的情况。

即时查询您的 IP 地址、位置与隐私评分。

零日志。零追踪。零外部 API。

立即检测 →

相关文章

如何在浏览器中检测 WebRTC 泄露 | whatsmy.fyi