使用NatTypeTester和PortMapper进行NAT打洞
使用NatTypeTester和PortMapper在有UPnP的路由器下NAT打洞
如果你使用OpenWrt路由器可以考虑使用NATMap
平台: Windows
需要用到的工具:
NatTypeTester
PortMapper
PsPing
先使用NatTypeTester确定当前NAT类型为FullCone
- 打开NatTypeTester选择 RFC 3489
- STUN服务器写入 stun.isp.net.au
- 点击测试,如果NAT类型为FullCone就可以继续操作
进行内外网端口绑定
使用NatTypeTester的RFC 5780测试的TCP模式可以创建临时的绑定
以下的操作可以持续让运营商建立绑定
准备工作
- 下载并解压PsPing
- 在解压出来的文件夹中打开cmd
- 在cmd中输入(结尾有一个空格)
psping64 -t
- 输入后不要按回车,进行下一步
让NatTypeTester建立绑定
- 打开NatTypeTester选择 RFC 5780
- STUN服务器写入 stun.isp.net.au
- 选择TCP并且点击测试
- 快速复制下方的公网IP和端口粘贴到早些时候打开的cmd中并回车
- 如果出现连接拒绝说明成功
创建UPnP端口转发
使用PortMapper创建端口转发,使用方法不过多介绍
- 打开PortMapper并连接
- 连接成功后创建端口映射预设
- 添加一个TCP协议的映射
- 外部端口写入NatTypeTester中Local end的端口,回车保存
- 内部端口写入本地服务的监听端口,比如8080
- 点击保存,选择并使用
完成后测试
如果你开的是HTTP服务器可以直接把Public end中的IP和端口输入到浏览器,如果可以打开就是成功
如果你不关闭psping的cmd窗口那么这个公网IP和端口你可以一直使用
补充
如果你想打洞UDP协议,可以使用这个Python脚本来进行udping