隐私与VPN

什么是WebRTC?

WebRTC是让浏览器无需插件就能进行视频通话和屏幕共享的技术。为了让两个浏览器直接连接,它必须发现它们的网络地址——而任何网页都可以触发这一发现过程,这就是它成为网站在VPN之后看到您真实IP地址的一种途径的原因。

本文内容

WebRTC的用途

浏览器之间的实时音频、视频和数据:会议服务、浏览器内通话、屏幕共享、部分文件传输和游戏网站。它内置于每个浏览器,不需要插件,并对它承载的一切进行加密。为了让连接穿过家用路由器,浏览器会收集ICE候选地址——它的本地地址,以及通过STUN服务器从外部看到的公网地址——然后双方交换这些地址。

立即测试

检测中
网站看到的IP216.73.216.52
WebRTC暴露的IP198.51.100.23

正在针对我们自己的测试服务器运行。不保存任何内容。

打开WebRTC泄露测试

IP泄露问题

泄露的正是候选地址的收集过程。网页可以创建一个连接对象、触发收集并读取候选地址,全程没有权限提示,也不需要真的进行任何通话。STUN请求会通过操作系统选择的任意路径发出,这条路径可能是物理接口而不是VPN隧道——而代理根本不承载它,因为STUN使用UDP。结果就是一个不属于VPN的公网地址,对网页可见。本地地址过去也以同样的方式泄露;现代浏览器现在用随机的mDNS名称替代它们。WebRTC泄露测试针对我们自己的STUN服务器执行的正是这样的收集,并把结果与网站看到的地址进行比较。

如何禁用或限制WebRTC

优先选择限制而不是禁用,这样通话仍能正常进行。Chrome、Edge和Brave支持WebRTC IP处理策略;把它设为禁用非代理UDP(Brave在其设置中,Chrome和Edge通过扩展或企业策略),WebRTC就只会使用默认路由——连接VPN时即VPN。Firefox:在about:config中把media.peerconnection.ice.default_address_only设为true,要彻底禁用WebRTC则把media.peerconnection.enabled设为false。Safari没有开关,但它会隐藏本地地址,并且只有在网页真正建立连接时才收集公网候选地址。许多VPN应用和扩展会替您应用同样的策略。无论改了什么,都请重新运行测试,确认状态为无泄露或已阻止。

常见问题

WebRTC有安全风险吗?

协议本身是安全的;它的媒体和数据都经过加密。隐私方面的顾虑在于无需提示的地址发现,这在您依赖VPN或代理隐藏地址时才构成问题。

如何禁用WebRTC?

Firefox:在about:config中把media.peerconnection.enabled设为false。Chrome、Edge、Brave:把IP处理策略设为禁用非代理UDP(Brave在“设置 › 隐私”中;Chrome/Edge通过扩展)。Safari:没有开关;iOS的锁定模式会禁用它。

阻止WebRTC好吗?

如果您使用VPN或代理,限制它(只使用默认路由)是好事,而且没有任何代价。彻底阻止它会让基于浏览器的通话失效;只有在您从不使用这类通话时才这样做。

WebRTC扩展是做什么的?

它设置浏览器的IP处理策略,让候选地址只通过默认路由收集,或者完全不收集,有时还会剔除本地地址。它无法加密或转发流量。

检测到WebRTC IP泄露意味着什么?

网站可以读取一个不属于您VPN的公网地址——通常是您的家庭或移动地址——并记录或定位它。我们的测试不会把任何内容发送到任何地方;请采用其中一种修复方法,然后重新测试。

CheckMyIP Team
Network engineers and privacy researchers