ARP 全解:报文、解析过程、代理 ARP 与攻击防御,一篇讲透

发布时间:2026/10/20 10:48:05

ARP 全解:报文、解析过程、代理 ARP 与攻击防御,一篇讲透 ARP协议的作用Address Resolution Protocol地址解析协议ARP,是用来将IP地址解析为MAC地址的协议ARP表主机或三层网络设备上会维护一张ARP表存放IP地址和MAC地址的对应关系,表项通常还包含类型、VLAN、出接口当设备需要向目标设备发送单播帧时会先查看ARP缓存表有目的设备MAC地址-直接封装发送无目的设备MAC地址-发起ARP请求获取查看ARP表 display arp allIP地址MAC地址类型S静态ARP表项IP和MAC固定关系不会被老化和动态ARP覆盖I接口本身的ARP表项接口自己的IP和MAC地址D动态ARP表项根据ARP协议自动生成的可以被老化更新覆盖VLAN列表有VLAN信息,该表项关联二层转发出接口是处在某个 VLAN 中的二层以太网无VLAN信息,出接口是三层接口如三层以太口直接三层转发ARP报文相关字段以太网帧目的MAC地址:(请求广播应答单播)源MAC地址类型0x00PADCRCARP报文硬件类型,协议类型,硬件地址长度,协议地址长度操作码OP(1为请求2为应答)发送端MAC,发送端IP目的MAC(请求全0),目的IPARP解析的过程同网段/跨网段同网段 PC1--PC3PC1判断PC3同网段查PC3的IPARP表无映射 → 发 ARP 请求广播帧帧目的 MAC全F广播源 MACMAC1类型 0x0806ARP发送端 MAC/IPMAC1/IP1目的 MAC全0目的 IPIP3广播域内非目标设备收到不应答但会学习ARP表记下 IP1↔MAC1PC3收到后ARP表记录 IP1↔MAC1回应ARP响应单播帧帧目的 MACMAC1源 MACMAC3类型 0x0806ARP发送端 MAC/IPMAC3/IP3目的 MAC/IPMAC1/IP1PC1收到回应学到IP3-MAC3开始通信不同网段PC1--PC4PC1判断PC4不同网段查网关IPARP表无映射→ 发 ARP 请求帧目的 MAC全F广播源 MACMAC1类型 0x0806ARP发送端 MAC/IPMAC1/IP1目的 MAC全0目的 IPIPG网关收到后ARP表记录IP1↔MAC1回应ARP响应单播帧自己的MACPC1收到回应学到IPG-MACG把数据包目的IPIP4发给网关网关收到数据帧-解析数据包-查路由表出接口是以太网则再 ARP 解析下一跳 / PC4的 MAC → 重新封装转发关键三层寻址端到端IP 全程不变二层投递逐跳MAC 每跳更换动态ARP定义:由ARP协议通过ARP报文自动生成和维护可以被老化可以被新的ARP报文更新可以被静态ARP表项覆盖场景是否学习收到的 ARP 报文源 IP 与入接口 IP 同网段学习 / 更新该表项收到免费 ARP且源 IP 本接口 IP不学习判定为 IP 冲突周期性广播免费 ARP 应答通告冲突直到冲突解除收到免费 ARP源 IP ≠ 本接口 IP 但同网段且报文在 VLANIF / VBDIF 接口收到学习 / 更新其余情况不学习动态ARP表的老化表项老化时间到缺省 1200 s 20 min发 ARP 老化探测ARP 请求缺省单播探测最后一次广播有应答-刷新表项探测次数内无应答缺省 3 次)-删除表项接口执行shutdown操作会触发接口下的ARP表项老化删除静态ARP定义:是由网络管理员手工建立的IP地址和MAC地址之间固定的映射关系。静态ARP表项不会被老化不会被动态ARP表项覆盖,可以保证网络通信的安全性。静态ARP表项分类短静态ARP表项:手工建立IP地址和MAC地址之间固定的映射关系出接口是处于二层模式的以太网接口则不能直接用于报文转发需要发送报文时需触发 ARP 请求应答中的源 IP / 源 MAC 与配置一致时才把出接口补进表项长静态ARP表项:手工建立IP地址和MAC地址之间固定的映射关系并同时指定该ARP表项所在VLAN和出接口可以直接用于报文转发静态ARP用途防 ARP 攻击为服务器、网关等重要设备固定映射攻击报文无法篡改禁止访问禁止访问把某 IP 绑定到不存在的 MAC实现拉黑组播MAC场景设备默认不学习源 MAC 为组播 MAC 的 ARP需手工配免费ARP报文的原理和应用原理设备主动使用自己的IP地址作为目的IP地址发送ARP请求应用IP地址冲突检测当设备接口的协议状态变为Up时设备主动对外发送免费ARP报文如果检测到IP地址冲突设备会周期性的广播发送免费ARP应答报文直到冲突解除用于通告一个新的MAC地址发送方更换了网卡MAC地址变化了为了能够在动态ARP表项老化前通告网络中其他设备发送方可以发送一个免费ARP在VRRP备份组中用来通告主备发生变换发生主备变换后MASTER设备会广播发送一个免费ARP报文来通告发生了主备变换RARP的作用RARP反向地址解析协议已知 MAC 查 IP用于早期无盘工作站启动时向服务器请求自己的 IP。代理Proxy ARP的作用如果ARP请求是从一个网络的主机发往同一网段但不在同一物理网络上的另一台主机那么连接这两个网络的设备就可以回答该ARP请求这个过程称作ARP代理特点:部署在网关上网络中的主机不必做任何改动可以隐藏物理网络细节使两个物理网络可以使用同一个网络号只影响主机的ARP表对网关的ARP表和路由表没有影响分类普通代理ARP路由式Proxy ARP主机同网段但不在同一物理网络/广播域主机无缺省网关本地代理ARPVLAN内Proxy ARP同网段、同一 VLAN但 VLAN 内配置了用户隔离本地代理ARPVLAN间Proxy ARP同网段但属于不同 VLAN普通代理ARP的原理和使用场景场景想要互通的同网段主机分别连接到设备的不同三层接口上这些主机不在同一个广播域中过程① A 广播 ARP 请求解析 B —— B 收不到不在同一广播域② 路由器收到请求 → 查路由表有到 B 的路由没有 → 丢弃有 → 接口开了代理 ARP 吗未开 → 丢弃已开 → 用自己接口的 MAC 代替 B 应答③ A 学到B 的 MAC 路由器接口 MAC → 把发往 B 的报文都发给路由器④ 路由器按正常 IP 路由转发给 BB 回程同理本地代理ARP的原理和使用场景端口隔离场景想要互通的同网段主机共用一个三层接口属于相同的VLAN但VLAN内配置了端口隔离在关联了VLAN的接口上启动VLAN内Proxy ARP功能local-proxy-arp enable过程A广播 ARP 请求解析 B —— 二层被隔离B收不到交换机VLANIF 接口收到 → 查自己 ARP 表有没有 B 的条目没有 → 再查本地代理 ARP 是否开启未开 → 丢弃已开 → 代发广播 ARP 请求以 B 的 IP 为目的→ 收到 B 应答后生成条目有 → 再查本地代理 ARP 是否开启未开 → 丢弃已开 → 用本接口VLANIF的 MAC 代替 B 应答A 学到B 的 MAC 交换机 VLANIF 的 MAC → 把报文发给交换机交换机查路由表VLANIF 直连路由三层转发给 B回程同理Super-VLAN中的Sub-vlan场景想要互通的同网段主机共用一个三层接口但是属于不同VLAN过程同端口隔离普通代理ARP和本地代理ARP的区别对比项普通 / 路由式代理 ARP本地代理 ARPVLAN 内本地代理 ARPVLAN 间主机同网段不同三层接口同网段同一 VLANIF端口隔离同网段同一 Super-VLAN不同 Sub-VLAN二层为何不通分属不同广播域端口隔离不同 Sub-VLAN收到请求时的判断查路由表有到目标的路由查ARP 表有目标映射查ARP 表数据转发路径三层转发不同接口进出三层转发同一接口进出三层转发同一接口进出ARP攻击的类型ARP 欺骗仿冒应答中间人劫持原理请求是广播的广播域内所有主机都能收到 → 任何主机都可以伪造应答网关欺骗伪造网关 IP ↔ 攻击者 MAC劫持全网流量过程主机 A 广播 ARP 请求想解析 B网关的 MAC攻击者 C 收到广播 → 伪造应答B 的 IP ↔ C 的 MACA 无鉴别能力 → 把 B 的 IP 对应到 C 的 MAC → 发往 B 的所有数据都实际发给 CARP泛洪(拒绝服务攻击)表项耗尽 / CPU 过载狂发大量伪造 ARP 报文伪造源 IP设备被迫持续学习/更新表项ARP 表项被占满 → 正常用户的映射学不进去 → 正常通信中断CPU 持续处理 ARP → 转发性能下降甚至瘫痪ARP的攻击的防御手段ARP欺骗防御:手段原理关键点静态 ARP 绑定重要设备网关、服务器手工固定 IP↔MAC最直接但维护量大不适合终端ARP 表项固化已学到的表项锁死不许更新或只允许更新部分字段防止伪造报文改写正常表项ARP 报文合法性检查比对以太帧头中的源 / 目的 MAC与ARP 载荷中的源 / 目的 MAC是否一致不一致直接丢弃挡住帧头一个 MAC、载荷另一个 MAC的畸形报文动态 ARP 检测DAI收到 ARP 后用源 IP 源 MAC 入接口 VLAN比对 DHCP Snooping 绑定表匹配才放行前提网络用 DHCP 且开了 DHCP Snooping静态 IP 用户需手工加绑定ARP 表项严格学习设备只学习自己发出的 ARP 请求的应答不学习其他设备发出的请求报文收敛攻击面牺牲一点学习效率IP Source GuardIPSG基于IP MAC 端口 / VLAN绑定表检查所有 IP 报文的源 IP 源 MAC比 DAI 管得更宽不只管 ARP常与 DAI 配合ARP防洪DoS防护手段原理ARP 表项限制基于接口限制可学习的 ARP 表项总数超限不再学习ARP 报文限速统计单位时间内收到的 ARP 报文超阈值部分直接忽略不做处理ARP Miss 限速对ARP Miss 消息触发 ARP 请求的上送限速保护 CPU
延伸阅读

