macOS 如何获取局域网所有设备IP及MAC地址

1,715 阅读1分钟

利用ARP缓存表获取局域网设备IP和MAC地址

在局域网内进行通信时,需要将IP地址映射到MAC地址,这就需要使用ARP(Address Resolution Protocol)协议。本文将介绍如何利用ARP缓存表获取局域网设备的IP和MAC地址。

1. 将已使用的IP存储到ARP表中

可以通过使用ping命令来获取局域网内某个IP地址是否可以通信。使用以下命令遍历ping路由中所有可能的IP地址:

for i in {1..255}; do ping -c 1 192.168.110.$i; done

-c 1表示发送一次ping请求,如果没有指定次数,ping命令会一直发送请求直到手动停止。-c是ping命令的一个选项,用来指定ping请求的次数

2. 输出ARP表缓存

使用以下命令打印输出所有ARP缓存记录:

arp -a

然而,可能会包括一些无效的MAC记录,因此需要筛选出有MAC地址的记录。可以使用以下命令:

arp -a | grep -v "incomplete"

其中,-v表示反选。此外,还可以添加参数来统计满足条件的ARP记录条数:

arp -a | grep -v "incomplete" | wc -l

wc是Unix/Linux系统中的一个命令,用于统计文件中的行数、单词数、字符数等信息。除了-l选项可以用来统计行数,还有-w选项用来统计单词数,-c选项用来统计字符数等。

综上,以上方法可以帮助我们利用ARP缓存表获取局域网设备的IP和MAC地址。