مباشرجارٍ اكتشاف عنوان IP…
البحث الكامل ←

WebRTC IP Leak Test

Inspect if your browser leaks your true ISP public IP address or private LAN gateway through WebRTC STUN requests while connected to a VPN or proxy.

Security Status Analysis
Testing WebRTC STUN Candidates…
HTTP Routed IP (Gateway)Detecting…Checking provider…
WebRTC Public IPv4Scanning STUN…Analyzing candidates
WebRTC IPv6 / Dual-StackChecking…Querying IPv6 STUN
Local LAN / mDNS HostDetecting…Host candidate check
View raw Interactive Connectivity Establishment (ICE) candidates →
Candidate TypeProtocolAddress / IdentifierPortLeak Assessment
Scanning for ICE candidates…

How WebRTC Bypasses VPN Encapsulation to Leak Real IP Addresses

WebRTC (Web Real-Time Communication) is an open-source framework built directly into modern web browsers (Chrome, Firefox, Safari, Edge, Brave) to enable real-time audio, video streaming, and peer-to-peer data transfers without external software or plugins.

To establish a direct peer-to-peer connection through network firewalls and NAT gateways, WebRTC executes the ICE (Interactive Connectivity Establishment) protocol and communicates with STUN (Session Traversal Utilities for NAT) servers. During this handshake, the browser transmits UDP packets requesting the STUN server to reflect back the client’s public IP address and port mapping.

The Anatomy of a WebRTC Leak

  1. VPN Active: Your web browser routes standard HTTP/HTTPS TCP traffic through an encrypted VPN tunnel interface (e.g. tun0 or WireGuard adapter).
  2. STUN Query Triggered: A website script initiates a WebRTC connection via RTCPeerConnection.
  3. Kernel Socket Binding: In flawed VPN implementations or default browser configurations, WebRTC queries bind to all available network adapters simultaneously, sending UDP requests out over your physical network interface (Wi-Fi or Ethernet) directly to the STUN server.
  4. Exposure: The STUN server reflects back your true, non-VPN public IP address. Any JavaScript running on the web page can read this reflected address and log your true physical identity.

Step-by-Step: How to Block WebRTC IP Leaks in Every Browser

🦊 Mozilla Firefox

Firefox allows native disabling without extensions:

  1. Type about:config in the address bar.
  2. Accept the warning prompt.
  3. Search for media.peerconnection.enabled.
  4. Toggle its value to false.

🌐 Google Chrome & Edge

Chromium does not have a native toggle, so use:

  1. Install uBlock Origin extension.
  2. Open Dashboard ➔ Settings.
  3. Check "Prevent WebRTC from leaking local IP addresses".
  4. Or use a dedicated extension like WebRTC Control.

🦁 Brave Browser

Brave includes built-in IP handling fingerprinting protection:

  1. Go to brave://settings/shields.
  2. Locate WebRTC IP handling policy.
  3. Select "Disable non-proxied UDP".

Need an In-Depth Guide on WebRTC Defense?

Read our complete research breakdown on STUN leaks, mDNS masking, and VPN kill-switch configuration.

Read Engineering Guide →

Frequently Asked Questions

What is the difference between an HTTP IP and a WebRTC IP?

Your HTTP IP is the address perceived by web servers when transmitting standard TCP web requests (which your VPN tunnel encapsulates). Your WebRTC IP is gathered via UDP reflection by STUN servers. If your VPN software fails to bind WebRTC UDP traffic, the STUN server sees and reports your real physical ISP address.

Why do I see a '.local' address in the local candidate field?

Modern privacy-respecting browsers (Chrome 74+ and Firefox 68+) use mDNS (Multicast DNS) masking. Instead of exposing your real internal network IP (like 192.168.1.45), the browser generates a randomized UUID with a .local domain to prevent cross-site device fingerprinting while maintaining WebRTC connectivity.

Does incognito / private browsing mode prevent WebRTC leaks?

No. Incognito mode prevents your browser from saving cookies, history, and form data locally, but it does not disable WebRTC APIs or re-route network packets. WebRTC queries in incognito execute identical UDP socket bindings as normal browsing sessions.