WebRTC 泄露:它如何暴露您的真实 IP 地址

WebRTC 泄露:它如何暴露您的真实 IP 地址

你的 VPN 已开启。出口节点显示你位于苏黎世。你的钱包看起来匿名。然而,你浏览器中内置的一项功能却悄悄地将你的真实IP 地址——与你的家庭住址和姓名关联的那个地址——透露给了某个网站。这项功能就是 WebRTC,而它造成的漏洞被称为 WebRTC 泄漏。

对大多数人来说,这只是隐私上的小麻烦。但对于持有加密货币的人来说,这却是导致陌生人知道哪个钱包属于哪个家庭的链条上的第一步。本指南将带您了解这条链条的其余部分:WebRTC 泄露是什么,它如何绕过 VPN,如何进行测试,以及如何在所有浏览器中禁用它。此外,本指南还将解释为什么浏览器访问钱包的那一刻,这个问题就显得尤为重要。

什么是 WebRTC 泄漏以及它发生的原因

WebRTC 代表 Web 实时通信。简单来说,它就像是底层架构,让浏览器无需插件即可进行视频通话、语音聊天和文件传输,并且自 2011 年左右以来,所有主流浏览器都已内置了这项功能。但问题就在这里:要直接连接两个人,双方都必须知道对方的 IP 地址。这不是 bug,而是整个流程的必要条件。

问题在于任何网站都能触发这种漏洞。网页会在后台建立 WebRTC 连接,读取浏览器提供的 IP 地址。无需任何权限提示,也没有任何可见的标记。即使你使用 VPN,你的真实地址仍然会显示出来,这就造成了 WebRTC 信息泄露。这并非什么新鲜事。开发者Daniel Roesler 早在 2015 年 1 月就发布了一个可行的概念验证,直接从 VPN 用户的浏览器中获取真实 IP 地址。十年过去了,这种机制几乎没有任何改变。

这种攻击最阴险的地方在于它的隐蔽性。没有弹窗,没有权限提示,地址栏里什么都没有。这种请求根本不会出现在普通用户会查看的网络日志里,广告拦截器也会视而不见,因为对浏览器来说,它看起来就像普通的 WebRTC 设置,而不是追踪器。所以,即使你同时运行付费 VPN、干净的浏览器和广告拦截器,你的真实地址仍然会被泄露给第一个索要地址的页面。隐蔽且常规:这正是这种漏洞能够存活十年之久的原因。

泄露机制原理:STUN、NAT 和您的 IP

要了解为什么 VPN 不能自动防止 WebRTC 泄漏,了解浏览器在底层实际执行的操作会有所帮助。

眩晕和冰冻机制

大多数设备都位于执行 NAT(网络地址转换)的路由器之后,因此您的计算机不知道自己的公网地址。为了找到它,WebRTC 使用一个名为 STUN 服务器的辅助程序。浏览器会向 STUN 服务器提出一个简单的问题:“从您的角度来看,您认为我来自哪个地址?” 服务器会回答您的公网 IP 地址。WebRTC 会收集多个这样的答案,称为 ICE 候选地址,并将它们列出,以便对等方可以选择路由。一个窥探网站只需读取这个列表即可。一切就此结束。

为什么这很重要?因为整个 STUN 交换过程都运行在 JavaScript 中,任何页面都可以触发它。不像摄像头或位置信息那样会弹出对话框。脚本会打开一个对等连接,获取浏览器生成的 ICE 候选地址,并从列表中读取地址。所有操作都在极短的时间内完成,浏览器看起来没有任何异常。它只是完成了 WebRTC 的设计初衷。

公网 IP 与本地 IP

WebRTC 可以分配两个不同的地址,它们透露的信息也不同。你的公网 IP 地址指向你的大致位置和互联网服务提供商。你的本地 IP 地址(例如 192.168.1.7)则映射你家或办公室内部的网络。这两个地址都不应该落入任何随机网站之手。但公网 IP 地址才是真正需要你关注的,因为它指向现实世界:一座城市、一家服务提供商,最终指向一扇门。

