arp.exe是Windows内置ARP缓存管理工具,通过arp -a查看、arp -s静态绑定、arp -d清除缓存可诊断和防御ARP欺骗;结合NDIS日志分析与Anti ARP Sniffer等工具,能精准定位局域网内ARP欺骗源头设备。

在Windows 11中快速定位局域网内向本机发起ARP欺骗的源头设备,不能依赖常规网络监控工具——因为ARP欺骗包本身不触发连接日志、不生成防火墙告警,且多数伪造应答会绕过系统协议栈直接注入缓存。必须从ARP缓存异常变动、NDIS驱动层流量特征、以及静态绑定冲突三个维度交叉验证,才能把那个偷偷改你网关MAC的机器揪出来。
第一步:立即冻结并导出当前ARP缓存快照
打开PowerShell(管理员权限非必需,普通用户即可),执行:
arp -a > %USERPROFILE%\Desktop\arp_snapshot.txt
这一步必须在发现断网/卡顿后**5秒内完成**。ARP缓存条目一旦被恶意刷新,旧的合法映射会立刻消失,晚了就只剩伪造记录。输出文件将保存到桌面,包含所有接口的IP-MAC映射及类型(dynamic/static)。
第二步:比对网关MAC是否被篡改
用记事本打开刚才生成的arp_snapshot.txt,找到你默认网关的IP行(例如192.168.1.1)。检查其对应的物理地址(即MAC地址)是否与路由器背面标签或你历史记录中的真实MAC一致。
若发现MAC地址明显异常(如全零、广播地址ff-ff-ff-ff-ff-ff、或厂商OUI段不属于主流网络设备厂商),【这就是最直接的欺骗证据】。此时无需继续排查,该MAC所属设备就是攻击源。
第三步:启用NDIS事件日志捕获实时ARP应答
在PowerShell中逐行执行以下命令:
netsh trace start scenario=NetConnection capture=yes report=yes
Start-Sleep -Seconds 30
netsh trace stop
执行后会在C:\Users\用户名\AppData\Local\Temp\NetTraces\目录下生成etl日志文件。该操作强制系统记录所有进入NDIS层的ARP帧,包括未被协议栈处理的伪造应答包。注意:此步骤会短暂影响网络性能,但能捕获到arp -a看不到的原始流量。
第四步:用PowerShell解析ETL日志定位异常发送者
将刚生成的最新.etl文件(如NetTrace_20261013134502.etl)拖入PowerShell窗口,补全路径后执行:
Get-NetEventProvider -Name "Microsoft-Windows-TCPIP" | Enable-NetEventProvider -Level 5 -MatchAnyKeyword 0x8000000000000000
Import-Module NetEventPacketCapture
Get-NetEventSession | Where-Object {$_.Status -eq 'Running'} | Stop-NetEventSession
$packets = Get-NetEventPacketData -Path "C:\Users\用户名\AppData\Local\Temp\NetTraces\NetTrace_20261013134502.etl"
$arpReplies = $packets | Where-Object {$_.Protocol -eq 'ARP' -and $_.Operation -eq 'Reply'} | Group-Object SourceAddress | Sort-Object Count -Descending | Select-Object -First 1
最终输出的SourceAddress字段,就是过去30秒内向你发送ARP Reply次数最多的IP地址——它大概率就是正在持续毒化你ARP缓存的攻击机。如果该IP是你不认识的设备(如192.168.1.107),立刻用arp -a确认其MAC是否与网关条目一致。
第五步:用Anti ARP Sniffer实时拦截并反向追踪
方法一:绿色免驱方案
① 下载AntiArpSniffer.exe(v3.5)到本地,双击运行;
② 点击右上角“设置”→勾选“启用ARP欺骗检测”和“自动清除非法网关条目”;
③ 观察主界面“告警列表”,出现红色高亮行时,其“源IP”列显示的地址即为实时发送伪造ARP包的设备。
⚠️ 注意:该工具不依赖管理员权限,但首次运行需允许Windows防火墙通信。
方法二:注册表级防御固化
以管理员身份运行PowerShell,执行:
arp -s 192.168.1.1 00-11-22-33-44-55
netsh interface ipv4 set neighbors "以太网" 192.168.1.1 00-11-22-33-44-55 store=persistent
其中192.168.1.1替换为你的真实网关IP,00-11-22-33-44-55替换为你确认无误的网关MAC。第二条命令将静态绑定写入注册表,重启不失效。

















