如何扫描网络以查找 MAC 地址?

如何扫描网络以查找 MAC 地址?

从我的路由器(运行 OpenBSD),我可以执行以下操作:

arp-scan --interface=em1 --localnet

并获取我的网络上所有 IP 地址和对应 MAC 地址的列表。

但是,是否可以扫描物理连接到网络(第 1 层)且具有 MAC 地址(第 2 层)但没有 IP 地址(第 3 层)的系统?

如果是这样,那么无论我的网络是否有 IP,用什么命令来扫描我的网络以查找 MAC 地址?

为了测试目的,我有一个树莓派。我不确定哪种网络配置可以启动接口,但不能给它一个静态 IP 或使用 DHCP,但我有兴趣了解这是否可行。

我的目标是了解网络边缘情况。(例如,NIC 已连接,具有 MAC 地址,但没有 IP)

答案1

我不明白这在实践中如何可能。

当然,您可以监听(特别是在路由器上)所有流量并获取正在传输任何内容的任何 MAC 地址 - 但这不会显示任何静默不发送任何流量的设备的任何流量。

答案2

一台联网设备不太可能看到其他设备的 MAC 地址,除非设备上有专门告知这一点的软件。以太网交换机将数据包定向到其预期的设备,除非网络上的每个设备都向其他设备宣布其存在(例如使用 ARP),否则无法知道。即使这样,以太网卡也可能会忽略任何未定向到它的数据包。使用以太网集线器或配置为像集线器一样工作的交换机,设备甚至无法嗅探到其他设备的流量以找到网络上其他设备的 MAC 地址。然后以太网控制器必须在“混杂模式”下运行才能将这些数据包传递给操作系统,否则控制器将忽略这些数据包。

这至少有一半是正确的,我已经有一段时间没有从这个层面考虑网络了。

相关内容