返回博客

WebRTC 是如何泄露你真实 IP 的(即使你开了 VPN)

2026-06-17

你开着 VPN,以为真实 IP 已经被藏好了。但打开某些网页,它却能拿到你 VPN 之外的真实地址——问题往往出在 WebRTC 上。

WebRTC 是什么

WebRTC(网页实时通信)是浏览器内置的一项能力,用于视频通话、语音、点对点传输等。为了建立点对点连接,它需要知道通信双方的网络地址,于是会通过 STUN 服务器询问"我的公网 IP 是多少",并把候选地址(ICE candidate)收集起来。

泄露是怎么发生的

关键在于:这个询问过程不经过你的 HTTP 代理设置。即便你的浏览器流量走了 VPN/代理,WebRTC 仍可能直接拿到底层网络的真实公网 IP,并通过 JavaScript 暴露给网页。网页只需几行代码、无需任何权限弹窗,就能读到这些候选地址——所以它被称为"静默泄露"。

现代浏览器做了哪些防护

主流浏览器已经收敛了一部分风险:默认用 mDNS 把内网 IP 替换成形如 xxxx.local 的随机值,因此未经授权通常拿不到你的局域网地址。但公网 IP(srflx 候选)在很多配置下仍可能暴露——这正是判断"VPN 是否真的兜住了你"的关键。

怎么自查

到本站首页看 "WebRTC 泄露" 卡片:如果它显示的公网 IP 与 "IP 归属" 卡片里的出口 IP 一致,说明没有额外泄露(要么没开 VPN,要么 VPN 也接管了 WebRTC);如果不一致,则很可能是 VPN 之外的真实 IP 漏了出去。

如何防护

  • 在浏览器中关闭或限制 WebRTC(部分浏览器有设置项,或用可信扩展)。
  • 使用在系统层接管全部流量的 VPN(而非仅浏览器代理),让 WebRTC 也走隧道。
  • 定期回到检测页复查,确认设置真的生效——很多人以为关了,其实没关。