局域网arp攻击检测
作者:娱乐 来源:休闲 浏览: 【大 中 小】 发布时间:2026-10-17 06:39:44 评论数:
那天下午三点,局域检测财务部的攻击小王在群里喊了句“网又断了”,紧接着设计部、局域检测客服部接连报障。攻击我 ping 了一下网关,局域检测延迟从正常的攻击 2ms 飙到 800ms,丢包率 30%。局域检测换作平时,攻击我会先查交换机端口流量,局域检测但这次我直接打开了 Wireshark——因为上周刚发生过类似情况,攻击当时抓包发现大量 ARP 应答包,局域检测源 MAC 地址全是攻击同一个,而那个 MAC 根本不在公司设备清单里。局域检测
ARP 协议本身没有认证机制。攻击主机问“谁是局域检测 192.168.1.1”,任何设备都能抢答“我是”,并把自己的 MAC 地址塞进去。攻击者就利用这点,持续发送伪造的 ARP 应答,把网关 IP 映射到自己的 MAC 上。结果就是:你以为在跟路由器说话,其实数据全进了攻击者的网卡。他可以选择转发(中间人窃听),也可以直接丢弃(断网)。
我见过最粗暴的案例是一家小公司,20 台机器集体掉线。网管重启了路由器、交换机,甚至换了网线,折腾两小时没搞定。后来用 arp -a 一看,网关的 MAC 地址变成了 00-11-22-33-44-55——一个不存在的厂商前缀。手动绑定网关 MAC 后网络立刻恢复。攻击者甚至没做流量转发,纯捣乱。
检测 ARP 攻击,最直接的方法是看 ARP 表的变化频率。正常网络里,网关的 MAC 地址几个月都不会变。如果十分钟内变了三次,基本可以确定有问题。Windows 下用 arp -a,Linux 下用 ip neigh,写个脚本每 30 秒抓一次,对比网关 MAC 是否一致。不一致就报警。这招土,但管用。
更专业的做法是抓包分析 ARP 应答的发送频率。正常主机不会每秒发几十个 ARP 应答。用 Wireshark 过滤 arp.opcode == 2,如果某个 MAC 在短时间内发出大量应答,且对应 IP 是网关或核心服务器,那它大概率在搞事。我习惯再加一个过滤条件:arp.src.proto_ipv4 == 192.168.1.1,直接锁定冒充网关的包。
交换机层面也有办法。华为、H3C 的接入交换机支持 DAI(动态 ARP 检测),配合 DHCP Snooping 建立信任表,只允许合法 IP-MAC 对通过。思科的 ip arp inspection 类似。但很多小公司用的都是傻瓜交换机,没这功能。那就只能在终端上装 ARP 防火墙,或者手动静态绑定。静态绑定麻烦,但零成本。我自己的笔记本就绑了网关和文件服务器的 MAC,省心。
有个细节容易被忽略:攻击者不一定来自外部。我处理过一起内网事件,攻击源是市场部一台中了病毒的笔记本。它不停发送伪造 ARP 包,但用户自己完全无感——上网慢而已。后来通过交换机 MAC 地址表定位到端口,拔掉网线才消停。所以检测到攻击后,别光想着防外,先查内鬼。
最后说个判断技巧。如果全网断,但同网段内互 ping 正常,只是出不了网关,那基本是网关被冒充了。如果连内网互 ping 都时通时断,可能是攻击者在做中间人转发,导致 ARP 表震荡。这两种情况的处理优先级不同:前者先恢复网关绑定,后者先隔离攻击源。别一上来就重启核心设备,没用。
