做网络和系统这一行ARP 协议这三个字母躲不开。主机要上网、设备要通信、交换机要学地址几乎每一次正常通信的背后都有一批 ARP 报文在默默干活。我见过不少朋友配置刷得飞快路由器交换机玩得溜可一问“为什么 ping 网关之前要先发一个 ARP 广播”就卡住了更别说判断“ARP 请求里目标 MAC 为什么是全 0”这种细节。ARP 原理本身不复杂但围绕它的坑特别多IP 冲突、MAC 漂移、不定时掉线、跨网段不通十次二层故障里七八次能扯上它。这篇就把 ARP 从原理、报文格式、特殊场景到主流厂商的查看配置命令完整过一遍最后再复盘几个我实际排障中踩过的现场。准备面试的、刚入行的、已经在机房熬过夜的工程师应该都能找到用得上的东西。1. ARP 到底在解决什么问题两个地址世界的翻译官1.1 为什么有了 IP 还不够还得有 MAC很多人第一次接触 ARP 时的困惑是网络通信不是用 IP 地址吗为什么还要拿 MAC 地址来凑热闹。这里要分清两个世界的差异。IP 地址是逻辑地址它是分层的、有规律的路由器靠它做寻址和转发。MAC 地址是物理地址烧在网卡里全球唯一但它没有层次结构就像身份证号没法用“按省按市”去查。实际数据在网络上传的时候以太网帧的封装完全靠 MAC交换机不认 IP只看目的 MAC 决定从哪个端口转发出去。我常用一个快递类比。IP 地址是“收件人姓名加小区名”MAC 地址是“具体到几栋几号房”。快递员要送件光知道名字不够必须知道门牌号。IP 包要在链路上跑就得先把“姓名”翻译成“门牌号”这个翻译动作就是 ARP。还有一个更本质的原因IP 包在穿越不同网络时每一跳的帧封装都会重写源 MAC 和目的 MAC。源 IP、目的 IP 从头到尾不变但 MAC 地址每过一跳就换一批。所以 IP 和 MAC 之间的映射关系根本不可能做成一张全局静态表只能在每一跳链路上动态解析这就是 ARP 协议存在的根本理由。1.2 ARP 的工作流程请求靠广播应答靠单播ARP 的完整工作流程可以拆成四步我这个顺序是固定的排查思路背下来很有用。第一步查缓存。发数据前主机会先看本地 ARP 缓存里有没有目标 IP 对应的 MAC。如果有直接拿来填帧头连报文都不用发。第二步广播请求。缓存没有就构造一个 ARP 请求报文广播到整个二层广播域。这里有个核心细节请求报文里的目标 MAC 字段是 0000.0000.0000但以太网帧头的目的 MAC 是 FFFF.FFFF.FFFF两者不是一回事。很多人抓包时看到“目标 MAC 是广播地址”就以为 ARP 请求的目标 MAC 是广播其实那是帧头ARP 报文内部的目标 MAC 字段还是全零。第三步单播应答。广播域里所有主机都会收到这个请求但只有 IP 匹配的那台主机会响应。它把请求报文里“发送方 MAC 和 IP”字段取出来填进应答报文然后单播发回给请求方。第四步缓存刷新。请求方收到应答后把这条 IP 和 MAC 的映射写进缓存。缓存有老化时间防止设备换了网卡之后本地还留着旧记录。如果请求发出去没人应答主机会重发几次然后放弃表现就是 ping 超时或者“Destination Host Unreachable”。这种状态会留下一个 Incomplete 的 ARP 表项排障时特别好认。1.3 ARP 缓存那个最容易忽视的“本地小本本”ARP 缓存是排障时最先要看的东西。在 PC 上敲arp -aWindows或者ip neigh showLinux能看到本机已经记住的 IP 到 MAC 的映射。缓存的意义在于避免每个包都触发一次广播不然整个局域网会被 ARP 广播打爆。缓存里的表项分两种。动态表项是 ARP 报文自动学习来的会老化不同操作系统老化时间差别很大有的几十秒有的几分钟只要一直被使用就会不断续期。静态表项是手工绑定的永久生效不受老化影响。这里有个常见坑服务器换网卡之后客户端缓存里还是旧 MAC 地址帧一直发到已经不存在的网卡上表现就是新网卡本地一切正常但外部始终 ping 不通。排法很简单在客户端清一下 ARP 缓存就行但根治还得靠服务器上线时主动通告一次后面讲免费 ARP 时会详细说。顺带提醒一句交换机上的 MAC 地址表也是“MAC 到端口”的映射但它不是 ARP 表。ARP 表是 IP 到 MAC 的映射两者经常一起查但别混为一谈。2. ARP 报文逐字段拆解对照抓包一次看明白2.1 先看帧头ARP 报文是怎么被装进以太网帧的抓包时看到的 ARP 报文完整链路是以太网帧头加 ARP 报文。以太网帧头有三个关键字段目的 MAC6 字节、源 MAC6 字节、帧类型2 字节。ARP 的帧类型是 0x0806IPv4 是 0x0800这个看类型就能立刻区分。有个细节很有意思。以太网规定帧的最小长度是 64 字节不含前导码但 ARP 报文加帧头一共才 14 28 42 字节不够长所以后面会补一堆填充字段。在 Wireshark 里有些抓包视角显示长度是 42有些是 60区别就在于填充和校验有没有被捕获。别被这个吓到不是报文坏了是抓包环境和链路差异导致的。2.2 ARP 报文主体28 字节的固定结构ARP 报文本身结构非常死板28 个字节字段一个不多一个不少。我把每个字段列出来对照着抓包看一遍就记住了。字段长度请求报文中的值应答报文中的值硬件类型2 字节1以太网1以太网协议类型2 字节0x0800IPv40x0800IPv4硬件地址长度1 字节66协议地址长度1 字节44操作码2 字节1请求2应答发送方硬件地址6 字节发起方 MAC应答方 MAC发送方协议地址4 字节发起方 IP应答方 IP目标硬件地址6 字节全 0待查询请求方的 MAC目标协议地址4 字节要查询的 IP请求方的 IP注意看这个设计发送方 MAC、发送方 IP、目标 MAC、目标 IP 四个地址全在报文里。好处是双向信息一次带齐请求方从应答里学到对方的映射应答方从请求里也能顺手把请求方的映射学进缓存不需要额外再发一次请求。整个协议只有 28 字节效率极高。2.3 实战抓包PC-A 访问 PC-B 的完整报文流用一个最常见的场景走一遍PC-A192.168.1.10MAC 为 aa:bb:cc:00:00:01第一次 ping PC-B192.168.1.20MAC 为 aa:bb:cc:00:00:02。第一步PC-A 检查缓存没有 192.168.1.20 的记录于是广播发 ARP 请求。抓包机上能看到一条类型 0x0806 的广播帧帧头源 MAC 是 PC-A 的目的 MAC 是 FFFF.FFFF.FFFF。展开 ARP 部分操作码是 1发送方 MAC 是 aa:bb:cc:00:00:01发送方 IP 是 192.168.1.10目标 MAC 是全 0目标 IP 是 192.168.1.20。第二步PC-B 收到后发现目标 IP 是自己回复单播 ARP 应答。帧头源 MAC 变成 PC-B 的目的 MAC 是 PC-A 的。ARP 部分操作码是 2发送方 MAC 变成 PC-B 的目标 MAC 填的是 PC-A 的 MAC目标 IP 是 PC-A 的 IP。第三步PC-A 学完缓存后才真正发出 ICMP Echo Request。所以你在抓包里经常看到的顺序是先两条 ARP再一大串 ICMP这不是巧合是协议流程的必然。Wireshark 过滤表达式可以这么写平时排障直接抄# 只看 ARP 报文 arp # 只看 ARP 请求 arp.opcode 1 # 只看某个 IP 相关的 ARP 报文 arp contains 192.168.1.20 # 看某个网卡参与的 ARP 交互 eth.addr aa:bb:cc:00:00:01 and arp这里有一个最容易被误导的点判断“应答来自谁”别只看以太网帧头的源 MAC那是封装层的信息要展开 ARP 字段看“发送方硬件地址”。万一有人伪造帧头源 MAC 和 ARP 内部发送方 MAC 不一致的情况是真实存在的这也是后面要讲的 ARP 欺骗的前置知识。3. 免费 ARP、代理 ARP 与那些容易翻车的特殊场景3.1 免费 ARP一个人自问自答免费 ARPGratuitous ARP是最经典的变种。它本质上是一个 ARP 请求但发送方 IP 和目标 IP 都填自己的 IP。相当于一个人在大街上自问“我是这个 IP 吗”没人应答就说明没冲突有人应答就说明冲突了。免费 ARP 干三件大事。第一IP 冲突检测主机配置 IP 的时候主动发一个如果有别的主机应答说明这个地址被占了。第二MAC 变更通告网卡换了、虚拟机迁移了、双机热备切换了新设备上线立刻发一个免费 ARP让全网缓存尽快更新到新 MAC。第三VRRP、堆叠、聚合这类冗余场景切换后设备也会发免费 ARP 来刷新交换机 MAC 表确保流量瞬间切到新路径。这里的坑在于很多安全策略、接入交换机为了防止 ARP 洪泛会做速率限制或者干脆丢弃某些 ARP 报文免费 ARP 有时候会被一起干掉。冗余切换后如果出现“设备显示主备切换成功但业务灰了一两分钟”优先怀疑免费 ARP 没被送到或者被某个 ACL、端口策略拦了。3.2 跨网段通信为什么说 ARP 不跨网段主机要访问不同网段的地址时它不会直接去 ARP 请求目标主机的 MAC而是先判断目标 IP 和自己不在同一个网段。判断依据是本地 IP 和掩码做与运算。不在同一网段就把包发给网关所以 ARP 请求的是网关 IP 对应的 MAC。帧的首部目的 MAC 填网关 MACIP 包的目的 IP 仍然是目标主机。路由器收到这个帧把帧头丢掉根据 IP 查路由表从出接口重新封装这时候才由路由器的出接口去 ARP 请求目标主机的 MAC。也就是说一次跨网段通信至少会触发两次 ARP主机到网关一次路由器到目标主机一次。排障时这个认知能救命。跨网段 ping 不通很多人蹲在 PC 前疯狂清缓存、改 IP其实应该去查网关设备上的 ARP 表看看路由器有没有学到目标主机。如果路由器上 ARP 表里对应的表项是 Incomplete问题大概率出在目标主机那一侧的二层链路而不是你手里的 PC。3.3 代理 ARP路由器帮你“冒名顶替”代理 ARPProxy ARP是 ARP 的另一个变种。正常情况下ARP 请求目标 IP 必须是自己才会应答。但开了代理 ARP 的设备通常是路由器会偷偷代答它发现请求的 IP 不在自己接口上但自己知道去那个 IP 的路由于是用自己的 MAC 应答欺骗请求方“我就是那个地址你把包发给我吧”。代理 ARP 在某些场景很有用比如主机掩码配错、两个物理网段之间想透明互通或者隧道封装场景。但这也是个双刃剑它会让真实拓扑变得模糊。你 ping 一个以为在身边的人结果是路由器在替你兜底等路由器那侧出问题的时候故障定位会变得特别绕。所以很多网络规范里骨干和接入设备默认会关掉代理 ARP只在确需的场景保留。3.4 ARP 异常行为与安全威胁掉线的幕后黑手二层网络里最典型的 ARP 安全威胁有三类。第一类是 ARP 欺骗攻击者伪造 ARP 应答说自己才是网关让受害者的流量全绕到攻击者设备上这是中间人攻击的经典入口。第二类是 ARP 洪泛构造大量不同源 IP 的 ARP 请求把设备的 ARP 表项撑满或者把 CPU 打高导致正常终端学不到网关表项。第三类常见的是 MAC 地址洪泛用大量伪造源 MAC 把交换机的 MAC 表填满交换机学不到新地址只好把未知单播盲目泛洪整台设备变成一台“巨型集线器”。这三类攻击在抓包上的表现各不相同我整理了一张速查表现象抓包特征优先怀疑个别终端掉线/被劫持同一 IP 出现两个不同 MAC 的应答ARP 欺骗全网或大片设备上不了网大量源 IP 各异、目标 IP 也各异的 ARP 请求ARP 洪泛交换机 CPU 高、转发异常大量随机源 MAC 的帧MAC 地址洪泛防这些问题的思路不是靠“多学习”而是靠“信源验证”下一章具体讲配置。4. 主流厂商配置命令全解析查看、绑定与防攻击4.1 查看 ARP 表把三家厂商的命令摊开对比市面上的主流网络设备命令行风格大体分为两类一类以 display 开头更接近“查看式”另一类以 show 开头更接近“查询式”。为了不替任何厂商做广告下文统一叫厂商 Adisplay 系、厂商 Bshow 系、厂商 Cdisplay 系变种。命令其实高度相似核心套路掌握一套换设备也就是换个拼写的事。我第一次接触不同厂商设备时最大的感受是查看命令千万别死记要记“动作”。找 ARP 表的动作就是“display/show arp”再加过滤条件。下面这个表直接对照着用操作厂商 Adisplay 系厂商 Bshow 系厂商 Cdisplay 变种查看全部 ARP 表项display arpshow ip arpdisplay arp all查看指定 IPdisplay arp 192.168.1.1show ip arp 192.168.1.1display arp 192.168.1.1按接口查看display arp interface GigabitEthernet0/0/1show ip arp interface GigabitEthernet0/1display arp interface GigabitEthernet 0/0/1清空 ARP 表reset arp allclear arp-cachereset arp all查看 ARP 统计display arp statisticsshow ip arp statisticsdisplay arp statistics列出来的字段也要会读IP 地址、MAC 地址、所属 VLAN、出接口、表项类型动态还是静态、老化剩余时间。查 ARP 表时我习惯先看类型列如果是动态表项说明是协议自动学的如果关键 IP 下压根没表项那问题就大了去了。4.2 静态 ARP 绑定关键节点防欺骗的硬手段静态 ARP 是把 IP 和 MAC 的映射手工写进设备的 ARP 表里。它不老化、不会被动态报文覆盖适合网关、关键服务器、双机热备的虚地址这类“不能被骗”的节点。一旦做了静态绑定即使有人发伪造应答设备也不理你。配置命令各家略有差异但思路一致# 厂商 A静态绑定 192.168.1.10 到指定 MAC arp static 192.168.1.10 0011-2233-4455 # 厂商 B静态绑定末尾的 ARPA 表示使用以太网封装 arp 192.168.1.10 0011.2233.4455 ARPA # 删除静态绑定 # 厂商 A undo arp static 192.168.1.10 # 厂商 B no arp 192.168.1.10这里要提醒一个容易被忽视的问题静态绑定是双刃剑。设备换了网卡、虚地址迁移了、机房硬件做了更换如果忘记同步更新静态表项比动态学习出的故障还难排查因为设备一直往旧 MAC 上发帧而且静态表项不老化你清reset arp all都清不掉会一直顽固地存在。我的建议是静态绑定只用于真正需要防欺骗的少量关键地址别图省事把整段地址全绑了后期维护会让你怀疑人生。4.3 ARP 防攻击配置安全加固三板斧真正的 ARP 防攻击核心不是靠命令多而是靠“信任锚点”。目前业界主流思路是三层递进第一板斧建立可信绑定表。这通常依赖 DHCP Snooping。交换机在启用 DHCP Snooping 后会监听 DHCP 交互记录每个 IP 是哪个端口、哪个 MAC 的终端拿到的形成一张 IP-MAC-端口绑定表。这是后面所有校验的底稿。第二板斧动态 ARP 检测DAI。在接入交换机上开启后交换机只允许那些符合绑定表的 ARP 报文通过伪造的通通丢弃。注意 DAI 的前提是绑定表可靠如果终端全是手工配置的静态 IP没有 DHCP 记录就得手动把这些绑定补进去否则合法终端也会被当成攻击者。第三板斧速率限制和端口安全。对每端口每秒的 ARP 报文数量做限制抑制洪泛。接入端口上可以限制最大学习 MAC 数防 MAC 洪泛。厂商 B 风格的典型配置如下# 开启 DHCP Snooping 并指定 VLAN ip dhcp snooping enable ip dhcp snooping vlan 10 # 上联口设置为信任口接合法 DHCP 服务器的口要 trust interface GigabitEthernet0/1 ip dhcp snooping trust # 开启 DAI对 VLAN 10 校验 ARP 报文 ip arp inspection vlan 10 ip arp inspection validate src-mac dst-mac ip厂商 A 风格常见的命令长这样# 开启用户 ARP 合法性检查 arp anti-attack check user-ip enable # 限制指定源 IP 的 ARP 报文速率 arp speed-limit source-ip maximum 30 # 限制 ARP 表项学习速率 arp anti-attack entry-learning enable注意不同版本软件、不同产品线的实际命令差异比较大配置前一定先查设备手册拿着网上搜来的命令往生产设备上硬敲大概率会碰到“Unknown command”。用display arp anti-attack厂商 A 系或者show ip arp inspection厂商 B 系先看设备当前支持哪些能力再动手。4.4 实战组合拳一套命令走完排查流程光会单条命令没用排障讲究组合。我一般按这个顺序走先看缓存再看统计最后抓包。终端侧清理和主动触发是第一步# Windows 清空 ARP 缓存 arp -d # Linux 查看邻居表 ip neigh show # Linux 清空邻居表 ip neigh flush all # Linux 下用 arping 主动发 ARP 请求测二层连通性 # -I 指定网卡-c 指定发包数 arping -I eth0 -c 1 192.168.1.20 # 以指定源 IP 发起 ARP 请求测试某个 IP 是否被占用 arping -I eth0 -c 1 -S 192.168.1.30 192.168.1.20 # 主动发送免费 ARP通告自己的 MAC 给全网 arping -I eth0 -c 3 -A 192.168.1.10设备侧再配合看 ARP 表项状态和 MAC 表# 厂商 A 风格 display arp | include 192.168.1.20 display arp interface GigabitEthernet0/0/1 display mac-address | include 0011-2233-4455 # 厂商 B 风格 show ip arp | include 192.168.1.20 show ip arp interface GigabitEthernet0/1 show mac address-table address 0011.2233.4455如果display arp里能看到对应表项但 ping 仍然不通问题就不在解析而在转发或者过滤得去查接口状态、ACL、VLAN 划分。这个判断思路我后边还会再展开。5. ARP 实战排障五个高频翻车现场复盘5.1 场景一服务器换完网卡客户端还是 ping 不通某天有同事反馈一台服务器换网卡后局域网内大部分机器访问都超时但服务器本机看 IP 配置没问题网卡链路也是 up 的。第一反应就是 ARP 缓存。在客户端敲arp -a发现缓存里服务器的 IP 还指向旧网卡的 MAC。原因是服务器换网卡后没有主动通告新 MAC客户端旧缓存还没老化完帧就一直在往旧 MAC 发。处理方式客户端执行arp -d强制清缓存重新 ping 一次触发 ARP 解析立刻恢复。根治做法是服务器上线时主动发免费 ARP或者对这台服务器做静态绑定。这类问题在虚拟机迁移、网卡绑定模式切换时也经常出现规律一模一样。5.2 场景二整个局域网不定时“全家掉线”这个案例我印象很深。一个办公网一到晚上某时段就出现大批终端掉线过几分钟自己又恢复。掉线期间网关 ping 不通但重启几台设备又能凑合用。抓包定位是最快的。在核心设备上做端口镜像过滤 ARP 报文发现短时间内有大量源 IP 五花八门的 ARP 请求而且针对网关地址 192.168.1.1 的应答来自好几个完全不同的 MAC。这是典型的 ARP 欺骗加洪泛组合攻击。顺着网关 IP 的 MAC 去交换机的 MAC 地址表里查看这个 MAC 是从哪个端口学到的一路定位到某个接入端口拔线后全网立刻恢复。收尾动作是三层接入交换机开启 DHCP Snooping 和 DAI把上联口设成信任口对接入端口做 ARP 速率限制同时在防火墙上加告警检测到大量 ARP 报文就推送工单。从那以后同类问题再没造成过批量掉线。5.3 场景三跨网段 ping 不通但同网段一切正常有次割接后新划的 VLAN 20 全网段无法访问核心机房的 VLAN 10 服务器但 VLAN 20 内部互访正常PC 也能 ping 通自己的网关。根据“跨网段通信先解析网关”的原理我直接登到网关设备上看 ARP 表发现 VLAN 20 网关接口下没有 VLAN 10 服务器所在网段的路由。再把目光移到路由表果然缺了一条回程路由。补上路由后跨网段立刻通了。这个案例的教训是跨网段不通眼睛不要只盯着 PC 的 ARP 缓存。真正要做的是查“网关设备能不能解析到目标主机”也就是网关设备上的 ARP 表和路由表。还有一个隐藏很深的坑是主机掩码配错。比如目标主机实际不在本地网段但 PC 掩码写大了它误认为目标在同一个网段直接发 ARP 请求结果没人应答表现就是请求超时。把 PC 掩码改回正确值才能让流量交给网关。5.4 场景四ARP 表项学满新终端上不了网设备 ARP 表项容量是有限的不是无限往里面塞。某项目的接入网关是一台规格偏小的设备默认动态 ARP 表项容量就几千条。某天开始新接入的终端能拿到 DHCP 地址但全部 ping 不通网关老设备却一直正常。在设备上display arp一刷满屏都是异常表项而且很多表项对应 IP 是网络上根本不存在的地址。这是典型的 ARP 洪泛导致表项耗尽设备 CPU 忙不过来正常的网关表项也学不进去。处理办法清空 ARP 表限制每端口学习 ARP 的速率开启防攻击检查最后找到发起洪泛的源头。如果业务规模确实大还得评估设备规格必要时换支持更大 ARP 表项的硬件。5.5 场景五同一 IP 两个 MAC 抢答终端忽好忽坏终端每隔几分钟断一次抓包发现同一个 IP 的 ARP 应答来自两个不同的 MAC一个来自正常 PC另一个来自某台打印机。原因是办公网打印机默认配置了固定 IP恰好和某台 PC 的 DHCP 分配撞了。两台设备同时在线的窗口期ARP 表就被两个 MAC 反复刷谁后应答谁就暂时生效流量随之飘忽不定。定位方法在交换机上查这个 IP 对应 MAC 表看到同一 MAC 出现在两个端口或者同一 IP 对应两个 MAC 分别在不同端口基本实锤。解决打印机改为 DHCP 地址或换一个不同的静态 IP同时在 DHCP 服务端把冲突 IP 排除掉。想根治类似问题可以在接入交换机上做 IP-MAC-端口绑定。我把这五个场景整理成速查表遇到类似现象可以直接对号入座现象快速定位动作常见根因换网卡后外部不通客户端arp -a看缓存 MAC旧 MAC 缓存未老化不定时全家掉线抓包找同 IP 多 MAC、洪泛源ARP 欺骗/洪泛攻击跨网段不通查网关设备 ARP 表和路由表缺路由/掩码配错新终端上不了网display arp看表项是否满ARP 洪泛撑满表项终端忽好忽坏交换机查 MAC 表确认双 MACIP 地址冲突6. 多年排障攒下的几个 ARP 经验6.1 排查顺序永远是缓存、报文、配置遇到疑似 ARP 问题我的固定套路是三步第一步本地看缓存确认是不是“记错了”第二步抓包看报文确认是“没人请求”“没人应答”还是“应答被丢弃”第三步才动设备配置。一上来就改 ACL、调防攻击参数是排障大忌因为你会搞不清到底是配置生效了还是问题本身就自己消失了。6.2 免费 ARP 是割接和迁移的“后悔药”我经历过一次凌晨割接双机热备切换后备用设备接管了虚地址但全网流量黑洞了将近二十分钟。后来复盘发现切换动作本身没失败问题是备用设备没有发出有效免费 ARP或者发了但被某些设备的策略拦了全网 ARP 缓存和交换机 MAC 表都还指向旧设备。从那以后我每次做双机切换、地址迁移、网卡更换固定动作就是候选设备上线后主动发一次免费 ARP同时在关键客户端上清一遍 ARP 缓存。这个习惯帮我挡掉了至少三次半夜的告警电话。6.3 开启防攻击策略之前先看绑定表靠不靠谱DAI、端口安全这类防 ARP 攻击手段本质都是“对照表校验”。如果绑定表本身是空的、过期的、或者覆盖不全策略一开就会误伤合法终端。我见过的最惨案例是某网络开启 DAI 后全静态 IP 的终端全被挡在网外排查了整整一上午才发现是绑定表里压根没有这些终端的记录。所以部署顺序一定是先完善 DHCP Snooping 绑定表和静态绑定再灰度启用 DAI最后才上速率限制。不要反向操作。6.4 抓包是 ARP 问题唯一的真相来源很多设备上的日志只告诉你“有 ARP 攻击”或者“表项异常”不会告诉你到底谁在捣乱。这时候端口镜像加 Wireshark 就是定海神针。抓包时记得镜像双向流量别只抓一个方向不然会漏掉“应答没到”和“应答被丢”的区别。过滤条件用arp基本就够了遇到流量大再加arp.opcode 1只看请求。看到大量同一源 IP 的请求怀疑是扫描或洪泛看到同一目标 IP 的应答来自不同 MAC就顺着查端口。搞懂 ARP等于把二层网络的半边天看明白了。它不复杂但每一个小细节都可能在某个凌晨变成让你通宵的故障点。平时多抓几次包多翻几回表项把这些流程练成肌肉记忆真正出问题的时候你会感谢当初那个肯在测试环境里反复折腾 ARP 的自己。
阅读完成 · 觉得有帮助?