最近家里网络有时候会断网,感觉会不会arp 攻击,所以整理了下资料总结下
预防措施
- 定期维护脚本
创建一个清理脚本 cleanup_arp.sh:
#!/bin/bash
echo "当前 ARP 条目数量: $(arp -a | wc -l)"
sudo arp -a -d
sudo dscacheutil -flushcache
sudo killall -HUP mDNSResponder
echo "清理完成后的 ARP 条目数量: $(arp -a | wc -l)"
- 网络隔离
# 如果使用多个网络接口,可以禁用不必要的
networksetup -listnetworkserviceorder
# 禁用特定网络服务(谨慎使用)
# sudo networksetup -setnetworkserviceenabled "服务名称" off
- 防火墙设置
# 检查防火墙状态
sudo /usr/libexec/ApplicationFirewall/socketfilterfw --getglobalstate
# 如果有必要,可以配置更严格的防火墙规则
高级故障排除
检查具体网络段
# 实时监控网络活动
nettop -p $(pgrep Finder)
# 检查网络质量
ping -c 10 your.router.ip
路由器级别解决方案
由于很多 ARP 问题源于路由器配置,建议:
登录路由器管理界面(通常是 192.168.1.1 或 192.168.0.1)
检查连接设备列表,移除未知设备
启用 MAC 地址过滤
减少 DHCP 租期时间
考虑网络分段(VLAN)
自动化维护
创建定时任务定期清理:
# 编辑 crontab
sudo crontab -e
# 添加以下行,每天凌晨3点清理ARP缓存
0 3 * * * /usr/sbin/arp -a -d && /usr/bin/dscacheutil -flushcache
何时需要担心
正常家庭/办公室网络的 ARP 条目数量:
小型网络:10-30 个条目
中型网络:30-100 个条目
大型网络:100+ 个条目
如果您的网络只有少量设备但显示数百个 ARP 条目,可能存在:
ARP 欺骗攻击
网络环路
配置错误的路由器
恶意软件
紧急处理
如果怀疑安全问题:
# 立即断开网络
sudo ifconfig en0 down
# 清除所有缓存
sudo arp -a -d
sudo dscacheutil -flushcache
sudo discoveryutil mdnsflushcache
# 重新连接
sudo ifconfig en0 up