NAT 类型检测

判断你的网络是锥形 NAT 还是对称 NAT · 全程在浏览器本地完成
NETWORK CHECK

当前网络能不能直连对端?

检测会向多台公共 STUN 服务器各发一次探测,比较它们看到的外部端口是否一致。 耗时约 3–15 秒,不需要登录,也不会把结果上传到本站。

结果怎么看

公网直连 外部地址与本机地址一致,或本机本身就是公网地址。P2P 直连没有额外障碍。
锥形 NAT 同一个本地端口对所有目标复用同一套公网映射(Endpoint-Independent Mapping)。家用宽带多数属于这一类,P2P 打洞成功率较高。
多出口 不同目标看到不同的公网 IP(双 WAN、分流代理、手机双卡聚合、运营商地址池),但每个出口内部的端口都保持稳定。检测会先按出口分组再比较端口,不会把这种情况误判成对称 NAT。
对称 NAT 每个目标分配不同的公网端口(Endpoint-Dependent Mapping)。对端无法预测端口,P2P 打洞很难成功,通常要退回 TURN 中继。手机热点、部分企业网与校园网较常见。
多层 NAT STUN 看到的外部地址仍落在私有或共享地址段,说明前面还有一层 NAT(例如路由器后面又接了光猫路由)。判断只看 STUN 反射回来的地址,不依赖本机地址是否被浏览器隐藏。

浏览器能测到什么程度

浏览器不给网页原始 UDP socket,只能读取 WebRTC ICE 收集到的 srflx 候选地址。因此这里测的是 映射行为:同一个本地端口在不同目标眼里是否保持同一个外部端口。

比较时会先按出口公网 IP 分组,只在同一出口内部看端口是否变化。因为双 WAN、分流代理、运营商地址池 本来就会让不同目标看到不同 IP,跨出口的差异不能算作对称 NAT。为了能在单个出口内部比对,服务器清单里 特意保留了两组同一台机器的不同端口(小米 3478/3479、Nextcloud 443/3478)——它们必然走同一个出口。

全锥 / 地址受限 / 端口受限 的细分属于过滤行为,需要由另一台服务器主动向你的映射端口发包来验证。 浏览器收不到这种未经请求的 UDP,所以纯前端方案做不到——这不是检测失败,而是浏览器安全模型的边界。 要做完整的 RFC 5780 五分类,需要自建双节点 STUN 服务(两个不同公网 IP 的节点)。

Chrome / Edge 会把本机内网地址用 mDNS(xxxx.local)隐藏,所以「本机地址」一栏显示“已隐藏”是正常现象, 不影响映射行为和多层 NAT 的判断。想看到真实内网地址,只能给本站一次摄像头/麦克风权限再重测。

检测不到结果?

  • 全部 STUN 无响应:当前网络可能封了 UDP 或禁止 WebRTC。公司网络、部分校园网、开了严格模式的代理/防火墙都会这样。换手机热点再试一次可以快速确认。
  • 只有一两台响应:结论置信度会标成“低”。跨境线路下部分公共 STUN 不可达属于常态,多试几次通常能凑齐比对样本。
  • 结果和游戏里不一致:游戏客户端用的是原生 UDP 与游戏自己的服务器,NAT 类型只能解释“为什么连不上/语音不通”,不能替代游戏内的网络诊断。

隐私说明:STUN 服务器会看到你的公网 IP,这无法避免;本站不接收、不记录任何检测数据。