ICMP 攻击--网络大典

博客介绍了 ICMP DOS 攻击,攻击者伪造 ICMP “时间超出”“目标地址无法连接”消息,可使主机放弃连接、切断通信;伪造“转向”消息,能让主机经攻击者主机向特定连接发送数据包,还给出了相关内容的中英文页面链接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    ICMP 被 IP 层用于向一台主机发送单向的告知性消息。在 ICMP 中没有验证机制,这就导致了使用 ICMP 可以造成服务拒绝的攻击,或者可以支持攻击者截取数据包。下面列出了几种与 ICMP 协议相关的攻击类型:

  ICMP DOS 攻击:攻击者使用 ICMP “时间超出”或“目标地址无法连接”的消息。这两种 ICMP 消息都会导致一台主机迅速放弃连接。攻击只需伪造这些 ICMP 消息中的一条,并发送给通信中的两台主机或其中的一台,就可以利用这种攻击了。接着通信连接就会被切断。当一台主机错误地认为信息的目标地址不在本地网络中的时候,网关通常会使用 ICMP “转向”消息。如果攻击者伪造出一条“转向”消息,它就可以导致另外一台主机经过攻击者主机向特定连接发送数据包。

更多内容请访问以下页面: 

中文版:http://www.networkdictionary.com/chinese/security/ICMPAttacks.php

英文版:http://www.networkdictionary.com/security/ICMPAttacks.php

为了阻止特定类型的 ICMP 响应(例如 ICMP 类型 0,即 `echo-reply`)通过 `iptables`,可以使用以下规则来实现。这些规则将阻止传出的 ICMP 类型 0 响应: ```bash iptables -A OUTPUT -p icmp --icmp-type echo-reply -j DROP ``` 此规则会匹配所有协议为 ICMP 且类型为 `echo-reply` 的传出数据包,并将其丢弃,从而阻止这些响应通过网络接口发送出去[^1]。 如果你希望阻止所有类型的 ICMP 响应,可以使用以下规则: ```bash iptables -A OUTPUT -p icmp --icmp-type echo-reply -j DROP ``` 此外,如果你想阻止特定接口上的 ICMP 响应,可以在规则中指定接口名称。例如,以下规则将阻止通过 `eth0` 接口的 ICMP 类型 0 响应: ```bash iptables -A OUTPUT -o eth0 -p icmp --icmp-type echo-reply -j DROP ``` 这些规则可以根据具体需求进行调整,以满足不同的网络安全性要求。在实际应用中,建议在测试环境中验证规则的效果,以确保不会影响正常的网络通信[^1]。 ### 阻止特定 ICMP 类型的示例 假设你只想阻止 ICMP 类型 0(`echo-reply`),而不影响其他 ICMP 类型的流量,可以使用以下规则: ```bash iptables -A OUTPUT -p icmp --icmp-type echo-reply -j DROP ``` 这条规则将仅阻止传出的 ICMP 回显响应,而不会影响其他类型的 ICMP 流量(如 `echo-request` 或其他 ICMP 错误消息)。 如果你需要阻止多个特定类型的 ICMP 响应,可以为每个类型添加单独的规则。例如,以下规则将阻止 ICMP 类型 0 和类型 3(`destination-unreachable`)的响应: ```bash iptables -A OUTPUT -p icmp --icmp-type echo-reply -j DROP iptables -A OUTPUT -p icmp --icmp-type destination-unreachable -j DROP ``` 这些规则可以根据需要扩展,以覆盖更多 ICMP 类型或特定的网络场景。 ### 注意事项 - **规则顺序**:`iptables` 的规则是按顺序匹配的,因此确保这些规则的位置合理,以免被其他规则覆盖。 - **持久化保存**:修改后的 `iptables` 规则在系统重启后会失效,建议使用 `iptables-save` 和 `iptables-restore` 工具将规则持久化保存。 - **测试与验证**:在应用规则之前,建议在测试环境中验证规则的行为,以避免意外中网络通信。 ### 示例代码 以下是一个完整的示例脚本,用于阻止特定类型的 ICMP 响应: ```bash #!/bin/bash # 阻止所有接口上的 ICMP 类型 0 (echo-reply) iptables -A OUTPUT -p icmp --icmp-type echo-reply -j DROP # 阻止 eth0 接口上的 ICMP 类型 0 (echo-reply) iptables -A OUTPUT -o eth0 -p icmp --icmp-type echo-reply -j DROP # 阻止 ICMP 类型 0 和类型 3 的响应 iptables -A OUTPUT -p icmp --icmp-type echo-reply -j DROP iptables -A OUTPUT -p icmp --icmp-type destination-unreachable -j DROP ``` 运行此脚本后,`iptables` 将根据规则阻止相应的 ICMP 响应。请根据实际需求调整规则内容[^1]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值