直接执行arp -a可查看本地arp缓存中已通信设备的ip与mac地址;需结合ping网关及全网段探测(如for循环)刷新缓存以发现静默设备;推荐用ip neighbor show state reachable获取实时在线设备列表。

您正在使用统信UOS系统,需要立即获取当前局域网内所有已通信设备的IP地址与对应MAC物理地址,以便排查非法接入、确认设备在线状态或核对网络拓扑。ARP缓存表是系统自动维护的本地映射记录,无需安装额外工具,但默认只包含近期交互过的设备。
基础查看:直接读取ARP缓存表
这一步操作最轻量,适合快速核对已有连接设备。
按Ctrl+Alt+T打开终端,输入命令:arp -a,回车执行。
输出中会列出多个Interface区块,每个区块对应一个活跃网卡;重点查看标有Interface: 192.168.x.x(或您实际局域网IP)下方的条目,每行含Internet Address(IP)、Physical Address(MAC)和Type(通常为dynamic)三列;忽略0.0.0.0、224.0.0.22等无效地址行。
强制刷新:用ping触发新设备入表
ARP缓存不会自动扫描全网,静默设备(如刚开机未通信的手机、打印机)不会出现。必须主动发起通信才能将其MAC写入本地缓存。
第一步:执行ip a,找到当前主网卡(如enp0s3)的IPv4地址及子网前缀,例如192.168.1.100/24 → 确认网段为192.168.1.0/24。
第二步:依次ping网关和常见保留地址,例如:ping -c 1 192.168.1.1 → ping -c 1 192.168.1.254 → ping -c 1 192.168.1.100(本机自身也会触发邻居通告)。
第三步:等待约10秒后,再次运行arp -a,新增响应设备将出现在列表中。注意:-c 1参数限制只发1个包,避免阻塞终端。
批量探测:覆盖整个C类网段
手动ping几十个地址太慢,用shell循环可一次性探测全部254个可能主机地址,大幅提升覆盖率。
方法一(推荐):在终端中粘贴并执行以下完整命令(请将192.168.1替换为您实际网段):
for i in {1..254}; do ping -c 1 -W 1 192.168.1.$i >/dev/null 2>&1 & done; wait; arp -a | grep "192.168.1."
该命令后台并发发送254个单次ping请求,wait确保全部完成后再查表;末尾grep过滤出目标网段条目,避免混入其他接口数据。
方法二(兼容旧版bash):若报错bad substitution,改用seq替代:
for i in $(seq 1 254); do ping -c 1 -W 1 192.168.1.$i >/dev/null 2>&1 & done; wait; arp -a
【注意】此操作会短暂增加局域网ICMP流量,路由器负载极低,但部分企业网络策略可能限制频繁ping,建议避开业务高峰时段执行。
进阶替代:用ip neighbor获取更结构化输出
iproute2套件提供的ip neighbor比arp命令更现代,输出字段更规整,且原生支持状态过滤。
执行ip neighbor show,返回结果中每行含IP、LLADDR(即MAC)、REACHABLE(表示可达)、STALE(陈旧需刷新)等状态标识。
若只想看当前确认在线的设备,加state reachable过滤:
ip neighbor show state reachable
该命令不依赖ARP缓存刷新机制,而是直接读取内核邻居子系统实时状态,对刚响应过ARP请求的设备识别更及时。