为什么VPN无法阻止它

VPN会重定向您的正常网络流量。问题在于,STUN 请求可以绕过 VPN 隧道,直接到达 STUN 服务器,并返回您真实的公网 IP 地址。浏览器在 2019 年和 2020 年修复了部分漏洞,将本地 IP 地址替换为加密的 mDNS 主机名。这有所帮助,但只能隐藏本地 IP 地址。STUN 请求返回的公网 IP 地址仍然可以泄露出去。更糟糕的是,一旦网站授予麦克风或摄像头权限,这种伪装通常会失效。因此,在大多数人认为安全的地方,这种泄露依然存在。

webrtc 泄漏

如何正确运行 WebRTC 泄漏测试

核实大约需要一分钟,而且你不必轻信任何人的话。

首先关闭 VPN,记下连接显示的公网 IP 地址。然后打开 VPN,并打开一个 WebRTC 泄漏测试页面,例如 browserleaks.com/webrtc 或 ipleak.net。对比结果。如果 VPN 工作正常且没有 IP 泄漏,您应该只看到 VPN 的地址。如果第一步中记下的 IP 地址出现在页面上的任何位置,则说明您找到了泄漏点。要更全面地了解浏览器暴露的所有信息,可以参考 BrowserLeaks 指南中介绍的更广泛的检查方法,同样的逻辑也适用于这些检查。

检查 WebRTC 泄漏时,有几点容易让人困惑。你可能会看到一个看起来像乱码字符串的本地 IP 地址,以 .local 结尾。别担心,这是 mDNS 掩码在起作用,并非泄漏。真正重要的地址是公网 IP 地址。务必使用你处理敏感信息时使用的浏览器和配置文件进行测试。设置和扩展程序不会跨浏览器同步。每次浏览器更新后都要重新运行测试,因为补丁程序可能会悄悄地将这些设置改回去。

哪些浏览器会泄露你的IP地址,哪些不会。

并非所有浏览器都以相同的方式处理 WebRTC 泄漏,而这些差异很重要,因为市场格局已经发生了变化。

浏览器WebRTC 泄漏风险内置保护
铬合金高的非原生功能;需要扩展
火狐浏览器中高默认情况下会泄露公共 IP 地址,但很容易禁用。
勇敢的低的默认启用指纹和 WebRTC 保护
Tor浏览器没有任何RTCPeerConnection 已完全禁用

Chrome浏览器之所以成为问题的核心,完全是因为它的用户覆盖面。截至2026年5月,它占据了 全球浏览器市场约70%的份额,而且它本身并没有提供任何可以阻止WebRTC泄露用户IP地址的原生开关。Firefox浏览器的市场份额约为2%,它也默认泄露用户的公共IP地址,不过至少它允许用户通过一个简单的设置来禁用这项功能。Brave浏览器则是一个亮点。它在2025年9月的月活跃用户数突破了1.01亿,并且是唯一一款默认开启WebRTC保护的主流Chromium内核浏览器。至于Tor浏览器?Tor通过完全禁用点对点连接来规避这个问题,而这正是隐私研究人员不断向新手推荐它的原因。

如何禁用 WebRTC 并防止泄漏

有两种方法可以关闭此功能。要么彻底禁用 WebRTC,要么将其限制为只能访问您指定的地址。具体选择哪种方法取决于您是否真的在浏览器中进行视频通话。以下是针对不同浏览器的实用指南。

浏览器如何禁用或限制影响
火狐浏览器about:config,将 media.peerconnection.enabled 设置为 false完全禁用
铬合金安装 WebRTC 网络限制器或 WebRTC 控制器限制暴露
边缘edge://flags,启用“匿名化本地 IP”部分的
狩猎之旅开发菜单、实验性功能、限制 WebRTC部分的

