icmp是“Internet Control Message Protocol”(Internet控制讯息协定)的缩写。它是TCP/IP的一个子协定,用于在IP主机、路由器之间传递控制讯息。icmp控制包是指用于探查网路通不通、主机是否可达、路由是否可用等网路问题的讯息。
基本介绍
- 中文名icmp数据包
- 外文名Internet Control Message Protocol
- 隶属Internet控制报文协定
- 功用在IP主机路由器之间传递控制讯息
基本介绍
它是TCP/IP协定族的一个子协定,用于在IP主机、路由器之间传递控制讯息。控制讯息是指网路通不通、主机是否可达、路由是否可用等网路本身的讯息。这些控制讯息虽然并不传输用户数据,对于用户数据的传递起着重要的作用。ICMP是控制协定,不需要连线埠号。
我们在网路中经常会使用到ICMP协定,只不过我们觉察不到而已。比如我们经常使用的用于检查网路通不通的Ping命令,这个“Ping”的过程实际上就是ICMP协定工作的过程。还有其他的网路命令如跟蹤路由的Tracert命令也是基于ICMP协定的。
ICMP的重要性
ICMP协定对于网路安全具有极其重要的意义。ICMP协定本身的特点决定了它非常容易被用于攻击网路上的路由器和主机。
比如,可以利用作业系统规定的ICMP数据包最大尺寸不超过64KB这一规定,向主机发起“Ping of Death”(死亡之Ping)攻击。“Ping of Death” 攻击的原理是如果ICMP数据包的尺寸超过64KB上限时,主机就会出现记忆体分配错误,导致TCP/IP堆叠崩溃,致使主机当机。
,向目标主机长时间、连续、大量地传送ICMP数据包,也会最终使系统瘫痪。大量的ICMP数据包会形成“ICMP风暴”,使得目标主机耗费大量的CPU资源处理,疲于奔命。
应对ICMP攻击
虽然ICMP协定给黑客以可乘之机,ICMP攻击也并非无药可医。只要在日常网路管理中未雨绸缪,提前做好準备,就可以有效地避免ICMP攻击造成的损失。
对于ICMP的攻击,可以採取两种方法进行防範第一种方法是在路由器上对ICMP数据包进行频宽限制,将ICMP占用的频宽控制在一定的範围内,这样即使有ICMP攻击,它所占用的频宽也是非常有限的,对整个网路的影响非常少;第二种方法就是在主机上设定ICMP数据包的处理规则,最好是设定拒绝所有的ICMP数据包。
设定ICMP数据包处理规则的方法也有两种,一种是在作业系统上设定包过滤,另一种是在主机上安装防火墙。
freebsd下可以使用ipfw来防止ping(icmp)~