用Anti ARP Sniffer v3.5扫描局域网MAC:从ARP原理到欺骗排查

用Anti ARP Sniffer v3.5扫描局域网MAC:从ARP原理到欺骗排查 简介这是一款面向网络管理员、运维人员及安全爱好者的局域网防护工具定位为Anti ARP Sniffer v3.5。该程序可在局域网内实时监控ARP请求与响应识别并拦截伪造数据包有效防范ARP欺骗及中间人攻击通过MAC地址扫描还能快速梳理网内设备发现未经授权的接入终端。资源压缩包共4个文件包含可执行主程序exe、网页版帮助文档htm、文本版说明txt以及配置项ini整体大小仅490KB体积小巧、便于携带。目前已有723人学习下载。借助readme说明和示例配置用户可迅速掌握网络嗅探、ARP缓存管理、静态ARP表设置等操作并能结合自身网络环境调整ini参数htm帮助文件则对界面功能和报警日志做了详细解析适合需要排查局域网异常、加固内网安全的初级至中级用户直接上手使用。1. 局域网里藏着哪些设备Anti ARP Sniffer v3.5 先把 MAC 清单摊开先抛一个场景公司网络里明明有三十台设备在线arp -a敲下去往往只剩七八条缓存记录因为缓存只在主机间实际通信过才生成而且会老化。Anti ARP Sniffer v3.5 的处理方式正好反过来——对整个局域网段主动发 ARP 请求把在线主机的 IP 和 MAC 逐个“问”出来同时监听网络中出现的 ARP 应答两边一合就成了完整的局域网设备清单。它适合网络管理员做资产盘点、SMB 运维排查 IP 冲突也适合测试环境确认设备工作状态。与流量抓包工具不同它不看传输内容只盯 ARP 这一层这让它在隔离网络里依然有较高可见性。2. ARP 协议原理与局域网嗅探的工作方式从广播请求到单播应答2.1 ARP 报文的关键字段与 Wireshark 抓到的“详细包”ARP 工作在链路层IPv4 网络里主机想给同网段目标发包必须先拿到目标 MAC。以太网内的 ARP 请求帧结构是固定的Wireshark 展开后看到的每一项都能对上表格字段长度Wireshark 显示名作用说明硬件类型2 字节Hardware type1 表示以太网协议类型2 字节Protocol type0x0800 表示 IPv4硬件地址长度1 字节Hardware size以太网对应 6协议地址长度1 字节Protocol sizeIPv4 对应 4操作码2 字节Opcode1 为请求2 为应答发送端 MAC6 字节Sender MAC address发出方物理地址发送端 IP4 字节Sender IP address发出方 IP目标 MAC6 字节Target MAC address请求时为全 0目标 IP4 字节Target IP address等待解析的 IP在 Wireshark 里把过滤条件写成arp双击任意一条报文展开 Address Resolution Protocol就能看到上表字段的原始排列。注意以太网头部的目的地址请求帧的目标 MAC 是ff:ff:ff:ff:ff:ff应答帧则是单播地址这两种目标地址的差异直接决定了交换机的转发行为。如果在 GNS3 里搭一套“两台路由器分别连接主机”的拓扑再抓取 IP 数据转发报文能看到三层设备转发数据包前会先对下一跳接口发起 ARP 解析Anti ARP Sniffer v3.5 关心的则是同一广播域内的二层解析原理完全同源区别只是它主动制造请求而不是等待业务流量触发生成。2.2 主动广播请求为什么能把“全量在线”逼出来arp -a只能看到本机缓存里已有的条目而缓存是通信后才写入、静默后又会老化。Anti ARP Sniffer v3.5 的探测循环可以概括成三步对网段内每个目标 IP 构造 ARP 请求源 MAC 填本机网卡地址目标 MAC 填全 F 广播地址然后把帧扔进局域网。所有收到广播帧的主机如果 IP 匹配就必须回一个单播 ARP 应答告知自己的 MAC。这个机制的关键在于“必须”。ICMP 可以被防火墙拦截TCP 探测可以被服务策略拒绝但 ARP 解析发生在 IP 协议栈的更底层主机只要还想正常通信就难以彻底关闭对 ARP 请求的响应。所以拿它做在线判断比ping扫描更接近真实网络状态。你也不用担心某个主机没配 IP 会漏掉——没配 IP 的设备本身就不参与局域网寻址不属于“在线”的语义范围。2.3 交换机泛洪与广播域这台扫描器能看多远2.3.1 广播帧和单播帧在交换机里走的两条路二层交换机对单播帧查 MAC 地址表定向转发对广播帧则向除接收端口外的所有活动端口泛洪。Anti ARP Sniffer 发出的请求帧带全 F 目的地址所以整个广播域内每一台主机的网卡都会收到这份“点名”应答以单播返回扫描器在混杂模式下同样能接收。二者合并就是最终设备清单。这同时给出了扫描工具的边界VLAN 会隔离广播域跨 VLAN 的主机不会收到请求端口隔离配置开启后同一交换机下不同端口也互不可见无线网络的 AP 隔离也会造成“扫不全”的假象。后面排错章节还会回到这一点这里先记住一个结论扫描结果等价于“本机所在广播域内所有活着且回应 ARP 的主机集合”。3. 用 Anti ARP Sniffer v3.5 扫描局域网 MAC 的完整流程与参数调优3.1 扫描前先确认三件事本机 IP、网卡、缓存基线打开命令行工具先看本机自己的身份信息。Windows 下执行ipconfig /all输出里重点记三样IPv4 地址、子网掩码、默认网关。比如本机是192.168.1.88/24扫描范围就锁在192.168.1.1 到 192.168.1.254。查看本机完整 MAC 用getmac /v这条命令会列出本机所有网卡的物理地址包括虚拟机和远程访问适配器。多网卡机器要特别留意之后在工具里选错网卡扫出来的就是另一个网段的空列表。macOS 上用ifconfig en0也能看到同样的信息字段叫ether。顺手再敲一次arp -a把它作为扫描前的“缓存基线”。基线的意义在于对比如果 Anti ARP Sniffer v3.5 扫出来的列表和基线差异过大说明缓存老化严重或者网络里存在不让普通广播通过的策略。3.2 启动扫描网卡选择、范围填写与结果解读常见工具的版面一般分四块网卡下拉框、起止 IP 输入区、扫描控制按钮、结果表格。可按这个思路操作网卡下拉框里选中连接目标局域网的那块网卡起始 IP 填192.168.1.1结束 IP 填192.168.1.254点击开始扫描观察进度与应答计数。扫描结束后结果表格通常会包含以下列字段含义常见陷阱IP 地址主机当前使用的 IPv4 地址IP 冲突时同一 IP 会出现多个 MACMAC 地址主机网卡物理地址多位网卡、虚拟网卡会产生多条主机名通过 NetBIOS 或反向解析获得不同网段、禁 ping 时可能为空响应时间本机发出请求到收到应答的间隔高延迟不代表故障但连续超时应重点排查结果列表里第一项通常是自己第二项是网关。网关的 MAC 必须和交换机/路由器实际物理端口对应如果它一直在变就说明有人在干扰 ARP 解析这个问题放到第四章展开。3.3 三个必调参数等待时间、重试次数、并发探测量这类扫描器最影响结果质量的就是三个参数默认值能用但要扫得干净必须手动调参数推荐区间设置逻辑等待时间300 ~ 1000 ms单次 ARP 请求发出后等待应答的窗口太短漏掉慢速设备太长拖慢全段速度重试次数2 ~ 3应对瞬时丢包对真正离线的设备重试不会产生应答不影响结论并发探测量64 ~ 256同时等待多少个请求并发过高会让老交换机、嵌入式设备网卡丢包C 段地址共 254 个目标等待时间 500 ms 且重试 2 次时单线程跑完全段要 4 到 5 分钟并发提到 128 后可以压缩到十几秒。优先调并发而不是缩短等待时间因为很多嵌入式设备对 ARP 的处理速度并不快等太短会把在线设备误判成离线。3.4 用 Python 复现 Anti ARP Sniffer 的扫描核心Windows 下不想开现成工具时可以用 Scapy 写一个最简版便于理解请求/应答时序。安装依赖后直接运行from scapy.all import ARP, Ether, srp network 192.168.1.0/24 broadcast ff:ff:ff:ff:ff:ff # 构造以太网帧头 ARP 请求并广播发出 ether Ether(dstbroadcast) arp ARP(pdstnetwork) result srp(ether / arp, timeout3, verbose0)[0] for sent, received in result: # received.psrc 是应答方的 IPreceived.hwsrc 是应答方的 MAC print(f{received.psrc:16s} {received.hwsrc})srp负责发送二层帧并等待应答timeout3表示收包队列空等 3 秒后结束received.psrc是应答主机的 IPreceived.hwsrc是它的 MAC。运行结果会覆盖整个 C 段在线主机和 Anti ARP Sniffer v3.5 的列表做交叉比对可以快速验证工具扫描结果是否完整。理解这段代码再回看工具界面所谓“扫描”本质就是这段逻辑在循环执行。4. 从扫描到监控发现陌生设备、识别 ARP 欺骗、维护缓存4.1 为什么arp -a的缓存结果不能当在线清单很多人拿arp -a直接判断局域网里有什么设备这是排查时最容易误判的一步。动态缓存条目有一定生命周期Windows 上通常一到两分钟没有流量就会老化消失Linux 的时间策略也类似另外某些主机虽然在线但只要没有和本机发生过通信缓存里就永远不会有它的条目。反过来缓存里残存的条目也可能是已经断电的设备只是 TTL 还没跑完。Anti ARP Sniffer v3.5 这类主动扫描解决了“缓存滞后”问题但它的输出也需要二次确认。个别设备会开启隐身模式或从固件层面屏蔽 ARP 应答这类设备的真实状态只能到交换机上通过show mac address-table或类似命令核对。4.2 两次扫描取差集判断 IP 上线与下线时间“某个 IP 什么时候上线、什么时候下线”是网管排查中最常见的诉求。单次扫描给不出时间线做法是把扫描做成定期任务第一次扫描导出 CSV 存档第二次、第三次扫描也导出然后对比集合差。新出现的 IP-MAC 对就是刚上线设备缺失的组合就是下线设备。# Windows 任务计划程序里每小时执行一次文件名带时间戳 AntiArpSniffer.exe /start192.168.1.1 /end192.168.1.254 /exportscan_%date:~0,4%-%date:~5,2%-%date:~8,2%_%time:~0,2%.csv注意命令中的参数名以工具实际版本为准这里要说明的是思路导出文件名里嵌入日期小时后续对比脚本直接按文件名排序取相邻两份用comm -23或 Python 的 set 差集就能列出增量。把监控脚本挂到任务计划或 crontab 里持续跑一周就能还原出某台打印机是每晚八点关机、还是整天在线进而定位异常设备。4.3 识别 ARP 欺骗与 ARP 攻击的报文特征扫描器持续观察 MAC 映射时会碰到一种异常同一个 IP 在短时间内对应了两个不同 MAC或者同一个 MAC 回应了网段内多个 IP 的请求。前者是典型的 ARP 欺骗特征攻击者通过伪造 ARP 应答或免费 ARP 报文让受害主机把网关 IP 解析到攻击者的 MAC 地址上流量经由攻击者转发形成中间人链路。用 Wireshark 过滤网关 IP 的所有应答帧可以快速定位arp.opcode 2 arp.src.proto_ipv4 192.168.1.1正常网络里这条过滤应该只出现一个 Sender MAC如果看到两个不同 MAC 交替应答网关 IP基本可以断定有人在做 ARP 攻击。处理动作按优先级排列拔掉可疑端口、在交换机上查端口对应 MAC、然后重置受影响主机的缓存。Windows 下重置缓存执行arp -d *macOS 和 Linux 用sudo ip neigh flush all。4.4 静态绑定与端口安全让扫描结果不再“变色”对付 ARP 欺骗最直接的手段是把关键设备的 IP-MAC 映射改为静态绑定。三大系统的命令不完全一样操作系统绑定命令说明Windowsarp -s 192.168.1.1 00-11-22-33-44-55需管理员权限重启后失效Linuxarp -s 192.168.1.1 00:11:22:33:44:55新内核推荐ip neigh replacemacOSsudo arp -s 192.168.1.1 00:11:22:33:44:55重启失效仅对当前会话有效静态绑定不是一劳永逸重启之后条目丢失是常态生产环境要结合交换机端口安全策略。端口安全限制单端口学习的 MAC 数量上限超过则丢弃帧或关闭端口更严格的大型网络会启用 DHCP Snooping 加动态 ARP 检测但那种方案依赖交换机型号和网络规模中小型局域网做静态绑定加定时扫描已经足够。5. 验证扫描是否可靠抓包回放与三个排错习惯5.1 用 Wireshark 回放扫描现场确认广播请求真实发出扫描结束后别急着关工具打开 Wireshark设置抓包过滤器为arp重新触发一次扫描。正常会看到两批帧一批目标 MAC 为ff:ff:ff:ff:ff:ff的广播请求紧跟着来自不同主机的单播应答。如果请求正常发出但没有应答问题出在链路策略如果连请求都没有问题出在网卡选择或工具权限。5.2 三类扫描结果异常的排查方向第一类全部 IP 无应答。检查本机是否连接在正确 VLANWindows 防火墙的“文件和打印机共享”规则是否被禁用多网卡机器是否选了有实际链路的网卡。第二类部分设备缺失。优先怀疑无线 AP 隔离、交换机端口隔离和客户端模式省电策略用有线接入的机器仍然缺失时在交换机上查该端口的 MAC 表确认设备是否真的在网。第三类结果里出现重复 IP。这是 IP 冲突线下去找到两台同 IP 的主机逐台断开确认。5.3 定时扫描加结果留档比单次扫描更有价值把上面提到的定时导出做成持续监控就能沉淀出变化曲线。建议这样配置每 30 分钟跑一次扫描保留最近 30 份 CSV同时让脚本计算相邻两次的差异阈值设为“同一 IP 在连续两次扫描中对应不同 MAC”即告警。扫描任务放在任务计划程序里用普通权限运行即可导出结果统一存放C:\arp_logs后续只需对目录内文件做简单 grep就能回溯每个 IP 的历史归属。本文还有配套的精品资源点击获取