WebRTC ICE Analysis

NAT 类型检测工具

基于 WebRTC ICE 候选者分析,精准识别您的网络 NAT 类型

什么是 NAT?

NAT(网络地址转换,Network Address Translation)是一种将私有 IP 地址映射到公共 IP 地址的网络技术。由于 IPv4 地址资源有限,绝大多数家庭和企业网络都处于 NAT 设备(路由器)之后,局域网内的设备共享一个或少数几个公网 IP 地址来访问互联网。

NAT 类型直接影响网络中设备之间的通信能力,尤其是对等网络(P2P)连接、实时音视频通话、在线游戏等对延迟和直连性有高要求的应用。了解自己的 NAT 类型有助于诊断网络问题、优化网络配置。

NAT 类型详解

🟢

Full Cone NAT(全锥型)

最开放

全锥型 NAT 是最开放的 NAT 类型。当内网设备向外发起连接后,NAT 会分配一个固定的外部 IP:Port 映射。任何外部主机都可以通过这个固定的外部 IP:Port 向内网设备发送数据,无需内网设备先主动联系。

  • 外部 IP:Port 固定不变
  • 任意外部主机可主动发起通信
  • 对 P2P 应用最友好
  • 安全性相对较低

适用场景:在线游戏、视频通话、P2P 文件传输、BitTorrent 等对连接性要求高的应用。

🔵

Restricted Cone NAT(受限锥型)

较开放

受限锥型 NAT 在分配外部映射方面与全锥型相同(外部 IP:Port 固定),但对入站数据包有限制:只接受内网设备曾经主动发送过数据的外部 IP 地址发来的数据,对端口不加限制。

  • 外部 IP:Port 固定不变
  • 只接受已通信过的 IP 发来的数据
  • 具有基础的安全过滤
  • 大多数 P2P 应用可正常工作

适用场景:VoIP 通话、在线游戏、部分 P2P 应用(需要打洞辅助)。

🟡

Port Restricted Cone NAT(端口受限锥型)

中等限制

端口受限锥型 NAT 在受限锥型的基础上进一步限制:不仅限制外部 IP,还限制端口号。只有内网设备曾主动发送过数据的外部 IP:Port 组合,才能向内网设备发送数据。

  • 外部 IP:Port 固定不变
  • 只接受已通信的特定 IP:Port
  • 安全性较高
  • P2P 需要打洞(UDP Hole Punching)

适用场景:WebRTC 通话、需要 TURN 服务器中转的应用、部分 VPN 场景。

🔴

Symmetric NAT(对称型)

最严格

对称型 NAT 是最严格的 NAT 类型。与其他三种不同,它对每个不同的目标地址和端口都会分配不同的外部 IP:Port 映射。这意味着即使是同一个内网设备,与不同服务器通信时使用的外部端口也不同。

  • 每个目标对应不同外部端口
  • 外部主机无法预测映射端口
  • P2P 打洞极难甚至不可能
  • 必须依赖 TURN 服务器中转

适用场景:企业防火墙、运营商级 NAT(CGNAT)、高安全性网络环境。需要 TURN 服务器来保证 WebRTC 正常工作。

检测原理

本工具利用 WebRTC(Web 实时通信)的 ICE(交互式连接建立)协议进行 NAT 类型检测。WebRTC 在建立点对点连接时会收集各种 ICE 候选者(ICE Candidates),包括:

host 候选者
设备的本地 IP 地址,即局域网地址。
srflx 候选者(服务器反射)
通过 STUN 服务器发现的外部 IP:Port,反映了 NAT 分配的公网地址。
relay 候选者
通过 TURN 服务器中转的地址,用于穿透严格的 NAT。

通过向多个不同的 STUN 服务器发起请求,比较返回的外部映射地址是否一致,可以判断 NAT 是否为对称型(端口随目标变化)。结合是否能获取到外部映射,综合判断 NAT 类型。

开始 NAT 类型检测

点击下方按钮,工具将通过 WebRTC 技术自动检测您的 NAT 类型。检测过程大约需要 10-20 秒,请耐心等待。

⚠️ 检测需要浏览器支持 WebRTC,请确保使用现代浏览器(Chrome、Firefox、Edge、Safari)。

常见问题