查看和修改 IPv4 ARP 缓存,排查同网段 IP 冲突。
arp -a 显示每个接口的 IPv4 地址到 MAC 的映射,动态条目会随时间老化;-s 加静态条目,-d 删除条目,-N 指定接口。它解决的是同网段内的二层寻址问题:访问网关或同网段主机前,系统必须先解析出对方 MAC。
边界:ARP 只用于 IPv4 本地网段,跨路由器后看到的是下一跳的 MAC,不是最终目标;IPv6 用邻居发现(NDP),要用 netsh interface ipv6 show neighbors 或 Get-NetNeighbor。ARP 没有认证,静态条目也挡不住 ARP 欺骗;它也不显示本机 MAC,查本机网卡用 getmac /v 或 ipconfig /all。
Windows 10/11 行为一致;-s 和 -d 通常需要管理员权限,-s 添加的条目在 TCP/IP 协议栈重启后会消失。输出里的 Internet Address / Physical Address / Type 三列最有用,dynamic 是学习到的,static 是手工加的。
# 1. 查看所有接口的 ARP 表,先确认网关和同网段主机
C:\> arp -a
# 2. 只看指定接口的 ARP 表,避免被 VPN/虚拟网卡干扰
C:\> arp -a -N 192.168.1.10
# 3. 只查一个 IP 的 MAC,快速确认冲突或漂移
C:\> arp -a 192.168.1.1
# 4. 删除动态条目,让系统重新学习(需要管理员)
C:\> arp -d 192.168.1.50
# 5. 手工绑定 IP 和 MAC;重启 TCP/IP 后失效
C:\> arp -s 192.168.1.50 00-11-22-33-44-55
# 6. 清空全部 ARP 条目会造成短暂中断,条目会重新学习
C:\> arp -d *
arp -a 多次采样、ping 和交换机 MAC 表交叉确认,先隔离冲突主机再恢复。arp -d 报“拒绝访问”是权限不足;用管理员 CMD。删除后短暂丢包是正常的,系统会重新发 ARP 请求。arp -s 的 MAC 格式是六组十六进制、用连字符分隔,例如 00-11-22-33-44-55;写成冒号或位数不对会报参数错误。arp -a 里出现 224.0.0.22、239.255.255.250 等多播地址是正常现象;incomplete 表示请求没有响应,可能是主机离线或防火墙。arp -a 可能为空,需要查 NDP 邻居表;反之,IPv4 冲突不会自动出现在 IPv6 邻居表里。arp -d *)影响当前主机的所有 IPv4 接口,远程操作可能短暂断连;先保存 arp -a 输出,恢复靠重新学习或按备份重建静态条目。ip neigh 查看邻居表合上页面,先回答,再展开对照。
arp -s 添加的静态条目重启后会保留吗?它能否防止 ARP 欺骗?arp -a 看同一 IP 是否对应不同 MAC,再结合 ping 和交换机 MAC 表定位冲突主机。
小程序版
微信扫码,随时查命令