你有没有遇到这种情况:明明开了代理,检测 IP 时却跳出本机真实地址?很多人第一反应是代理失效,其实元凶大概率是 WebRTC 泄露。它不需要你手动开启通话,网站一行 JS 代码,就能悄悄拿到你的内网、公网 IP,绕过网络代理通道采集信息,也是浏览器隐私最容易被忽略的漏洞之一。

一、WebRTC 到底是什么?为什么会泄露 IP
WebRTC 是浏览器原生的实时通信接口,主打免插件网页音视频通话,网页版会议、在线语音、直播连麦都依赖这项技术。 为了让两台设备直接点对点连通,它内置 ICE 连接机制,会主动向 STUN 服务器查询网络地址,收集本机公网 IP、内网局域网 IP,这个过程独立于普通网页流量通道,走 UDP 协议,不受代理路由管控。
核心底层逻辑:代理只管 HTTP/HTTPS 流量;WebRTC 的 STUN 请求是单独链路,会直接暴露真实 IP。 补充数据:安全机构测试显示,超三成网络代理工具默认不会拦截 WebRTC 请求,必须手动在浏览器内配置防护。
这里要分清两个概念:
- ✅ 内网 IP:192.168、10 开头这类,只能在局域网识别设备;
- ⚠️ 公网 IP:运营商分配的外网地址,可以定位到城市、宽带线路。
重点误区 :不是 WebRTC 本身是恶意功能,它的设计目标是音视频通信;隐私风险来自:任意网站都能调用 WebRTC 接口采集 IP,不需要你授权麦克风、摄像头。
二、先自测:你的浏览器有没有 WebRTC 泄露
我们可以打开在线检测页面,几秒就能出结果。
- 结果出现你的真实公网 IP → 存在泄露;
- 只显示代理 IP,没有本机地址 → 防护生效BrowserLea...。
小提示:换浏览器、无痕模式也要单独测,无痕不会自动关闭 WebRTC。
三、主流浏览器关闭 / 防护方案(分两种策略)
两种方案按需选择: 方案 A:完全禁用 WebRTC ,防护最强,代价是网页音视频、连麦、在线通话全部失效; 方案 B:仅阻止非代理 UDP,保留 WebRTC 功能,只限制它不走直连通道,适合经常开网页会议的人。
Firefox(唯一自带完整开关,推荐)
- 地址栏输入
about:config,接受风险提示; - 搜索
media.peerconnection.enabled; - 双击切换为
false,立刻关闭 WebRTC;
如果不想彻底关掉,搜索
media.peerconnection.ice.proxy_only设置为 true,仅强制 WebRTC 走代理通道,保留通话能力。
Chrome / Edge(Chromium 内核,无原生总开关)
Chromium 系列浏览器没有一键关闭 WebRTC 的原生选项,两种办法:
- 标志位设置(优先,无需扩展) 地址栏输入
chrome://flags/edge://flags,搜索:Anonymize local IPs exposed by WebRTC,设置为 Enabled,重启浏览器。 作用:隐藏内网 IP,但不一定能拦住公网 IP 泄露,属于轻度防护。 - 扩展方案(防护更稳) 安装 uBlock Origin,打开面板设置,勾选【阻止 WebRTC 泄露本地 IP 地址】;或者 WebRTC Leak Prevent 扩展,强制 ICE 请求走代理通道。
Brave 浏览器
设置 → Shields(盾牌)→ WebRTC IP 处理策略,选择「仅代理路由」或者完全禁用,原生支持,操作简单。
Safari
Mac:Safari 设置 - 高级,开启「显示开发菜单」;开发 → 实验功能,取消勾选 WebRTC 相关项; iPhone Safari:移动端 WebRTC 管控较弱,追求隐私建议使用 Firefox 移动端。
四、取舍建议:什么时候关,什么时候留
- 日常浏览、重视隐私、很少用网页会议:直接完全关闭 WebRTC;
- 每天要用网页版会议、在线问诊、网页语音:不要全局禁用,选择「仅强制 WebRTC 走代理」模式;
- 多浏览器策略:一个浏览器专门用来开会(开启 WebRTC),另一个浏览器关闭 WebRTC,用来普通上网。
五、避坑
- WebRTC 防护 ≠ 全部隐私防护,它只管 IP 泄露;指纹、Canvas、字体指纹等追踪手段不受影响;
- 关闭 WebRTC 之后,网页音视频页面会直接无法建立通话,属于正常现象;
- 扩展有失效风险:浏览器大版本更新、扩展更新后,建议重新跑一次泄露检测复核。
