WebRTC Leak Test
Advanced security diagnostic tool to detect IP leaks via WebRTC STUN/TURN requests. Features media device fingerprinting, VPN verification logic, and browser-specific mitigation strategies.
WebRTC exposes hardware IDs even without permission in some configurations.
- Scan not started
- Install the official WebRTC Network Limiter extension by Google or uBlock Origin.
- In uBlock Origin settings, enable "Prevent WebRTC from leaking local IP addresses".
- Brave Users: Go to Settings > Shields > Fingerprinting Blocking and set to "Strict".
- Type about:config in the address bar and accept the risk.
- Search for media.peerconnection.enabled.
- Double-click to toggle it to FALSE.
- Search for media.navigator.enabled and set to FALSE (disables device enumeration).
- Go to Preferences > Advanced.
- Check "Show Develop menu in menu bar".
- In the Develop menu, select WebRTC.
- Check "Disable ICE Candidate Restrictions" (to test) or ensure it handles proxies correctly. Safari is stricter by default but still vulnerable to internal IP leaks.
About
This tool utilizes the RTCPeerConnection API to audit your browser's network visibility. While WebRTC enables real-time audio/video communication, it bypasses standard proxy configurations by establishing direct UDP/TCP connections via STUN (Session Traversal Utilities for NAT) servers. This often reveals your Real_IP even when a VPN is active.
We analyze the ICE (Interactive Connectivity Establishment) candidates generated by your browser. If a candidate contains an IP address distinct from your public interface IP (detected via HTTP), a leak is present. Furthermore, this tool performs Media Device Fingerprinting, enumerating unique hardware IDs (deviceId, groupId) which advertisers use to track users across sessions, independent of cookies.
Formulas
The logic for leak detection relies on set comparison between the HTTP-visible IP and the WebRTC-exposed IPs.
Where Srtc is the set of gathered ICE candidates, Svpn is the public IP set routed through the tunnel, and Slocal contains private subnet ranges (e.g., 192.168.0.0/16).
Reference Data
| Protocol Component | Function | Privacy Risk | Typical Port |
|---|---|---|---|
| STUN | Resolves Public IP behind NAT | &highbar; High (Exposes Real IP) | 3478 (UDP) |
| TURN | Relays traffic when P2P fails | ≈ Medium (Server Logs) | 5349 (TLS) |
| Host Candidate | Direct Local Network Interface | _ Low (Local IP 192.168.x.x) | Ephemeral |
| Srflx Candidate | Server Reflexive (NAT mapped) | ! Critical (True Public IP) | Ephemeral |
| Media Enumeration | Lists Hardware IDs | ⌖ Tracking Vector | N/A |