【愚公系列】2022年02月 wireshark系列-数据抓包分析之ARP协议02
一、
任务描述:分析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响应包中的信息与它的报文格式也是相对应的,如下图所示:
- 点赞
- 收藏
- 关注作者
评论(0)