局域网内 ARP 流量分析
一、ARP 协议简介
ARP,全称 Address Resolution Protocol,中文名为地址解析协议,它工作
在数据链路层,在本层和硬件接口联系,同时对上层提供服务。
IP 数据包常通过以太网发送,以太网设备并不识别 32 位 IP 地址,它们是
以 48 位以太网地址传输以太网数据包。因此,必须把 IP 目的地址转换成以太
网目 的地址。在以太网中,一个主机要和另一个主机进行直接通信,必须要知
道目标主机的 MAC 地址。它就是通过地址解析协议获得的。ARP 协议用于将
网络中的 IP 地址解析为的硬件地址(MAC 地址),以保证通信的顺利进行。
1. ARP 和 RARP 报头结构
ARP 和 RARP 使用相同的报头结构,如图 1 所示。
(图 1 ARP/RARP 报头结构)
硬件类型字段:指明了发送方想知道的硬件接口类型,以太网的值为 1;
协议类型字段:指明了发送方提供的高层协议类型,IP 为 0800(16 进制);
硬件地址长度和协议长度:指明了硬件地址和高层协议地址的长度,这样
ARP 报文就可以在任意硬件和任意协议的网络中使用;
操作字段:用来表示这个报文的类型,ARP 请求为 1,ARP 响应为
2,RARP 请求为 3,RARP 响应为 4;
发送方的硬件地址(0-3 字节):源主机硬件地址的前 3 个字节;
发送方的硬件地址(4-5 字节):源主机硬件地址的后 3 个字节;
发送方 IP(0-1 字节):源主机硬件地址的前 2 个字节;
发送方 IP(2-3 字节):源主机硬件地址的后 2 个字节;
目的硬件地址(0-1 字节):目的主机硬件地址的前 2 个字节;
目的硬件地址(2-5 字节):目的主机硬件地址的后 4 个字节;
目的 IP(0-3 字节):目的主机的 IP 地址。
2. ARP 的工作原理
ARP 的工作原理如下:
1) 首先,每台主机都会在自己的 ARP 缓冲区 (ARP Cache)中建立一个
ARP 列表,以表示 IP 地址和 MAC 地址的对应关系。
2) 当源主机需要将一个数据包要发送到目的主机时,会首先检查自己
ARP 列表中是否存在该 IP 地址对应的 MAC 地址,如果有﹐就直接将
数据包发送到这个 MAC 地址;如果没有,就向本地网段发起一个 ARP