【愚公系列】2022年02月 wireshark系列-数据抓包分析之ARP协议02

愚公搬代码 发表于 2022/02/28 19:54:50 2022/02/28
【摘要】 一、任务描述:分析ARP请求包和ARP应答包1、熟悉ARP 报文格式在分析ARP协议包之前,先介绍一下它的报文格式,以帮助学生更清楚的理解每个包。ARP请求报文格式如下图所示。ARP请求协议报文格式该图中每行长度为4个字节,即32位。其中图中蓝色的部分是以太网(指Ethernet II类型)的帧头部。这里共三个字段,分别如下所示: 第一个字段是广播类型的MAC地址:0XFF-FF-FF-F...

一、

任务描述:分析ARP请求包和ARP应答包

1、熟悉ARP 报文格式

在分析ARP协议包之前,先介绍一下它的报文格式,以帮助学生更清楚的理解每个包。ARP请求报文格式如下图所示。

ARP请求协议报文格式

在这里插入图片描述
该图中每行长度为4个字节,即32位。其中图中蓝色的部分是以太网(指Ethernet II类型)的帧头部。这里共三个字段,分别如下所示: 第一个字段是广播类型的MAC地址:0XFF-FF-FF-FF-FF-FF,其目标是网络上的所有主机。 第二个字段是源MAC地址,即请求地址解析的的主机MAC地址。 第三个字段是协议类型,这里用0X0806代表封装的上层协议是ARP协议。

接下来是ARP协议报文部分其中各个字段的含义如下:

硬件类型:表明ARP协议实现在哪种类型的网络上。

协议类型:表示解析协议(上层协议)。这里一般是0800,即IP。

硬件地址长度:MAC地址长度,此处为6个字节。

协议地址长度:IP地址长度,此处为4个字节。

操作类型:表示ARP协议数据包类型。1表示ARP协议请求数据包,2表示ARP协议应答数据包。

源MAC地址:发送端MAC地址。

源IP地址:表示发送端协议地址(IP地址)。

目标MAC地址:目标端MAC地址。

目标IP地址:表示目的端协议地址(IP地址)。

ARP协议应答协议报文和ARP协议请求协议报文类似。不同的是,此时以太网帧头部的目标MAC地址为发送ARP协议地址解析请求的MAC地址,而源MAC地址为被解析的主机的MAC地址。同时,操作类型字段为2,表示ARP协议应答数据包,目标MAC地址字段被填充为目标MAC地址。

ARP应答协议报文格式

在这里插入图片描述
2、分析ARP请求包

捕获的ARP请求包如下图33帧数据

在这里插入图片描述
从上图可以看到,第一个数据包是一个ARP请求包。用户可以通过在Wireshark的Packet Details面板中,检查以太网头部来确定该包是否是一个真的广播数据包。下面将详细介绍Packet Details面板中的每行信息。如下所示:

在这里插入图片描述
Frame 33: 42 bytes on wire (336 bits), 42 bytes captured (336 bits) on interface 0

以上内容表示这是第33帧数据包的详细信息。其中,该包的大小为42个字节。

Ethernet II, Src: 02:00:04:78:01:7b (02:00:04:78:01:7b), Dst: Broadcast (ff:ff:ff:ff:ff:ff)

以上内容表示以太网帧头部信息。其中源MAC地址为02:00:04:78:01:7b,目标MAC地址为ff:ff:ff:ff:ff:ff(广播地址)。这里的目标地址为广播地址,是因为主机PC2不知道PC1主机的MAC地址。这样,局域网中所有设备都会收到该数据包。

Address Resolution Protocol (request)

以上内容表示地址解析协议内容,request表示该包是一个请求包。在该包中包括有ARP更详细的字段信息,如下所示:

Address Resolution Protocol (request)   #ARP请求包 

Hardware type: Ethernet (1)   #硬件类型 

Protocol type: IP (0x0800)   #协议类型 

Hardware size: 6   #硬件地址 

Protocol size: 4  #协议长度 

Opcode: request (1)   #操作码。该值为1表示是个ARP请求包 

Sender MAC address: 02:00:04:78:01:7b (02:00:04:78:01:7b)   #发送端MAC地址 

Sender IP address: 10.1.1.142 (10.1.1.142)   #发送端IP地址 

Target MAC address: 00:00:00_00:00:00 (00:00:00:00:00:00)   #目标MAC地址 

Target IP address: 10.1.1.166(10.1.1.166)   #目标IP地址 

通过以上内容的介绍,可以确定这是一个在以太网上使用IP的ARP请求。从该内容中,可以看到发送方的IP(10.1.1.142)和MAC地址(02:00:04:78:01:7b),以及接收方的IP地址(10.1.1.166)。由于目前还不知道目标主机的MAC地址,所以这里的目的MAC地址为00:00:00:00:00:00。

关于以上ARP头部的内容和前面介绍的ARP请求报文格式是相对应的,如下图

在这里插入图片描述
3、分析ARP响应包

捕获的ARP相应包如下图34帧数据

在这里插入图片描述
在上图中的Packet Details面板中,可以看到第二个数据包是一个ARP响应包。该包中的信息与ARP请求包的信息类似。但是也有几处不同。下面将详细介绍,如下所示:

Frame 34: 60 bytes on wire (480 bits), 60 bytes captured (480 bits) on interface 0

以上信息表示这是第二个数据包的详细信息。其中,该包的大小为60个字节。

EthernetII,Src:02:00:03:56:00:cf(02:00:03:56:00:cf),Dst:02:00:04:78:01:7b(02:00:04:78:01:7b)

以上内容是以太网帧头部的信息。其中,源MAC地址为02:00:03:56:00:cf,目标MAC地址为02:00:04:78:01:7b。从该行信息中,可以知道PC2获取到了PC1主机的MAC地址。这样就可以正常通信了。

Address Resolution Protocol (reply)

以上内容表示这里一个ARP响应包。该包中详细内容如下所示:

Address Resolution Protocol (reply)   #ARP应答包 

Hardware type: Ethernet (1)   #硬件类型 

Protocol type: IP (0x0800)   #协议类型 

Hardware size: 6   #硬件长度 

Protocol size: 4   #协议长度 

Opcode: reply (2)   #操作码为2表示该包是ARP响应包 

Sender MAC address: 02:00:03:56:00:cf (02:00:03:56:00:cf)   #发送方MAC地址 

Sender IP address: 10.1.1.166(10.1.1.166)   #发送方IP地址 

Target MAC address: 02:00:04:78:01:7b (02:00:04:78:01:7b)   #目标MAC地址 

Target IP address: 10.1.1.142 (10.1.1.142)   #目标IP地址 

以上ARP响应包中的信息与它的报文格式也是相对应的,如下图所示:

在这里插入图片描述

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区),文章链接,文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:cloudbbs@huaweicloud.com进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。