arp 命令本身不能直接列出网络中所有 IP 地址,它只能显示本机 ARP 缓存中已知的 IP-MAC 映射,即:本机通信过的设备。

如果你想查询局域网中所有在线的 IP 地址,需要配合 ping 扫描或使用更强大的工具。以下是几种常见的方法:

✅ 方法一:使用 arp -a + ping 扫描整个网段(适合 Linux/macOS/Windows)

1. 使用 for 循环 ping 所有主机(以 192.168.1.x 为例)

for ip in (seq1254);doping−c1−W1192.168.1.(seq 1 254); do ping -c 1 -W 1 192.168.1.(seq1254);dopingc1W1192.168.1.ip > /dev/null & done

2. 查看 ARP 表

arp -a

macOS 用 -t 1,Windows 用 -n 1,注意替换为你的网段。

✅ 方法二:使用 nmap 扫描局域网(更推荐)

nmap -sn 192.168.1.0/24

说明:
• -sn:Ping 扫描(不进行端口扫描)
• 输出会列出在线的 IP 地址和 MAC(如果权限足够)

安装:

sudo apt install nmap # Debian/Ubuntu
sudo yum install nmap # RHEL/CentOS
brew install nmap # macOS

✅ 方法三:使用 ip neigh(Linux 系统)

ip neigh

这类似于 arp -a,显示当前 ARP 缓存。

小结

方法 是否列出全部在线设备 说明
arp -a 否 只能看到已通信过的主机
ping + arp 是(手动) 可发现活跃主机并更新 arp 缓存
nmap -sn 是(推荐) 快速可靠,支持多种平台
ip neigh 否 类似 arp,用于 Linux

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