ICMP是“Internet Control Message Ptotocol”(Internet控制消息协议)的缩写。它是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。
控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息尽管并不传输用户数据,可是对于用户数据的传递起着关键的数据。
在网络中常常会使用到ICMP协议。比如常常常使用于检查网络不通的ping命令,这个ping的过程实际上就是ICMP协议工作的过程。还有跟踪路由的trancert命令也是基于ICMP协议的。
操作系统规定的ICMP数据包最大尺寸不超过64KB。通常利用这一规定进行主机攻击。
即Ping of Death攻击。它的原理是:假设ICMP数据包的尺寸超过64KB上限时,主机就会出现内存分配错误,导致TCP/IP堆栈崩溃,致使主机死机。
此外。向目标主机长时间、连续、大量地发送ICMP数据包,也会终于使系统瘫痪。大量的ICMP数据包会形成ICMP风暴,使得目标主机耗费大量的CPU资源处理。疲于奔命。
ping.exe的原理:向指定的IP地址发送一定长度的数据包。依照约定,若指定IP地址存在的话,会返回相同大小的数据包。当然,若在特定时间内没有返回,就是“超时”,会被觉得指定的IP地址不存在。因为ping使用的是ICMP协议,有些防火墙软件会屏蔽ICMP协议,所以有时候ping的结果仅仅能作为參考。ping不通并不一定说明对方IP不存在。
IPSec安全策略防ping原理:通过新建一个IPSec策略过滤本机全部的ICMP数据包,这样确实能够有效地防ping,但同一时候也会留下后遗症。
由于ping命令和ICMP协议有着密切的关系。在ICMP协议的应用中包括11种报文格式,当中ping命令就是利用ICMP协议中的“Echo Request”报文进行工作的。
一般在某些有特殊应用的局域网环境中。easy出现数据包丢失的现象,影响用户正常办公,因此建议使用防火墙。