-1

我想知道是否可以检测到连接到使用dnsmasqhostapdwlan0接口上创建的接入点的站点(客户端)的断开连接。

到目前为止,我发现的最佳解决方案是使用以下命令

iw dev wlan0 station dump

问题是当我拔下连接设备的电缆时,该命令仍然显示设备已连接,同时增加“非活动时间”值。

PS。连接的设备是 ESP8266 模块。

任何提示表示赞赏。谢谢!

4

2 回答 2

1

您不能只使用 hostapd 或 iw 工具,因为它认为设备将在一段时间内再次可访问。
您需要(或至少,这是我的方式)使用 extern 命令(如 ping)检查站是否仍可访问。
在我的情况下,我使用ip neigh show dev wlan0 nud reachable nud delay并将 mac 地址与给出的站列表进行比较iw dev wlan0 station dump

于 2018-06-05T13:39:59.997 回答
0

您可以监控您的系统日志,例如在它报告的 openwrt 上:

Aug 26 21:41:19 192.168.0.245 hostapd: wlan0-1: STA aa:aa:aa:aa:aa:aa IEEE 802.11: deauthenticated due to REASON

原因可以是其中之一(至少我发现了这些):

Aug 26 19:00:00 192.168.0.1 hostapd: wlan0: STA aa:aa:aa:aa:aa:aa IEEE 802.11: deauthenticated due to inactivity (timer DEAUTH/REMOVE)
Aug 26 19:00:00 192.168.0.1 hostapd: wlan0: STA aa:aa:aa:aa:aa:aa IEEE 802.11: deauthenticated due to local deauth request
Aug 26 19:00:00 192.168.0.1 hostapd: wlan0: STA aa:aa:aa:aa:aa:aa IEEE 802.11: deauthenticated due to inactivity

为此,您必须监视该站是否已成功连接,例如

Aug 26 19:00:00 192.168.0.1 hostapd: wlan0: STA aa:aa:aa:aa:aa:aa WPA: group key handshake completed (RSN)
于 2018-08-26T22:27:27.840 回答