更多相关文章

2026/10/20 10:43:03

HC32F460驱动库实战:从例程到二次开发

简介:这份资源面向嵌入式开发工程师、单片机学习者及高校电子相关专业学生,提供华大HC32F460系列Cortex-M4内核单片机的完整驱动开发库与配套例程。HC32F460内置浮点运算单元,外设涵盖UART、SPI、I2C、CAN、ADC、DAC、PWM等,资源可…

2026/10/20 10:43:03

如何 5 步把游戏手柄映射为键盘鼠标?AntiMicroX 完整指南

如何 5 步把游戏手柄映射为键盘鼠标?AntiMicroX 完整指南 【免费下载链接】antimicrox Graphical program used to map keyboard buttons and mouse controls to a gamepad. Useful for playing games with no gamepad support. 项目地址: https://gitcode.com/Gi…

2026/10/20 11:53:29

个人Agent接入AI硬件实战:从云端对话到桌面实体的架构与实现

1. 从“云端对话”到“桌面实体”:个人 Agent 接入 AI 硬件的核心思路把个人 Agent 接进自己的 AI 硬件,这个念头最早来自一个很具体的挫败感:我在电脑上养了一个挺顺手的对话助手,日常查资料、整理笔记、写点小脚本都靠它&#x…

2026/10/20 11:53:29

