是否可以向nat后面的主机集发送echo-request 后。所有echo-request都不包含目标主机的端口,因此如果有多个主机使用相同的外部ip地址,nat将如何将echo-request转发给特定主机
答案 0 :(得分:2)
大多数现代NAT /数据包过滤实现都是有状态的。这意味着它们比旧的无状态变体具有更广泛的单词connection
概念。这使他们能够处理使用其他连接(例如FTP)的更复杂协议,以及ICMP等无连接协议。
对于ICMP数据包,echo
请求包含在回复中保留的ID
字段。虽然它的16位有些限制,但它允许与来自IP报头的源IP地址相结合,对每个回复对应的echo
请求具有相当高的置信度。
编辑:
对于NAT实现背后的特定主机,通常不可能。您可能能够:
将所有ICMP流量重定向到一个内部主机,以仅监控该主机。
使用echo
请求数据包的“pad”数据字节来提供某种主机标识符。例如,某些Linux系统上-p
的{{1}}选项允许设置该字段。但这绝不是标准的。
一般情况下,除了任何转发的IP连接外,NAT应该隐藏它背后的主机。