ARP
协议抓包分析 – wireshark
ARP
- Address Resolution Protocol
协议,即地址解析协议。该协议功能就是将IP
地址解析成MAC
地址。
在发送数据的时候,只知道目标IP
地址,不知道MAC
地址,而又不能跨越第二、三层实现通讯,所以需要使用地址解析协议。使用地址解析协议之后,计算机可以根据网络层中的IP
地址数据,得到目标地址MAC
地址,以保障通讯的顺利进行。
**arp
**命令,ARP
缓存表维护工具
在计算机中都会提供一个arp
命令,用于增加、删除和查询缓存表中的静态地址对应关系。
使用方式如下:
arp
Show and manipulate your system's ARP cache.
- Show current arp table:
arp -a
- Clear the entire cache:
sudo arp -a -d
- Delete a specific entry:
arp -d {{address}}
- Create an entry:
arp -s {{address}} {{mac_address}}
**arp
**请求报文格式
-
第一个字段是广播
MAC
地址,地址为0x FF FF FF FF FF FF
,其目标是网络上的所有主机 -
第二个字段,源
MAC
地址 -
第三个字段是协议类型,
arp
的协议类型是0x0806
-
硬件类型:占两字节,表示
ARP
报文可以在哪种类型的网络上传输,值为1时表示为以太网地址。 -
上层协议类型:占两字节,表示硬件地址要映射的协议地址类型,映射
IP
地址时的值为0x0800
。 -
MAC地址长度:占一字节,标识
MAC
地址长度,以字节为单位,此处为6。 -
IP
协议地址长度:占一字节,标识IP
得知长度,以字节为单位,此处为4。 -
操作类型:占2字节,指定本次
ARP
报文类型。1标识ARP
请求报文,2标识ARP
应答报文。 -
源MAC地址:占6字节,标识发送设备的硬件地址。
-
源
IP
地址:占4字节,标识发送方设备的IP
地址。 -
目的
MAC
地址:占6字节,表示接收方设备的硬件地址,在请求报文中该字段值全为0,即00-00-00-00-00-00,表示任意地址,因为现在不知道这个MAC
地址。 -
目的
IP
地址:占4字节,表示接受方的IP
地址。
**arp
**应答报文格式
arp
应答协议报文和arp
请求协议报文类似。不同的是,此时以太网头部帧头部分的目的MAC
地址为发送ARP
协议地址解析请求的MAC
地址,而源MAC
地址为被解析的主机MAC
地址。同时操作类型为2表示是应答数据报文
抓获的一个ARP
请求报文
No. Time Source Destination Protocol Length Info
48 0.585964653 HIWIFI_65:b0:40 Chongqin_e1:18:a9 ARP 42 Who has 192.168.199.235? Tell 192.168.199.1
Frame 48: 42 bytes on wire (336 bits), 42 bytes captured (336 bits) on interface wlp4s0, id 0
Ethernet II, Src: HIWIFI_65:b0:40 (d4:ee:07:65:b0:40), Dst: Chongqin_e1:18:a9 (40:23:43:e1:18:a9)
Destination: Chongqin_e1:18:a9 (40:23:43:e1:18:a9)
Source: HIWIFI_65:b0:40 (d4:ee:07:65:b0:40)
Type: ARP (0x0806)
Address Resolution Protocol (request)
Hardware type: Ethernet (1)
Protocol type: IPv4 (0x0800)
Hardware size: 6
Protocol size: 4
Opcode: request (1)
Sender MAC address: HIWIFI_65:b0:40 (d4:ee:07:65:b0:40)
Sender IP address: 192.168.199.1
Target MAC address: 00:00:00_00:00:00 (00:00:00:00:00:00)
Target IP address: 192.168.199.235
抓获的APP
回复报文
No. Time Source Destination Protocol Length Info
49 0.000021455 Chongqin_e1:18:a9 HIWIFI_65:b0:40 ARP 42 192.168.199.235 is at 40:23:43:e1:18:a9
Frame 49: 42 bytes on wire (336 bits), 42 bytes captured (336 bits) on interface wlp4s0, id 0
Ethernet II, Src: Chongqin_e1:18:a9 (40:23:43:e1:18:a9), Dst: HIWIFI_65:b0:40 (d4:ee:07:65:b0:40)
Destination: HIWIFI_65:b0:40 (d4:ee:07:65:b0:40)
Source: Chongqin_e1:18:a9 (40:23:43:e1:18:a9)
Type: ARP (0x0806)
Address Resolution Protocol (reply)
Hardware type: Ethernet (1)
Protocol type: IPv4 (0x0800)
Hardware size: 6
Protocol size: 4
Opcode: reply (2)
Sender MAC address: Chongqin_e1:18:a9 (40:23:43:e1:18:a9)
Sender IP address: 192.168.199.235
Target MAC address: HIWIFI_65:b0:40 (d4:ee:07:65:b0:40)
Target IP address: 192.168.199.1