WebRTC ICE Analysis

NAT Type Detector

Detect your network NAT type accurately using WebRTC ICE candidate analysis

What is NAT?

NAT (Network Address Translation) is a networking technique that maps private IP addresses to public IP addresses. Due to limited IPv4 address space, most home and enterprise networks sit behind a NAT device (router), sharing one or a few public IPs to access the internet.

NAT type directly affects the ability of devices to communicate with each other, especially for peer-to-peer (P2P) connections, real-time audio/video calls, online gaming, and other applications that require low latency and direct connections. Understanding your NAT type helps diagnose network issues and optimize network configuration.

NAT Type Explained

🟢

Full Cone NAT

Most Open

Full Cone NAT is the most open type. When an internal device initiates an outbound connection, the NAT assigns a fixed external IP:Port mapping. Any external host can send data to the internal device through this fixed mapping without needing the device to contact them first.

  • Fixed external IP:Port mapping
  • Any external host can initiate communication
  • Most P2P-friendly
  • Relatively lower security

Use cases: Online gaming, video calls, P2P file sharing, BitTorrent — applications requiring high connectivity.

🔵

Restricted Cone NAT

Fairly Open

Restricted Cone NAT assigns the same fixed external mapping as Full Cone, but restricts inbound packets: only accepts data from external IPs that the internal device has previously communicated with, regardless of port.

  • Fixed external IP:Port mapping
  • Only accepts data from previously contacted IPs
  • Basic security filtering
  • Most P2P apps work normally

Use cases: VoIP calls, online gaming, some P2P applications (hole punching may be needed).

🟡

Port Restricted Cone NAT

Moderate

Port Restricted Cone NAT goes further than Restricted Cone: it restricts not only the external IP but also the port. Only the exact external IP:Port combinations that the internal device has previously communicated with can send data inbound.

  • Fixed external IP:Port mapping
  • Only accepts specific IP:Port combinations
  • Higher security
  • P2P requires hole punching (UDP Hole Punching)

Use cases: WebRTC calls, apps requiring TURN relay, some VPN scenarios.

🔴

Symmetric NAT

Most Strict

Symmetric NAT is the strictest type. Unlike the other three, it assigns a different external IP:Port mapping for each unique destination address and port. This means the same internal device uses different external ports when communicating with different servers.

  • Different external port per destination
  • External hosts cannot predict mapping
  • P2P hole punching is very difficult or impossible
  • Must rely on TURN relay servers

Use cases: Enterprise firewalls, Carrier-Grade NAT (CGNAT), high-security network environments. TURN server required for WebRTC.

Detection Principle

This tool uses the ICE (Interactive Connectivity Establishment) protocol of WebRTC to detect NAT type. When establishing a peer-to-peer connection, WebRTC collects various ICE candidates:

host candidates
The device's local IP address (LAN address).
srflx candidates (server reflexive)
External IP:Port discovered via STUN server, reflecting the public address assigned by NAT.
relay candidates
Addresses relayed via TURN server, used to traverse strict NATs.

By making requests to multiple different STUN servers and comparing whether the returned external mapped addresses are consistent, we can determine if the NAT is symmetric (port changes per destination). Combined with whether external mapping is obtained, we can infer the NAT type.

Start NAT Type Detection

Click the button below. The tool will automatically detect your NAT type using WebRTC technology. The detection takes about 10-20 seconds.

⚠️ Detection requires WebRTC support. Please use a modern browser (Chrome, Firefox, Edge, Safari).

Frequently Asked Questions