什么是 WebRTC 泄漏?
WebRTC(Web Real-Time Communication)是浏览器内置的实时通信技术,用于视频通话、语音聊天和点对点文件传输。WebRTC 建立连接时需要交换双方的 IP 地址,包括本地 IP和公网 IP。
问题在于:WebRTC 的 IP 发现机制(ICE 协议)会绕过系统代理和 VPN 隧道,直接向 STUN 服务器请求真实 IP。这意味着即使你开着 VPN,网页中的 JavaScript 也可能通过 WebRTC 获取你的真实公网 IP,从而暴露你的真实位置。
如何检测 WebRTC 是否泄漏
使用 tool.tl WebRTC 泄漏检测工具:
- 连接你的 VPN
- 打开 tool.tl/webrtc-leak-test
- 工具会显示通过 WebRTC 检测到的所有 IP 地址
- 对比显示的 IP 与你的 VPN IP:若出现真实 ISP IP,则存在泄漏
泄漏判定:如果在检测结果中看到你真实的公网 IP(而非 VPN 服务商的 IP),说明存在 WebRTC 泄漏。本地内网 IP(192.168.x.x 或 10.x.x.x)出现是正常现象。
WebRTC 泄漏 vs DNS 泄漏
如何防止 WebRTC 泄漏
方法 1:在浏览器中禁用 WebRTC
Firefox(最简单):
- 地址栏输入
about:config
- 搜索
media.peerconnection.enabled
- 双击将值改为
false
Chrome / Edge:Chrome 不支持直接禁用 WebRTC,推荐安装扩展:
- WebRTC Leak Prevent(Chrome 扩展商店)
- uBlock Origin(在设置中启用「阻止 WebRTC 泄漏」)
Safari:Safari 默认对 WebRTC 有更严格的限制,泄漏风险相对较低。
方法 2:选择内置 WebRTC 防泄漏的 VPN
部分 VPN 客户端(如 Mullvad、ExpressVPN)会在系统层面拦截 WebRTC 请求,使其也经过 VPN 隧道,彻底解决泄漏问题。
方法 3:使用隐私浏览器
Brave 浏览器默认屏蔽 WebRTC IP 泄漏;Tor Browser 完全禁用了 WebRTC。
禁用 WebRTC 会影响什么功能?
禁用 WebRTC 后,以下功能将无法使用:
- 浏览器内的视频通话(Google Meet、Jitsi Meet 等)
- 浏览器内的语音聊天
- 部分 P2P 功能
如果你需要使用这些功能,建议使用浏览器扩展(而非完全禁用),扩展可以在需要时临时允许 WebRTC。
常见问题(FAQ)
Q:所有网站都能通过 WebRTC 获取我的真实 IP 吗?
A:任何加载了相关 JavaScript 的网页都可以尝试通过 WebRTC API 获取 IP,但只有在 WebRTC 实际泄漏时才会成功。关闭 WebRTC 或使用防泄漏扩展后,网站无法再获取真实 IP。
Q:手机浏览器也有 WebRTC 泄漏问题吗?
A:iOS 的 Safari 和 Chrome 对 WebRTC 的限制较严格,风险相对低。Android Chrome 同样支持 WebRTC,建议使用 Firefox for Android 并禁用 WebRTC。
Q:检测结果显示多个 IP 正常吗?
A:正常。WebRTC 通常会列出所有可用的网络接口 IP,包括本地 WiFi IP(192.168.x.x)、以太网 IP 等。关键是检查其中是否包含你的真实公网 IP。