ARP协议基本介绍与实践
文章目录
ARP概述
作用:ARP(Address Resolution Protocol,地址解析协议)用于根据目标设备的 IP 地址,解析出其对应的 MAC 地址,以实现局域网内的数据帧传输。简单来说,ARP 就像网络世界里的 "问路向导"。当设备(比如电脑、手机)想和另一个设备通信时,虽然知道对方的 IP 地址(就像知道对方的门牌号),但还需要知道对方的 MAC 地址(相当于对方的 "物理标识")才能发送数据。ARP 的作用就是根据已知的目的 IP 地址,找到对应的 MAC 地址。
ARP报文类型
ARP工作过程解析
ARP 通过两种报文完成地址解析,整个过程可以分为 "询问" 和 "回应" 两步:
请求报文(ARP Request)
- 发送方式:广播(可以理解为 "大声喊话",同一网络内的所有设备都能收到)。
- 目的 MAC 地址 :固定为
ffff-ffff-ffff
(这是广播 MAC 地址,代表发给所有人)。 - 作用 :比如设备 (PC1) 想找 IP 为
10.1.1.2
的设备,就会发送请求:"谁的 IP 是10.1.1.2
?请告诉我你的 MAC 地址!"
回复报文(ARP Reply)
- 发送方式:单播(相当于 "悄悄话",只发给发出请求的设备)。
- 作用 :当 IP 为
10.1.1.2
的设备 (PC2) 收到请求后,会单独回复设备 A:我的 IP 是 10.1.1.2
,MAC 地址是xx:xx:xx:xx:xx:xx
。
ARP工作原理示意图
拓扑图:

抓包查看报文:


无故ARP/免费ARP
原理 :设备在配置或使用某个IP地址之前,会向网络中广播一个发送无故ARP请求报文,该报文中目标IP地址与源IP地址相同,用于检测IP地址是否冲突。如果收到reply回复,说明地址已经被使用;如果未收到reply回复,说明地址没有被使用。
抓包图例:

实验案例
实验目标
通过抓包工具观察 ARP 请求与回复过程,理解无故 ARP 的冲突检测机制。
实验环境
- 两台处于同一局域网的计算机
- Wireshark 或类似网络抓包工具
实验步骤
- 开启抓包:在主机A上启动 Wireshark,选择正确的网络接口,开始抓包。
- 触发 ARP 请求 :在主机A上 ping 主机B的 IP 地址(如
ping 192.168.1.2
),触发 ARP 解析过程。 - 观察 ARP 报文 :在抓包结果中过滤
arp
,查看 Request 和 Reply 报文。 - 模拟无故 ARP:在主机A上执行以下命令(以 Windows 为例):
cmd
arp -d * // 清除ARP缓存,清除所有 ARP 缓存条目。
ping 192.168.1.1 // 向目标 IP 发送 ICMP 请求,若 ARP 缓存中无对应 MAC,则会先发起 ARP 请求。
5.分析结果:观察是否有无故 ARP 报文发出,并注意是否有冲突回复。
如涉及版权问题,请联系作者处理!!!