ARP的具体过程和ARP欺骗

目录

1.什么是ARP

2.ARP的作用

3.ARP的具体过程

[场景 1:同一局域网内通信](#场景 1:同一局域网内通信)

[场景 2:跨网段通信](#场景 2:跨网段通信)

[关键细节:ARP 缓存的老化机制](#关键细节:ARP 缓存的老化机制)

4.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

步骤拆解:

  1. 检查 ARP 缓存表:电脑 A 先查询本地 ARP 缓存(系统维护的 "IP-MAC 映射表"),看是否已有 192.168.1.11 对应的 MAC 地址;
    • 若有:直接使用该 MAC 封装数据帧,发送给电脑 B(无 ARP 交互);
    • 若无:进入 ARP 解析流程。
  2. 发送 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 会响应,其他设备忽略。
  3. 发送 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"
  4. 更新 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 地址:

  1. 电脑 A 判断目标 IP(203.0.113.10)不在同一网段,将数据包转发给网关(比如路由器 IP=192.168.1.1);
  2. 电脑 A 通过 ARP 解析网关的 IP(192.168.1.1)对应的 MAC 地址;
  3. 将数据包封装为目标 MAC = 网关 MAC 的帧,发送给网关;
  4. 网关接收后,转发到外网,后续由外网路由器继续寻址(无需电脑 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 被篡改,对外网的所有流量(比如登录、数据上传)都会经过攻击者设备,导致全网断网或流量劫持。

攻击危害

  • 断网:攻击者不转发流量,导致受害者无法连接网关或目标设备;
  • 流量监听:窃取账号密码、聊天记录等敏感数据;
  • 中间人攻击:篡改数据或植入恶意代码。
相关推荐
LLTSTJ2 小时前
RIP协议水平分割和毒性逆转详解
网络
不染尘.2 小时前
计算机网络互联
网络·计算机网络
橙露2 小时前
PLC编程语言大比拼:特性解析与场景选型指南
大数据·linux·运维
Henry Zhu1232 小时前
VPP的NAT插件: NAT44-EI 实战配置指南
网络·物联网·计算机网络·云原生·云计算
车载测试工程师2 小时前
CAPL学习-ETH功能函数-对象类
网络·tcp/ip·以太网·capl·canoe
街灯L2 小时前
【Ubuntu】安装配置nginx文件版
服务器·nginx·ubuntu
卓码软件测评2 小时前
CNAS软件测试机构:【Postman集合从接口组织到自动化测试套件的过程】
网络·测试工具·性能优化·测试用例·压力测试·postman
The Chosen One9853 小时前
【Linux】制作进度条小程序、git入门 (add、commit、push三板斧)以及git的其他问题
linux·运维·git
阿巴~阿巴~3 小时前
HTTP服务器实现请求解析与响应构建:从基础架构到动态交互
服务器·网络·网络协议·http·交互·请求解析·响应构建