ICMP(Internet Control Message Protocol,互联网控制报文信息)
ICMP用于IP主机、路由器直接传递控制信息,控制信息是指网络通不通、主机是否可达、路由是否可用等网络本身信息。ICMP不传输用户信息。
ICMP安全
1)死亡之ping。ICMP数据包最大尺寸不能超过64KB,死亡之ping的攻击原理就是发送超过64KB上限的ICMP数据包,使得主机内存分配出错、TCP/IP堆栈崩溃,导致死机。
2)ICMP风暴。长时间、连续、大量地发送ICMP数据包,使得系统瘫痪。
典型应用
ping工具用于发送ICMP echo请求包。与之对应的,ICMP echo响应包。
ICMP也可用于traceroute路由追踪,tracert命令,识别一个设备到另一个设备的网络路径。通过路由追踪功能,找出网络故障的位置。
ICMP首部
类型为8,回显请求;类型为0,回显响应;类型为11,超时;类型为3,目标主机不可达。
当请求超时或目标不可达时,可变域就是全0(00 00 00 00)。
当超时时,会在ICMP数据包中IP数据包信息的TTL字段数据域中填写1,表示告诉源主机所发送的数据包是不会到达目的主机的。
分析ICMP数据包
1、2为控制报文,3、4为差错报文
1、Echo(ping) request
2、Echo(ping) response
3、请求超时数据包 Time-to-live exceeded
4、目标主机不可达数据包 Destination unreachable