ICMP 欺骗有多实用?
场景 1:在 NAT 环境中,NAT 如何跟踪 ICMP 会话(技术上不是会话,因为它不是面向连接的?)对于 ECHO/ECHO 响应 Windows 使用相同的标识符 (0x1) 和序列号,每个数据包的增量为 256 . 如果两台主机在 ping 同一个外部服务器,NAT 如何区分传入的 ICMP 数据包?如果内网不过滤源地址,伪造ECHO响应有多难?用例:用于监控的 icmp ping,负载均衡器在收到伪造的 ICMP 响应(目标不可达、高延迟等)时可能会采取不正确/不必要的操作
场景 2:一些 IPS 设备,比如 GFW,检查传输路径上的数据包。伪造 ICMP 错误消息以隐秘方式杀死连接有多么实用。它不是发送 TCP RST,而是使用伪造的源 ip(另一端的合法 IP 或路径更远的一些跃点)发送无法访问的目标端口/数据包太大(这可能会很有趣:))。跟踪原始 IP 标头和前 64 个字节可能很昂贵,但以当今可用的计算能力,是否可行?
基本上无论是从 NAT 内部还是外部,伪造的 ICMP 造成损坏/混乱的可能性有多大?我不是在谈论 ICMP 泛洪。
顺便说一句,NAT 可以处理 TCP/UDP 以外的任何 IP 协议吗?我实际上并不确定它如何处理不同的 ICMP 类型。