Определить, когда станция (клиент) отключена от точки доступа, созданной с помощью dnsmasq / hostpad - PullRequest
0 голосов
/ 05 июня 2018

Мне было интересно, смогу ли я обнаружить отключение станции (клиента), которая была подключена к точке доступа, созданной с помощью dnsmasq и hostapd на wlan0 interface.

На данный момент лучшее решение, которое я нашел, - это использовать следующую команду

iw dev wlan0 station dump

Проблема заключается в том, что когда я отсоединяю кабель подключенного устройства, командавсе еще показывает устройство как подключенное, увеличивая значение «неактивного времени».

PS.подключенные устройства являются модулями ESP8266.

Любые советы приветствуются.Спасибо!

Ответы [ 2 ]

0 голосов
/ 27 августа 2018

вы можете контролировать свой системный журнал, например, на 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)
0 голосов
/ 05 июня 2018

Вы не можете использовать только hostapd или iw tool, потому что он считает, что устройство через некоторое время снова станет доступным.
Вам нужно (или, по крайней мере, так, как я), чтобы проверить, если станциявсе еще доступен с помощью команды extern, например, ping.
В моем случае я использовал ip neigh show dev wlan0 nud reachable nud delay и сравнил MAC-адрес со списком станций, заданным iw dev wlan0 station dump

...