NatTypeTester:网络NAT类型检测工具完全指南
拥有免费下载链接的 NatTypeTester,对当下网络的 NAT 类型进行,也就是 STUN 的测试 。
项目的地址是,https://gitcode.com/gh_mirrors/na/NatTypeTester 。
一、价值定位:NAT类型检测为何会是极其关键重要的呢?,1.1 Network Address Translation也就是NAT类型检测究竟是什么呢?
用来检测NAT类型的技术手段,是借助STUN(即Session Traversal Utilities for NAT)协议去剖析网络地址转换行为的,此工具借由跟STUN服务器展开交互,进而识别设备于NAT环境里的地址映射方式以及端口过滤规则,借此为P2P通信优化供给关键依据。
1.2,哪些场景是需要去关注NAT类型的呢?二、对于技术进行解析,那是关于工具背后的核心架构。2.1,支持的那一网络协议栈,呈现协议类型而支持特定状态的应用场景呢 。
IPv4
已实现
传统网络环境兼容性
IPv6
已实现
下一代互联网部署
UDP
已实现
低延迟游戏通信
TCP
已实现
防火墙严格环境穿透
TLS-over-TCP
已实现
加密STUN通信需求
DTLS-over-UDP
开发中
加密UDP通信场景
2.2 遵循的RFC标准
该工具达成了三组核心RFC规范,构建起完整的NAT检测能力矩阵,从而实现了这样的成果 ,形成了这样的矩阵 。
2.3 核心检测流程可视化
RFC5780规范定义的NAT行为检测四阶段流程:
查看UDP连通性测试流程
查看NAT映射行为测试
查看NAT过滤行为测试
三、实战指南,由环境准备起始历经结果分析 3.1怎样去验证环境兼容性呢?基础依赖检查清单了。
窍门:借助dotnet --info指令迅速确定所安装的.NET版本,保证运行时版本跟项目目标框架相匹配,。
三点二的部署流程是,从源码转变为可执行程序。准备阶段呢,是去获取项目代码。
# 克隆官方仓库
于git代码库中进行克隆操作,所克隆的链接的具体指向为https://gitcode.com/gh_mirrors/na/NatTypeTester ,此链接对应的是一个名为NatTypeTester的项目 ,该项目处于特定的代码空间。
# 进入项目目录
cd NatTypeTester
风险有所提示,在国内进行网络克隆的时候,有可能是需要去配置Git代理的,或者是直接下载ZIP源码包以此来避免出现连接超时的情况。
构建阶段:编译项目
# 使用.NET CLI构建发布版本
dotnet build -c Release
# 输出的目录是,src这个地方下的NatTypeTester这个文件夹里的bin文件夹中的Release文件夹里的net48文件夹。
验证的要点在于,查看输出的目录之中,有没有那个名为NatTypeTester.exe的文件被生成出来,还有看与之相关的那些依赖的DLL文件是不是也一同生成了。
运行阶段:启动图形界面
# 进入输出目录

进入,目录为src的NatTypeTester的下的bin文件夹中的Release目录中的net48文件夹 ,有这样的路径 ,是这样指的 。、。
# 启动应用程序
NatTypeTester.exe
3.3常见问题排查手册 ,问题1:编译失败时提示“缺少NuGet包” ,问题2:启动之后无法连接STUN服务器 ,问题3:检测结果不稳定,多次测试时类型不同 ,四、进阶使用:释放工具全部潜能 ,4.1命令行模式批量测试 。
通过命令行参数实现无人值守检测,适合集成到网络诊断脚本:
# 基础用法:指定服务器和协议
“NatTypeTester.exe”运行,是要把“服务器”设置成“stun.qq.com”,“--协议”明确为“udp”,并且启用“ipv6” 。
# 高级用法:输出JSON结果
运行NatTypeTester.exe,使其以服务器为stun.aliyun.com进行相关操作,并且将结果以JSON格式输出,输出文件为nat_result.json 。
在示例JSON输出里,有包含NAT类型的情况,存在映射行为的状况,展现出过滤规则等情况,还有12项详细参数 。
4.2 自定义STUN服务器配置
在应用程序的目录那儿,去创建servers.json这个文件,然后添加私有STUN服务器的列表,。
{
"servers": [
{
"name": "企业内网STUN",
出现了一个地址,它是stun.corp.example.com,端口号是3478 。
"protocol": "tcp",
"tls": true,
以测试办公网络的NAT行为,在其行为方面进行测试用的,是被用于测试的办公网络NAT行为情况 。
}
]
}
重启程序后,服务器下拉菜单将显示自定义选项。
五、附录:NAT类型速查手册
RFC 3489定义的基础NAT类型检测结果:
查看NAT类型判定流程图
NAT类型穿透难度典型场景
完全锥形
简单
家庭宽带路由
受限锥形
中等
企业防火墙
端口受限锥形
较难
酒店网络
对称NAT
困难
移动热点
具备知晓NAT类型特性的能力,能够有的放矢地对P2P应用的连接策略予以优化,比如说,处于对称NAT环境的情况下,必须强制开启中继服务器,。
【免费下载链接】NatTypeTester 测试当前网络的 NAT 类型(STUN)
项目地址: https://gitcode.com/gh_mirrors/na/NatTypeTester