Agent Platform超时雪崩复盘:信号量隔离与快速失败机制设计

做 Agent Platform 开发这半年,我最难忘的不是功能上线,而是某个下午线上超时故障爆发时的无力感。当时平台已经稳定运行了两周,P99 延迟稳定在 200ms 左右,结果一个再普通不过的需求变更后,监控面板突然全红&#xff…

2026/10/20 11:53:29

制造业防失控实战:从工单到质量设备的数字化管控

制造业真正怕的,是“失控”。这句话干了十几年制造信息化,我是越来越有体会。很多工厂表面上缺订单、缺产能,实际上最要命的不是效率低,而是不可预测——你永远不知道这批货能不能按时交,哪道工序会冒出不良品&#xf…

2026/10/20 11:53:29

HDFS SafeMode故障排查指南:原理、触发机制与运维实践

HDFS的SafeMode是每个做Hadoop集群运维的人都绕不开的一个状态。深夜告警群里跳出“NameNode is in SafeMode”的那一刻,值班的人心里都会咯噔一下——所有写操作被切断,客户端开始报错,跑批任务批量失败。这篇文章就从原理、触发机制和运维实…

2026/10/20 11:53:29

Agent工作流三大架构模式:增强型、链式与路由式实战解析

架构设计这事,很多团队第一步就绕错了。不少朋友跟我聊Agent系统时,开口就是“我该用哪个框架”“LangChain还是自研”,其实框架只是表面问题,真正决定系统上限的,是你把Agent工作流编排成什么形状。今天这篇我把Agent…

2026/10/20 11:48:27

锥束CT重建FDK算法:Matlab实现与工业应用避坑指南

简介:这份资源面向医学影像重建方向的学习者与研究人员,聚焦三维锥束CT(CBCT)的投影与反投影重建,核心是FDK算法的Matlab实现。FDK流程被拆解为投影数据加权、加权后滤波、滤波后反投影三步,最终输出各方向…

2026/10/19 18:06:35

金融AI落地指南:从调研报告到技术选型与工程实践

简介:这份PDF报告聚焦2025年金融服务业中国AI现状与趋势,面向金融科技从业者、AI战略规划人员及关注行业数字化转型的研究者,帮助读者把握生成式AI在银行、支付、交易等场景中的落地路径与投资方向。资源包内含1个PDF文件,大小约1…

2026/10/20 1:05:37

单片机C运行时从启动到多任务:中断安全与共享资源冲突

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:05:37

GCC编译四步详解:预处理、编译、汇编、链接实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:05:37

FIW线是什么?FEP注塑线与普通氟塑料线的区别及应用指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