WebRTC(Web Real-Time Communication)是一项允许浏览器进行实时语音、视频通话或 P2P 文件传输的技术。
当你访问一个网页时,如果该网页启用了 WebRTC 功能(现在很多网站都会默默启用,不仅仅是视频网站),浏览器为了建立最快的连接,会尝试绕过常规的服务器中转,直接寻找你的“真实地址”,那么利用 WebRTC 进行 IP 探测也已经是网络安全和广告追踪领域的“常规操作”了。
这就导致了隐私泄露:
-
穿透 VPN 隧道: 虽然你的常规 HTTP 流量(看网页的流量)走了 VPN 隧道,变成了美国 IP;但是 WebRTC 为了优化速度,会通过 STUN/TURN 协议直接探测你的本地网卡信息。
-
暴露真实 IP: 在这个探测过程中,浏览器会把你真实的 ISP 分配的 IP 地址(即国内运营商的 IP)报告给网站。
什么时候会触发? 你不一定非要打视频电话才会触发。只要网页中包含相关的 JavaScript 脚本(很多网站为了追踪用户真实位置会故意植入),浏览器就会在后台自动运行这个探测过程,Google 就是通过这个机制“看穿”了你的伪装。
WebRTC 是浏览器自带的功能,而不是网页服务商的插件。
-
它是 Chrome、Firefox、Edge 等现代浏览器的核心组件(内置标准)。
-
这意味着,无论你访问哪个网站,只要浏览器默认开启了这个功能,它就有能力获取你的真实网卡 IP。
-
好消息是: 既然是浏览器的功能,我们就可以通过浏览器的设置或插件来控制它。
解决方法:使用 WebRTC Leak Prevent 扩展
由于 Chrome 浏览器默认没有提供“一键彻底关闭 WebRTC”的简单开关,最推荐的方法是安装专门的扩展程序来修补这个漏洞。
这里推荐使用 WebRTC Leak Prevent(Chrome/Edge)或类似的扩展。
第一步:安装扩展
-
Chrome / Edge 用户: 前往 Chrome 应用商店搜索
WebRTC Leak Prevent并安装(通常图标是一个盾牌或类似标志)。 -
Firefox 用户: 火狐浏览器可以直接在地址栏输入
about:config,搜索media.peerconnection.enabled并将其设置为false即可彻底关闭,也可以去插件商店搜索同名插件。
第二步:关键配置(非常重要!)
安装好插件后,必须进行设置,否则可能无效。
-
点击浏览器右上角的插件图标,选择 Options(选项)。
-
在设置界面中,找到 IP Handling Policy(IP 处理策略)。
-
将其修改为:
Disable non-proxied UDP (force proxy)。-
中文意为:禁用非代理的 UDP(强制走代理)。
-
-
点击 Apply settings(应用设置)。
(注意:如果你选择“Disable non-proxied UDP”,WebRTC 流量将被强制通过你的 VPN 代理发送。如果你的 VPN 不支持 UDP 转发,这可能会导致网页上的即时通话功能无法使用,但这正是我们为了保护隐私所需要的。)
第三步:验证是否成功
-
连上你的美国 VPN。
-
访问 BrowserLeaks.com/webrtc 或 ipleak.net。
-
查看 WebRTC Leak 一栏。
-
如果显示的 IP 地址是你的 VPN 服务器 IP(或者显示 N/A、空白),说明防护成功!
-
如果依然显示你的中国电信/联通/移动 IP,请检查插件设置是否选对了
Disable non-proxied UDP。
总结: 通过IP能判定你为国内用户,是因为浏览器的 WebRTC 机制越过 VPN 汇报了你的真实 IP。安装 WebRTC Leak Prevent 并配置为“强制代理(Disable non-proxied UDP)”是目前最有效的解决方案。
原创文章,转载请注明:转载自Web开发笔记 | WebRTC进行IP探测
Comments on this entry are closed.