Chrome 和 Edge

Chrome浏览器比较麻烦。它的菜单中没有隐藏的关闭按钮,所以要屏蔽WebRTC,你需要一个扩展程序。谷歌发布了自己的WebRTC Network Limiter扩展程序。它可以屏蔽风险地址,但不会中断你的通话。想要更直接的方案?WebRTC Control可以一键关闭WebRTC。微软Edge浏览器也使用Chromium内核,所以这些扩展程序在Edge上也能用,而且Edge还在edge://flags隐藏了一个方便的标志,可以匿名化你的本地IP地址。

火狐浏览器

Firefox 让设置变得很简单。在地址栏输入 about:config,忽略警告信息,找到 media.peerconnection.enabled,然后将其设置为 false。就这么简单,WebRTC 就关闭了。但要注意:在重新启用 WebRTC 之前,浏览器内的视频和语音通话功能会暂时失效。

Safari 和 Opera

Safari 默认采用更安全的设置,你可以在“开发”菜单的“实验性功能”下进一步收紧 WebRTC 的限制。Opera 基于 Chromium 内核,因此它依赖于与 Chrome 相同的扩展程序。

使用 VPN 的利弊

还有一种方案是使用 VPN。如果你使用真正具备防泄漏功能的 VPN,它会将 WebRTC 流量通过自身的隧道传输,这样 STUN 服务器就只能看到 VPN 的地址。这是最简洁的方案,因为你的通话不会中断,而且一个值得信赖的代理服务器也能以同样的方式防止 IP 地址泄露。关键在于信任。并非所有 VPN 都能做到这一点。2018 年,VoidSec 对 70 家 VPN 提供商进行了测试,发现其中 16 家仍然会通过 WebRTC 泄露真实 IP 地址,约占 23%。一些优秀的 VPN 提供商已经修复了这个问题,但教训依然存在:测试,不要想当然。想要更彻底的解决方案?那就直接禁用 WebRTC。但请记住,这样做会影响所有依赖于 WebRTC 的功能。

webrtc 泄漏

WebRTC 泄露为何威胁加密货币持有者?

对于加密货币用户而言,暴露的IP地址并非无关紧要的隐私问题。它是连接链上生活和现实生活的分界线。而近来,这条分界线已经变得十分危险。

IP地址到钱包的致命链

区块链地址是化名,而非匿名。你进行的每一笔交易都完全公开可见。唯一阻止它指向你的,是缺少一个标签:一个名称,一个位置。IP 地址就是这个标签。研究人员早在十多年前就证明了这种关联是可行的。在2014 年的一项研究中,Alexandre Biryukov 及其同事利用少量位置恰当的节点,将比特币的化名与首次广播其交易的 IP 地址关联起来。WebRTC 泄露事件会免费为攻击者提供同样的关联。如果你的真实 IP 地址暴露在外,打开一个区块浏览器或去中心化交易所 (DEX),那么只需一个页面,就能将你正在使用的钱包与你的家庭网络和网络服务提供商联系起来。

而且危险还在加剧,因为泄露事件无需在你交易过程中发生。它只需要在你查看余额或浏览市场时,在任何运行恶意脚本的页面上触发一次即可。之后呢?IP 地址会被与 ISP 记录、数据经纪商档案以及之前的泄露事件进行交叉比对。迟早会确定一个身份。钱包一直都是公开的,这次泄露事件只是把标签泄露了出去。

从去匿名化到敲门

这曾经只是一个抽象的担忧,但现在已不再是。 据行业追踪数据显示,所谓的“扳手攻击”(即持币者被抢劫或绑架以窃取私钥)在2025年将增长约75%,已确认72起事件,损失至少达4100万美元。攻击模式几乎没有改变:攻击者将链上可见的财富与链下身份信息关联起来,从而将真实身份与真实地址关联起来。你的IP地址是获取链下身份信息最直接的方法之一。

