WebRTC 泄漏原理与防护
WebRTC 是浏览器内置的实时通信能力,视频会议、网页游戏都在用。为了让两台设备直连,浏览器会向 STUN 服务器询问"外面看到的我是哪个地址",网页可以读到这个答案。
为什么代理挡不住
STUN 请求走 UDP。很多代理只转发 TCP,或者浏览器只配置了 HTTP 代理,UDP 请求就会直接从本地网络发出去,STUN 服务器看到的就是你的真实公网 IP。
NAT 类型
- 锥形 NAT:同一个本地端口对不同 STUN 服务器映射出同一个外部端口,适合点对点连接。
- 对称型 NAT:每个目标映射出不同端口,常见于运营商大内网和部分代理,点对点连接较难。
- UDP 被阻断:所有 STUN 都没有回应,WebRTC 不会泄漏 IP,但视频通话可能受影响。
防护设置
- 代理软件使用 TUN / 虚拟网卡模式,并确认节点支持 UDP 转发。
- Chrome / Edge:安装 WebRTC Network Limiter 扩展,选择"仅使用代理服务器"。
- Firefox:在
about:config中设置media.peerconnection.ice.proxy_only_if_behind_proxy为 true,或直接关闭media.peerconnection.enabled。 - Safari:默认只在获得摄像头/麦克风权限后才暴露候选地址,风险较低。