如何得到当前NAT的类型?

109 views
Skip to first unread message

疯子阿虹

unread,
May 23, 2006, 1:24:07 AM5/23/06
to 高性能网络编程邮件列表
如何得到当前连接到公网的NAT类型?

这个怎么做?

sunway

unread,
May 23, 2006, 1:42:04 AM5/23/06
to 高性能网络编程邮件列表
NAT类型非常多的,要至少3方配合才能知道是什么类型的NAT

疯子阿虹

unread,
May 23, 2006, 2:06:14 AM5/23/06
to 高性能网络编程邮件列表
是啊,有没有好的方法或者软件。
不知道为什么NatCheck.exe不能用?
http://midcom-p2p.sourceforge.net

sunway

unread,
May 23, 2006, 2:15:27 AM5/23/06
to 高性能网络编程邮件列表
我做过这类测试,NAT的类型非常复杂,比如有的3类NAT居然有5类的
部分特征。

sunway

unread,
May 23, 2006, 2:27:26 AM5/23/06
to 高性能网络编程邮件列表
疯子阿虹,你加我的MSN,MSN上聊
sunh...@hotmail.com

quengzi

unread,
May 23, 2006, 2:35:04 AM5/23/06
to dev4server
dev4server,
 
讨论好不好;)
你们聊天,我们下面当观众!
 
 
2006-5-23
----- Original Message -----
From: sunway
Sent: 2006-05-23, 14:27:26
Subject: Re: 如何得到当前NAT的类型?

疯子阿虹,你加我的MSN,MSN上聊
sunh...@hotmail.com

sunway

unread,
May 23, 2006, 3:32:07 AM5/23/06
to 高性能网络编程邮件列表
看NAT表有一个简单的原则,
比如client在NAT表内,他开了9000端口,他向外面两个不同的公网机器发送包,如果这2个公网机器收到的包
RecvForm返回的端口是一样的话,这个NAT就是3类。否则是5类。

SevenCat

unread,
May 24, 2006, 3:14:57 AM5/24/06
to 高性能网络编程邮件列表
你们以前不是同事的吗?

jackie

unread,
May 24, 2006, 3:33:17 AM5/24/06
to 高性能网络编程邮件列表
NatCheck.exe没有人维护了,原来用的三个公网服务器s1,s2,s3也都不能用了.
它是通过返回s1
s2观测到的client的外部ip地址和端口是否一致来判定nat是否支持hole
punching udp穿透.
s3和判定类型基本无关,测试client外面的nat的安全配置.

看不见nat映射表的话,
如果有两个公网ip,可以运行程序echo观测到的client的外部ip和port进行判断.

要是没有公网ip的话,腾讯qq成功登陆以后会返回腾讯服务器观测到的客户端的ip和port,
腾讯qq服务器有很多个,可以随便登陆两个,根据服务器返回的ip和port进行判断.
可以写一个程序完成登陆过程,
获取不同服务器返回的客户端的ip和port.
这个用程序实验过可以的.

Reply all
Reply to author
Forward
0 new messages