我已成功将 Raspberry Pi 转变为 WiFi 接入点,但当新设备连接或断开连接时,我无法收到通知。具体来说,我想接收任何新连接设备的 IP 地址。
目前,我每 n 秒使用该sudo arp
命令检查新设备。此方法非常适合检测新连接,但在设备断开连接时会出现延迟。我注意到HWaddress
ARP 表中的字段在(incompatible)
表更新之前就变为反映设备已断开连接。
我发现使用
iw dev wlan0 station dump
命令提供了连接设备的最新信息,但它只显示 MAC 地址,而不显示我需要获取的分配的 IP 地址。
我正在寻找有关如何在设备与我的接入点连接或断开连接并接收其 IP 地址时可靠地收到通知的建议。
答案1
结合这两个命令...
iw dev wlan0 station dump 获取有效 MAC 地址列表,然后使用 arp 命令获取 IP 和 MAC 地址之间的映射。
仅记录与站转储中的列表匹配的内容。
这可以在 PERL 中使用哈希轻松完成(从 arp 命令创建 MAC->IP 的哈希,然后遍历从 iw 命令检索的 MAC 地址列表,并从哈希中提取相应的 IP)。