6.3.5 利用Wireshark进行协议分析(五)----捕获并分析ICMP报文

6.3.5 利用Wireshark进行协议分析(五)----捕获并分析ICMP报文

一、捕获ICMP报文
  1. 打开Wireshark,选择网络接口并点击开始按钮。分组列表面板不断刷新抓渠道的数据包,为了过滤出我们所要分析的ICMP报文,我们在过滤框中输入icmp,为了生成icmp报文,我们需要运行系统自带的ping程序。

  2. 打开命令行,输入

    ping 192.168.184.2
    

    ping命令在运行过程中会发送多个ICMP的回应请求报文,如果目标主机可达,则ping程序会接收到多个响应的ICMP回应应答报文,如我们ping 192.168.184.2如图

    ping

    我们可以看到ping程序的返回结果,里面包含了四条目标主机的回复信息及一些统计信息,图中ping的IP地址是操作主机所在网络的网关地址。

  3. 回到Wireshark我们可以看到分组列表中过滤出了8个ICMP报文,这8个报文是由成对的请求和应答组成。

    如图

    Wireshark

    这些报文是否属于ping程序,我们来验证一下。

    第一个报文的目的地址是192.168.184.2,这正是刚才ping命令执行的目的IP地址。源地址是192.168.184.133如图

    IP地址

    我们可以看到本机的IP地址是192.168.184.133。这就说明第一条报文是由本机发出的。

    第二个ICMP报文图中我们看到它的目的IP地址和源地址与第一个ICMP报文恰恰相反,它是由网关发往本地主机的一个ICMP的应答报文,所以Wireshark捕获的这8个报文告诉我们ping程序是连续的发送了四个ICMP的请求,对方在可达可联通的情况下会回应相应的ICMP应答报文,所以利用ICMP报文的交互,就可以检测对方的可达性。

二、分析ICMP报文结构

点击第一个ICMP的回应请求报文,在分组详情面板中会以分层的形式显示数据包的具体结构如图

ICMP报文结构

  1. 第一层Frame点开,给出了数据帧的全局信息,显示了包括帧长74个字节,帧到达的时间,接口的编号和帧的类型。

    第一行

  2. 第二行显示了数据帧头部信息,可以看到以太帧头部包括的三个字段,目的MAC地址,源MAC地址、类型字段,类型字段取值为十六进制的0800,说明数据帧中包含的是一个IP分组。

    第二行

  3. 第三行显示了IP分组头部信息,包括版本号4,头部长度20字节,服务类型,数据报总长度,用于分片的标志字0,分片偏移字段0,说明这是一个完整的IP数据报。没有被分片。生存周期128,表示最多允许经过128跳路由器的转发。协议字段1,说明IP分组里面封装的是一个ICMP报文,头部校验、源IP地址,目的IP地址。我们可以对照以太网IP协议规范的报文格式(5.2.3 IP数据报(一)IP数据报的格式)来检查ICMP报文该字段是符合规范的。

    第三行

  4. 第四行是ICMP的协议报文,具体内容是类型8,Code:0表明这是一个 Echo (ping) request也就是一个回应请求报文,校验和字段,这三个字段是所有ICMP报文的通用首部,或称为固定首部,下面的标识字段(Identifier (BE): 1 (0x0001))和序号字段(Sequence Number (BE): 1 (0x0001)),都是用两种不同的字节序来显示的。标识代表的是当前运行的ping进程的标识,序号字段代表ping生成的ICMP报文的编号

    第四行

  5. 这里我们可以发现,在成对出现的ICMP的回应报文中标识字段和序号字段都是相同的

    在这里插入图片描述

  6. 最后的Data字段中,包含了32个字节的随机生成的数据

通过对Wireshark捕获到的ICMP报文的分析,我们能够更加清晰的了解到ICMP报文的结构并且更加深入的理解了ping命令的工作过程。

这里我们一起讨论如果在主机上同时运行两个ping程序对相同的目标地址进行检测,那么这两个ping程序发送或者接收到的ICMP报文之间的区别,这些区别的含义又是什么欢迎大家评论区讨论。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值