wireshark实战笔记之ICMP分析

wireshark实战笔记之ICMP分析

  • ICMP基础知识
    • 概述:
    • ICMP功能
    • ICMP报文格式
      • 各字段说明
      • ICMP大概分为两类报文:
  • wireshark实战分析

ICMP基础知识

概述:

ICMP,全称为Internet Control Message Protocol,即为因特网控制报文协议。
ICMP既不是网络层协议,也不是传输层协议,但是通常ICMP被认为是IP层的一部分,所以一般把他归为网络层。
一个新搭建好的网络,往往需要先进行一个简单的测试,来验证网络是否畅通;但是IP协议并不提供可靠传输。如果丢包了,IP协议并不能通知传输层是否丢包以及丢包的原因。
所以我们就需要一种协议来完成这样的功能–ICMP协议。

ICMP功能

  1. 确认IP包是否成功到达目标地址
  2. 通知在发送过程中IP包被丢弃的原因
    如下图所示: wireshark实战笔记之ICMP分析_第1张图片

ICMP报文格式

CMP报文包含在IP数据报中,IP报头在ICMP报文的最前面。一个ICMP报文包括IP报头(至少20字节)、ICMP报头(至少八字节)和ICMP报文(属于ICMP报文的数据部分)。当IP报头中的协议字段值为1时,就说明这是一个ICMP报文。ICMP报头如下图所示。
wireshark实战笔记之ICMP分析_第2张图片

各字段说明

类型: 占一字节,标识ICMP报文的类型,目前已定义了14种,从类型值来看ICMP报文可以分为两大类。第一类是取值为1~127的差错报文,第2类是取值128以上的信息报文。
代码: 占一字节,标识对应ICMP报文的代码。它与类型字段一起共同标识了ICMP报文的详细类型。
校验和: 这是对包括ICMP报文数据部分在内的整个ICMP数据报的校验和,以检验报文在传输过程中是否出现了差错。其计算方法与在我们介绍IP报头中的校验和计算方法是一样的。
标识: 占两字节,用于标识本ICMP进程,但仅适用于回显请求和应答ICMP报文,对于目标不可达ICMP报文和超时ICMP报文等,该字段的值为0。

ICMP大概分为两类报文:

一类是通知出错原因 ;一类是用于诊断查询
类型及含义如下:
wireshark实战笔记之ICMP分析_第3张图片

wireshark实战分析

我们使用ping命令来抓包分析ICMP。
wireshark实战笔记之ICMP分析_第4张图片
ping命令的功能
(1)能验证网络的连通性
(2)会统计响应时间和TTL(IP包中的Time To Live,生存周期)
那么如何验证的呢?
(1)ping命令会先发送一个 ICMP Echo Request给对端
(2)对端接收到之后, 会返回一个ICMP Echo Reply
(3)若没有返回,就是超时了,会认为指定的网络地址不存在。

如图:
捕获到了request包和reply包,在Windows下要验证四次,所以有四次request和reply。
wireshark实战笔记之ICMP分析_第5张图片
下面查看详细信息:
首先需要强调的是,在分析ICMP数据包的时候,我们需要重点关注的是ICMP头部的Type以及Code的内容。Type表示ICMP消息基于RFC规范的类型或分类。Code表示ICMP消息基于RFC规范的子类型。

看一下第一个数据包,它显示了主机192.168.1.105在给192.168.1.100发送数据包。ICMP头部中的Type的值是8,Code值是0,说明这是一个echo请求数据包,Wireshark已经帮我们解析出来了。其实这是一个简单的ICMP数据包,使用IP发送,所包含的数据很少。除了指定的类型、代码以及校验和,这里还有序列号用于匹配请求和响应,并且在可变域中包含有一串随机字符串。

wireshark实战笔记之ICMP分析_第6张图片
并且Response frame显示274,意思是request的reply包是274.

接下来我们再分析一下第二个数据包:

wireshark实战笔记之ICMP分析_第7张图片
这个数据包是对我们请求的响应。在它的ICMP头部中,类型和代码的值都是0,表示这是一个echo响应。由于第二个数据包的序列号和第一个数据包可以相匹配,于是就可以确定它和第一个数据包是对应的。并且还可以发现,在Data的部分,这个数据包有着和第一个数据包相同的字符内容。当这个数据包被成功接收后,ping就成功了。

参考资料:
https://www.bilibili.com/video/BV1fE411Q7xY?p=4&t=8
https://www.sogou.com/link?url=hedJjaC291OV7dVab-QfvHtdr0qpeLU_X7a-SF81GfLn364rbmARnA…

你可能感兴趣的:(WireSahrk实战分析,计算机网络)