如何从命令行找到热点连接设备的名称?

如何从命令行找到热点连接设备的名称?

在我的 debian 机器中,我创建了一个热点 (hostapd),并且一些设备使用 Wi-Fi 连接。如何ex: xyz iphone, apple tv, john pc从命令行获取已连接设备的名称?

笔记:目前我正在使用以下命令获取 MAC 和 IP 地址arp,但不是设备名称

答案1

快速提醒所涉及的层:LAN 和 WLAN 使用 MAC 地址进行通信(OSI 级别 2)。 ARP 协议告诉您哪个 MAC 地址属于哪个 IP 地址(OSI 级别 3)。机器的名称由 DNS 处理。通常,您的家庭路由器运行 DNS 服务器,您可以在其中输入哪个名称属于哪个 MAC 地址,或者它会自动使用由 DHCP 提供的名称。

所以:

  1. 使用 获取连接站的 MAC iw wlan0 station dump,其中wlan0是您的热点的 IF。这比arp缓存更可靠,因为arp缓存可能不包括全部连接的机器,它还可能包括其他其他 LAN 上的机器等arp-scan也不太可靠,因为它会尝试通过 WLAN 获取 ARP 响应,但热点已经确切知道哪个机器已连接。

  2. 对于每个 MAC,找到相应的 IP 地址。我能想到的唯一命令行工具是arping,但可能有更好的方法。

  3. 对于每个 IP,对您的家庭路由器进行 DNS 反向查找,例如host <ip-addr>

是的,就是这么难,想要做好,就不能走捷径。可能有一些工具可以为您做到这一点,但我不知道,所以您必须编写脚本。

相关内容