Linux查看和清理ARP缓存的核心是查清映射关系与删除错误条目:推荐用arp -a或ip neigh show查看,sudo ip neigh delete删除单条,sudo ip neigh flush all清空全表,静态绑定用sudo arp -s或sudo ip neigh replace。
Linux 查看和清理 ARP 缓存,核心是两个动作:查清当前映射关系、删掉错误或过期条目。操作本身不难,但要注意命令差异和权限要求——多数需 sudo 权限,且 ip neigh 比传统 arp 更全面,尤其对 IPv6 和邻居状态支持更好。
推荐用以下两种方式,结果一致但格式略有不同:
arp -a:简洁显示所有 IPv4 条目,IP 和 MAC 一一对应,适合快速扫视;ip neigh show:更现代的写法,显示内容更丰富(含状态如 reachable、stale、failed),也兼容 IPv6 邻居表;eth0),加 -i eth0 或 dev eth0,例如:arp -a -i eth0 或 ip neigh show dev eth0。当发现某个 IP 对应了错误 MAC,或怀疑被欺骗时,可精准清除:
sudo arp -d 192.168.1.100:删除指定 IP 的缓存项(仅 IPv4);sudo ip neigh delete 192.168.1.100 dev eth0:等效但更明确指定接口,推荐用于多网卡环境;临时恢复网络通路最常用的操作,但只是“治标”:
sudo ip neigh flush all:推荐首选,它清空所有接口上的动态邻居条目(包括 IPv4 和 IPv6),比 arp -d -a 更彻底;sudo arp -d -a:传统方式,只清 IPv4 动态条目,部分系统可能残留 ND(Neighbor Discovery)表项;对网关或关键服务器,可手动固定 IP-MAC 关系,避免被非法响应覆盖:
sudo arp -s 192.168.1.1 00:11:22:33:44:55;sudo ip neigh replace 192.168.1.1 lladdr 00:11:22:33:44:55 dev eth0 nud permanent;