换位思考,站在攻击者的角度想想。他们已经可以看到哪些钱包里存有真金白银;这部分信息是公开的。他们缺少的是从庞大的IP地址到目标家庭的完整路径。IP地址可以将搜索范围从整个互联网缩小到某个城市、某个互联网服务提供商,甚至通常是一个街区。剩下的工作就只是简单的追踪了。对于普通用户来说,这样的泄露可能无关紧要。但对于链上持有数百万美元资产的人来说,这就意味着从匿名用户变成了被盯上的目标。正是因为存在这种差距,加密货币用户应该将WebRTC泄露事件归类为安全问题,而不是在线隐私问题。

您的IP地址属于个人数据

这其中也存在法律层面的问题。早在2016年,欧洲法院在布雷耶案中裁定,即使是动态IP地址也属于个人数据,只要有人能够合理地利用它重新识别你的身份。按照这个逻辑,一个网站通过WebRTC悄悄抓取你的IP地址,就属于未经同意处理个人数据。这并不能彻底堵住漏洞,但它表明监管机构对浏览器免费提供的这项服务有多么重视。

防患于未然,堵住漏洞。

WebRTC 泄露悄无声息,无需任何权限,而且仅靠 VPN 也无法避免。因此,你需要加强防御。选择一款默认提供 WebRTC 保护的浏览器,或者在浏览器默认不提供保护的情况下关闭 WebRTC。使用一款能够通过泄露测试的 VPN 来隐藏你的 IP 地址。每次更新后都要重新检查。对于任何进行资金转移的人来说,目标非常明确,也值得直截了当地说:永远不要建立你的钱包和 IP 地址之间的联系,因为一旦建立,就无法挽回。那么,你上次测试浏览器究竟会泄露哪些信息是什么时候呢?

任何问题?

即使开启了 VPN,网站仍然会通过浏览器的实时通信功能获取你的真实 IP 地址。没有任何提示或警告。这是因为 WebRTC 建立点对点通信的基本原理就是交换 IP 地址。

关闭 VPN 后检查您的真实 IP 地址,然后打开 VPN 并使用 browserleaks.com/webrtc 或 ipleak.net 等泄漏测试工具。如果您的真实 IP 地址仍然显示,则说明存在泄漏。浏览器更新后请重新测试,因为浏览器更新可能会在不通知您的情况下悄悄地将设置恢复原状。

一款优秀的VPN具备泄漏保护功能,会将WebRTC流量路由到VPN隧道,因此只会显示VPN自身的IP地址。但并非所有VPN都能做到这一点。2018年的一项审计发现,大约四分之一的VPN服务商仍然存在泄漏问题。因此,最好进行测试,而不是轻信宣传页面上的信息。

Chrome浏览器没有内置开关,所以你需要一个扩展程序。谷歌自家的WebRTC网络限制器可以限制WebRTC可以使用的地址;WebRTC Control只需单击一下即可将其关闭。在Edge浏览器中,你也可以在edge://flags下启用“匿名化本地IP”来获得部分隐私保护。

如果你从不在浏览器中拨打电话,那就禁用它(Firefox:about:config)。如果你经常使用通话功能,那就不要启用。改用防泄漏 VPN 或流量限制扩展程序。完全禁用 WebRTC 可能会导致视频聊天中断,而且这本身也是一个不太寻常的信号,会让你显得与众不同。

是的。手机浏览器也运行 WebRTC,同样的 STUN 漏洞也会暴露你的 IP 地址。安卓版 Firefox 可以通过 about:config 进行修复。Brave 默认提供保护。iOS 系统采用封闭式浏览器引擎,虽然能降低风险,但并不能完全消除风险。

Ready to Get Started?

Create an account and start accepting payments – no contracts or KYC required. Or, contact us to design a custom package for your business.

Make first step

Always know what you pay

Integrated per-transaction pricing with no hidden fees

Start your integration

Set up Plisio swiftly in just 10 minutes.