目录
[场景 1:同一局域网内通信](#场景 1:同一局域网内通信)
[场景 2:跨网段通信](#场景 2:跨网段通信)
[关键细节:ARP 缓存的老化机制](#关键细节:ARP 缓存的老化机制)
1.什么是ARP
ARP 是局域网内的地址解析协议,核心作用是将网络层的 IP 地址翻译成数据链路层的 MAC 地址,因为局域网内数据帧传输依赖 MAC 地址,而设备之间只知道目标 IP,需要 ARP 完成映射。
2.ARP的作用
网络分层模型中,IP 地址用于跨网段的 "路由寻址"(比如从你的电脑到游戏服务器),但数据包在同一局域网内传输时(比如电脑到路由器、路由器到同网段其他设备),数据链路层需要通过MAC地址识别物理设备。
问题:IP 地址是逻辑地址,MAC 是物理地址,设备之间只知道目标 IP,不知道对应的 MAC,无法直接发送数据帧 ------ARP 的核心作用就是解决这个 "地址翻译" 问题。
3.ARP的具体过程

- 硬件类型指链路层网络类型,1为以太网;
- 协议类型指要转换的地址类型,0x0800为IP地址;
- 硬件地址长度对于以太网地址为6字节;
- 协议地址长度对于和IP地址为4字节;
- op字段为1表示ARP请求,op字段为2表示ARP应答。
ARP 的工作过程核心是 " 广播请求、单播应答**"**,结合 ARP 缓存表优化性能,分 "同一局域网" 和 "跨网段" 两种场景:
场景 1:同一局域网内通信
假设:
- 电脑 A(源):IP=192.168.1.10,MAC=AA:AA:AA:AA:AA:AA
- 电脑 B(目标):IP=192.168.1.11,MAC=BB:BB:BB:BB:BB:BB(A 未知)
- 局域网内其他设备:电脑 C、路由器 R
步骤拆解:
- 检查 ARP 缓存表:电脑 A 先查询本地 ARP 缓存(系统维护的 "IP-MAC 映射表"),看是否已有 192.168.1.11 对应的 MAC 地址;
- 若有:直接使用该 MAC 封装数据帧,发送给电脑 B(无 ARP 交互);
- 若无:进入 ARP 解析流程。
- 发送 ARP 广播请求:电脑 A 发送一个 以太网广播帧(目标 MAC=FF:FF:FF:FF:FF:FF),帧内携带 ARP 请求包,内容为:"谁是 192.168.1.11?请告诉我你的 MAC 地址,我的 IP 是 192.168.1.10,MAC 是 AA:AA:AA:AA:AA:AA"。局域网内所有设备(电脑 B、C、路由器 R)都会接收该帧,但只有目标 IP(192.168.1.11)对应的电脑 B 会响应,其他设备忽略。
- 发送 ARP 单播应答:电脑 B 接收后,提取电脑 A 的 IP 和 MAC,更新自己的 ARP 缓存表(添加 A 的映射),然后发送单播帧(目标 MAC=AA:AA:AA:AA:AA:AA),携带 ARP 应答包,内容为:"我是 192.168.1.11,我的 MAC 是 BB:BB:BB:BB:BB:BB"
- 更新 ARP 缓存:电脑 A 接收应答后,更新自己的 ARP 缓存表(添加 192.168.1.11→BB:BB:BB:BB:BB:BB 的映射),后续通信直接使用该缓存。
场景 2:跨网段通信
核心差异:跨网段时,电脑 A 的目标 IP 是服务器 S(比如 203.0.113.10),但局域网内无法直接解析 S 的 MAC,此时 ARP 解析的目标是 网关(路由器)的 MAC 地址:
- 电脑 A 判断目标 IP(203.0.113.10)不在同一网段,将数据包转发给网关(比如路由器 IP=192.168.1.1);
- 电脑 A 通过 ARP 解析网关的 IP(192.168.1.1)对应的 MAC 地址;
- 将数据包封装为目标 MAC = 网关 MAC 的帧,发送给网关;
- 网关接收后,转发到外网,后续由外网路由器继续寻址(无需电脑 A 参与 ARP 解析)。
关键细节:ARP 缓存的老化机制
- ARP 缓存表中的条目有 超时时间(默认一般 10-60 秒,可配置),超时后自动删除;
- 目的:避免设备 IP 变更后,缓存的旧映射导致通信失败(比如电脑 B 更换 IP 后,A 的旧缓存会失效,需重新解析)。
4.ARP欺骗
核心原理
ARP 协议是 无状态协议(不验证请求 / 应答包的真实性),攻击者通过伪造 ARP 应答包,篡改目标设备的 ARP 缓存表,将合法的 IP-MAC 映射替换为攻击者的 MAC 地址,从而劫持流量或中断通信。
两种常见攻击场景
主机欺骗(欺骗目标主机):
- 攻击者伪造 "目标 IP→ 攻击者 MAC" 的 ARP 应答包,发送给受害者电脑;
- 受害者的 ARP 缓存被篡改,后续发往目标 IP的数据包会被转发到攻击者设备(攻击者可监听、篡改数据,或转发给真实服务器完成 "中间人攻击")。
网关欺骗(欺骗整个局域网):
- 攻击者伪造 "网关 IP(比如 192.168.1.1)→ 攻击者 MAC" 的 ARP 应答包,发送给局域网内所有设备;
- 所有设备的网关 MAC 被篡改,对外网的所有流量(比如登录、数据上传)都会经过攻击者设备,导致全网断网或流量劫持。
攻击危害
- 断网:攻击者不转发流量,导致受害者无法连接网关或目标设备;
- 流量监听:窃取账号密码、聊天记录等敏感数据;
- 中间人攻击:篡改数据或植入恶意代码。