实战解析:基于Kali的局域网ARP欺骗攻击与防御模拟

张开发
2026/4/15 20:23:52 15 分钟阅读

分享文章

实战解析:基于Kali的局域网ARP欺骗攻击与防御模拟
1. ARP欺骗攻击原理与危害ARPAddress Resolution Protocol协议是局域网通信的基础它负责将IP地址解析为MAC地址。ARP协议设计时没有考虑安全机制这就给ARP欺骗攻击留下了可乘之机。攻击者可以伪造ARP响应包让目标主机误以为攻击者的MAC地址就是网关的MAC地址从而将本应发送给网关的流量都转发给攻击者。我在实际测试中发现这种攻击成功率极高。有一次我在公司内网做安全测试仅仅用了5分钟就让整个部门的电脑都断网了。ARP欺骗的危害主要体现在三个方面首先是网络中断受害者无法访问外网其次是中间人攻击攻击者可以窃听所有经过的流量最后是数据篡改攻击者可以修改传输中的数据包。2. 实验环境搭建2.1 硬件与网络配置进行ARP欺骗实验需要准备两台设备一台安装Kali Linux的攻击机一台作为靶机的Windows电脑。我建议使用物理机而不是虚拟机因为虚拟网络环境可能会影响实验结果。记得把两台设备连接到同一个路由器下确保它们在同一个局域网段。在Kali Linux中我们需要确认网络连接模式为桥接模式。这个设置很关键我之前就踩过坑如果使用NAT模式会导致攻击失败。可以通过ifconfig命令查看网卡信息确认获取到的IP地址和Windows主机在同一个网段。2.2 必要工具安装Kali Linux默认已经预装了arpspoof工具如果没有可以通过以下命令安装apt-get update apt-get install dsniff -y如果遇到软件源问题可以按照以下步骤解决备份原有源列表cp /etc/apt/sources.list /etc/apt/sources.list.bak编辑源列表文件vim /etc/apt/sources.list替换为国内源以阿里云为例deb http://mirrors.aliyun.com/kali kali-rolling main non-free contrib deb-src http://mirrors.aliyun.com/kali kali-rolling main non-free contrib3. 实施ARP断网攻击3.1 信息收集阶段在发起攻击前我们需要收集必要的信息。首先在Kali上执行ifconfig route -n记录下本机的IP地址和网关地址。然后在Windows主机上打开cmd输入ipconfig /all记下Windows的IP地址和默认网关。我建议先测试网络连通性ping Windows IP ping 8.8.8.8确保两台设备之间可以正常通信并且都能访问外网。3.2 发起ARP欺骗攻击使用arpspoof命令发起攻击arpspoof -i eth0 -t 目标IP 网关IP参数说明-i eth0指定使用的网卡-t 192.168.1.100指定目标主机IP192.168.1.1指定要伪装的网关IP在实际操作中我发现这个命令需要保持运行状态才能持续生效。可以配合-r参数进行双向欺骗arpspoof -i eth0 -t 目标IP 网关IP arpspoof -i eth0 -t 网关IP 目标IP 3.3 验证攻击效果攻击发起后可以在Windows主机上测试网络连通性ping 8.8.8.8 tracert 8.8.8.8正常情况下会看到请求超时。也可以打开浏览器尝试访问网站会发现所有网页都无法打开。在Kali上可以使用Wireshark抓包验证wireshark 过滤条件设置为arp可以看到大量ARP响应包证明攻击正在生效。4. 防御措施与应对方案4.1 静态ARP绑定最有效的防御方法是配置静态ARP绑定。在Windows上以管理员身份运行arp -s 网关IP 网关MAC在Linux上arp -s 网关IP 网关MAC4.2 网络设备防护企业级交换机通常支持ARP防护功能启用端口安全(Port Security)配置DHCP Snooping启用动态ARP检测(DAI)4.3 安全软件防护安装专业的ARP防火墙软件如360ARP防火墙、金山ARP防火墙等。这些软件可以实时监测ARP表变化发现异常立即告警。5. 攻击后的网络恢复停止攻击很简单在运行arpspoof的终端按CtrlC即可。但是受害主机的ARP缓存可能仍然有问题需要手动清除在Windows上arp -d * netsh interface ip delete arpcache ipconfig /flushdns在Linux上ip -s -s neigh flush all systemd-resolve --flush-caches我建议重启路由器这样可以确保所有设备的ARP缓存都被清空。在实际环境中如果发现网络异常第一时间应该检查ARP表是否被篡改。

更多文章