应使用arp -n或ip neigh show命令直接读取内核ARP缓存以避免DNS反查延迟;前者强制纯IP显示,后者更现代、状态明确且支持按接口(如ip neigh show dev eth0)或网段过滤。

要快速确认当前Linux主机已知的局域网设备IP与MAC地址对应关系,必须绕过DNS反查直接读取内核ARP缓存,否则可能卡顿或返回错误主机名。
用arp命令查看全部条目
在终端中输入 arp -a,它会以BSD风格列出所有ARP表项,包括主机名(如果可解析)和对应MAC地址。
这一步操作起来很简单,但输出中混有主机名会导致延迟——尤其当某IP无反向DNS记录时,命令会等待超时才继续。
更推荐执行 arp -n,强制以纯IP数字格式显示,不查DNS,结果确定且响应快。
用ip neigh命令查看(现代推荐方式)
运行 ip neigh show,这是iproute2套件提供的替代方案,比arp命令更贴近内核邻居子系统底层逻辑。
它默认按接口分组显示,状态明确标注为 【REACHABLE】、【STALE】 或 【FAILED】,比arp输出信息量更大、更实时。
若只关心某个网段,比如192.168.1.0/24,可加过滤:ip neigh show | grep '192.168.1.'。
按网络接口单独查看
第一步:确认目标接口名,运行 ip -br link show | awk '{print $1}',常见如 eth0、ens33、wlan0。
第二步:指定接口查ARP缓存,例如查 eth0 上的条目:arp -n -i eth0。
第三步:若用 ip neigh,则写成 ip neigh show dev eth0。
注意:不指定接口时,arp 命令可能只显示第一个活跃接口的条目,【遗漏其他网卡上的ARP记录】,排查多网卡环境问题时务必显式加 -i 参数。


















