是否可以在 nat 之后向设置在 nat 后面的主机发送回显请求。所有的 echo-request 都不包含目标主机的端口,因此如果有多个主机使用相同的外部 ip 地址,nat 将如何将 echo-request 转发到特定主机
问问题
7823 次
1 回答
3
大多数现代 NAT/数据包过滤实现都是有状态的。这意味着他们对这个词的概念connection
比旧的无国籍变体更广泛。这使他们能够处理使用额外连接(例如 FTP)的更复杂的协议,以及像ICMP这样的无连接协议。
对于 ICMP 数据包,echo
请求包含一个ID
保留在回复中的字段。虽然它的 16 位有点限制,但它允许与来自 IP 标头的源 IP 地址结合使用,以便对echo
每个回复对应的请求具有相当高的置信度。
编辑:
至于以 NAT 实现背后的特定主机为目标,这通常是不可能的。您或许能够:
将所有 ICMP 流量重定向到一台内部主机以仅监控该一台主机。
使用
echo
请求数据包的“填充”数据字节来提供某种主机标识符。例如,在某些 Linux 系统上的-p
选项允许设置该字段。ping
不过,这绝不是标准的。
一般来说,NAT 应该对外界隐藏它背后的主机,但任何转发的 IP 连接除外。
于 2011-01-22T18:13:38.173 回答