ICMP协议抓包分析-wireshark

ICMP- (Internet Control Message Protocol,网际报文协议)是Internet协议族的核心协议之一,也可称为是网际控制报文协议,是TCP/IP协议族的一个子协议,它主要用在网络计算机操作系统之间发送出错信息。例如:提示请求服务不可用、主机路由不可达等,通常是IP协议的一个集成部分。一般不用于端系统之间传送数据,不被用户网络程序直接使用。

是一种面向无连接的协议,用于传输出错报告控制信息,他是一个重要的协议,对于网络安全具有极其重要的意义。

学习ICMP协议对于网络安全具有极其重要的意义。ICMP协议本身的特点决定了它非常容易被用于攻击网络上的路由器和主机。例如:用户可以利用操作系统规定的ICMP数据包最大不能超过64KB这一规定,向主机发起Ping of Death(死亡之Ping)攻击,原理就是当ICMP数据包的尺寸超过64KB上限时,主机会出现内存非配错误,导致TCP/IP堆栈崩溃,致使主机死机。另外也可以使用大量的ICMP进行攻击,称为ICMP风暴。

捕获ICMP数据

在一个主机上,开启wireshark并开始ping一个网址,pingping的过程抓获

ICMP首部

Wireshark只抓请求 wireshark只抓取icmp_IP

以上表格中ICMP首部各个字段含义如下:

  • 类型
  • CodeRFC子规范类型
  • 校验和:用来保证ICMP数据的完整性
  • 可变域:依赖于类型和Code域的部分

类型

类型

Code

描述

8

0

回显请求

10

0

路由请求

13

0

时间戳请求

15

0

信息请求(废弃)

17

0

地址掩码请求

类型

类型

描述

0

相应应答

3

目标主机不可达

4

源点抑制

5

重定向

8

相应请求

9

路由器公告

10

路由器请求

11

超时

12

参数问题

echoping经常会有人搞混淆,但记住Ping实际上是一个工具的名字,Ping工具用于发送ICMP echo请求数据包