尝试寻找本地内部主机的地址,在具有 1 个 Cisco 无线路由器的 LAN 上,我nping
在一台 Windows7 主机上运行192.168.1.138
。
C:\>nping --ec "public" -c 1 echo.nmap.org
SENT (1.4430s) ICMP 192.168.1.138 > 74.207.244.221 Echo request (type=8/code=0) ttl=64 id=53719 iplen=28
CAPT (1.5520s) ICMP 216.164.56.243 > 74.207.244.221 Echo request (type=8/code=0) ttl=55 id=53719 iplen=28
RCVD (1.6320s) ICMP 74.207.244.221 > 192.168.1.138 Echo reply (type=0/code=0) ttl=54 id=10848 iplen=28
输出显示内部本地 IP 源是 ,192.168.1.138/24
在 NAT 之后已更改为内部全局 IP (参见 CAPT 行) 216.164.56.243
。几乎同时,我nping
在同一个 LAN 上运行,并在不同的Windows 7 主机具有内部本地192.168.144/24
,但该CAPT
行仍然显示相同的内部全局 IP 216.164.56.243
。如果两个主机的内部全局 IP 相同,则路由器似乎正在使用带有 NAT 池的动态 NAT 或带有过载 (PAT) 的动态 NAT。仅从主机的数据包分析,而不需要访问路由器 CLI 或 CCP,您如何判断路由器正在使用哪种类型的 NAT 配置?
答案1
您还应该尝试其中的一些端口号来查看它们是如何映射的,它可能是一种锥形 NAT,但您需要查看它们是三种样式中的哪一种:
- 全锥,任何外部设备都可以将流量发送到您的内部地址,它们只需要知道外部端口号。这通常称为一对一映射,您可能会看到它用于向世界公开内部 Web 服务器的端口。
- 地址限制锥,如果外部服务器首先收到来自内部机器的数据包,则可以回复内部主机,该服务器可以从任何端口回复,唯一的限制是只有该服务器可以回复。
- 端口限制锥,外部服务器可以在特定端口上从特定端口(与服务器联系的端口相同)回复内部机器。
它显然是最后两个选项之一,哪一个需要进一步测试才能查看使用了哪些端口号。如果您有权访问外部服务器,请查看是否可以从任何端口发送回复,或者只能从它回复的端口发送回复。
我不认为它是动态 NAT,否则您会看到多个外部地址。