NAT 类型检测
当前网络能不能直连对端?
检测会向多台公共 STUN 服务器各发一次探测,比较它们看到的外部端口是否一致。 耗时约 3–15 秒,不需要登录,也不会把结果上传到本站。
查看按出口分组的映射明细
| 出口 IP | 探测方式 | 映射端口 | 判定 |
|---|
同一台服务器可能出现多行,对应本机不同的网卡(例如 Wi-Fi 与有线、IPv4 与 IPv6)。
结果怎么看
浏览器能测到什么程度
浏览器不给网页原始 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,这无法避免;本站不接收、不记录任何检测数据。
