系统学习 Windows 学习路径:从 CMD 到 PowerShell、系统网络,再到 WSL 与 Server

arp

查看和修改 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 *

易错点与排错

相关命令

参考链接

读完自测

合上页面,先回答,再展开对照。

  1. 访问跨网段主机时,ARP 表里为什么只有网关的 MAC?
  2. arp -s 添加的静态条目重启后会保留吗?它能否防止 ARP 欺骗?
  3. 同网段间歇性断网,怀疑 IP 冲突,应该怎样用 ARP 表确认?
答案
  1. ARP 只解析本地网段的下一跳,跨网段时目标 MAC 是默认网关的 MAC,最终目标由路由器继续转发。
  2. 不会,TCP/IP 协议栈重启后消失;静态 ARP 没有认证,不能防止 ARP 欺骗。
  3. 多次执行 arp -a 看同一 IP 是否对应不同 MAC,再结合 ping 和交换机 MAC 表定位冲突主机。
微信小程序码:扫码打开命令速查小程序

小程序版

微信扫码,随时查命令