1

我一直在尝试通过 Raspberry pi 记录连接、断开连接和连接到接入点的时间。我想出的是使用 dnsmasq 和 hostapd 在 Raspberry pi 3 上创建访问点,并通过 arp 命令获取已连接用户的列表(及其 ip/mac),然后从 python 运行命令以读取列表。我正在努力的是在python中创建一个监听器(监视器),它将监听网络上的变化->连接或断开连接,然后运行arp命令来获取列表,然后将更改记录到例如文本文件或简单的控制台(在这一点上无关紧要)。

我想避免每 X 毫秒循环一次以获得 arp 状态,因为它不会给我确切的信息,除非它一直运行,即使这样,arp 命令的响应时间和写入控制台/文件或循环中的任何内容。

我想知道是否有人知道我将实现并中断主程序的任何侦听器,完成工作并返回主程序,例如或任何其他有关此的解决方案?

4

1 回答 1

0

也许您可以使用 Pythonsubprocess.Popen来读取/var/log/daemon.log(或日志文件所在的任何位置)以及grep网络连接模式。

配置 hostapd 以记录您需要的内容/etc/hostapd.conf

或者,如果您愿意编码,看起来有一个 API,请参阅 wpa_ctrl.h 中的 WPA_EVENT_CONNECTED ( https://w1.fi/wpa_supplicant/devel/wpa__ctrl_8h.html )

于 2017-04-10T22:11:31.820 回答