检测站(客户端)何时与使用dnsmasq / hostpad创建的接入点断开连接

时间:2018-06-05 11:25:35

标签: linux esp8266 dnsmasq hostapd

我想知道我是否可以检测到连接到使用 dnsmasq hostapd 创建的接入点的电台(客户端)的断开连接 wlan0 界面。

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

iw dev wlan0 station dump

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

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

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

2 个答案:

答案 0 :(得分:1)

您不能仅使用hostapd或iw工具,因为它认为设备将在一段时间后再次可以访问。
您需要(或至少,就像我的方式)检查是否仍然可以使用extern命令来访问工作站,例如ping。 就我而言,我使用ip neigh show dev wlan0 nud reachable nud delay并将mac地址与iw dev wlan0 station dump

给出的电台列表进行比较

答案 1 :(得分: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)