如何在Linux中查看ARP缓存 Linux arp命令输出解析

使用arp -a或ip neighbor show命令可查看linux系统ARP缓存,前者显示IP与MAC映射及接口信息,后者提供更清晰输出并支持状态显示;常见状态包括REACHABLE、STALE、FaiLED等,反映设备连通性;可通过arp -d删除条目,arp -s添加静态映射,结合dev限定接口或ip monitor监控变化,有助于诊断网络问题、排查IP冲突,掌握这些命令利于日常网络运维。

如何在Linux中查看ARP缓存 Linux arp命令输出解析

在Linux系统中,ARP(Address Resolution Protocol)用于将IP地址解析为对应的MAC地址。查看ARP缓存可以帮助你诊断网络连接问题、排查IP冲突或了解局域网内设备的通信情况。下面介绍如何使用命令查看ARP缓存,并解析其输出内容。

查看ARP缓存的常用命令

Linux中查看ARP缓存主要有两个命令:arp 和 ip neighbor。推荐使用较新的 ip 命令,但传统 arp 命令仍广泛使用。

1. 使用 arp 命令

arp -a

该命令列出当前系统的ARP缓存表,显示所有已解析的IP与MAC地址映射。

2. 使用 ip neighbor 命令(推荐)

ip neighbor show

这是现代Linux系统中更推荐的方式,功能更强大,输出更清晰。

arp 命令输出解析

执行 arp -a 后,输出类似如下内容:

? (192.168.1.1) at 00:1a:2b:3c:4d:5e [ether] on eth0 ? (192.168.1.100) at 00:0c:29:88:77:66 [ether] on eth0

每一行包含以下几个部分:

  • 主机名或 ?:如果系统能反向解析IP为主机名,会显示名称;否则显示 ?
  • IP地址:括号内的IPv4地址,表示目标设备的网络地址
  • at 后的MAC地址:对应设备的物理地址,共6组十六进制数
  • [ether]:表示使用以太网协议(最常见)
  • on 接口名:如 eth0、wlan0,表示该ARP条目关联的网络接口

arp缓存状态说明

ARP条目可能处于不同状态,可通过 ip neighbor 命令查看:

ip neighbor show

输出中常见的状态有:

  • REACHABLE:地址可达,近期通信过,条目有效
  • STALE:条目过期,尚未确认设备是否仍在线,下次通信前会重新ARP探测
  • DELAY:正在等待确认邻居是否可达
  • FAILED:解析失败,可能设备已离线或IP无响应
  • NOARP:接口禁用ARP(如本地回环或点对点链路)

实用操作建议

以下是一些常见的ARP相关操作:

  • 刷新ARP缓存:可删除特定条目 arp -d 192.168.1.1
  • 手动添加静态ARP条目:arp -s 192.168.1.100 00:0c:29:aa:bb:cc
  • 只查看某接口的ARP表:ip neighbor show dev eth0
  • 监控ARP变化:ip monitor neighbor 实时查看ARP表变动

基本上就这些。掌握arp和ip neighbor命令,能帮你快速了解局域网设备连接状态,排查网络异常。虽然ARP是底层协议,但日常运维中非常实用。不复杂但容易忽略。

© 版权声明
THE END
喜欢就支持一下吧
点赞7 分享