Отключить пользователя на hostap

Я создаю точку доступа без доступа в Интернет. Пользователи могут просматривать контент, размещенный локально на Raspberry Pi.

Мне нужна отправная точка, где пользователь может поделиться чем-то на Facebook. На этом этапе мне нужно, чтобы их выгнали из сети WiFi, чтобы они могли использовать собственное соединение 3G/4G.

Как я могу мгновенно отключить MAC-адрес от точки доступа без перезапуска hostapd?


person gvjonjones    schedule 16.10.2013    source источник


Ответы (3)


Вы используете команду hostapd_cli для управления демоном hostapd. Чтобы заставить клиента отключить Wi-Fi, вы можете использовать команду «отключить» или «деаутентифицировать».

hostapd_cli deauthenticate 00:5e:3d:38:fe:ab

убедитесь, что вы правильно установили ctrl_interface в конфигурации hostapd!

По умолчанию это:

ctrl_interface=/var/run/hostapd

Однако это зависит от клиента, если он сразу же переподключится. Это можно «исправить», отфильтровав его пакеты с помощью iptables, чтобы он больше не получал IP-адрес и, следовательно, с большой вероятностью не пытался снова подключиться.

ПРИМЕЧАНИЕ. Выполнение последнего с помощью iptables может привести к тому, что клиент внесет вашу точку доступа в «черный список», по крайней мере, на определенное время!

ПРИМЕЧАНИЕ 2: Если вы не предоставляете маршрут по умолчанию для своего DHCP-сервера, вам вообще не нужно отключать их от Wi-Fi. Хотя большинство устройств (смартфонов) полностью избегают Wi-Fi, поскольку это не то, что они ожидают (подключение к Интернету).

person Badmaster    schedule 17.10.2013
comment
Попал в самую голову. Работает очарование. - person gvjonjones; 17.10.2013
comment
Я ломал голову над этим ctrl_interface, потому что на самом деле PID (в моей системе) /var/run/hostapd.pid/wlan0. Я решил попробовать /var/run/hostapd (как указано выше и в дистрибутиве), черт возьми, и это сработало! Так что голосуйте за указание на очевидное. - person Michael; 21.10.2013

Как и в ответе Badmaster, в моем случае клиент попытается повторно подключиться к точке доступа, и он подключился. Но в моем случае я хочу принудительно отключить клиента, и точка доступа не примет его при повторном подключении.

Поэтому я просто добавляю некоторые коды в связанную функцию disassociate, прежде чем вызывать функцию hostapd_drv_sta_disassoc() в файле ctrl_iface_ap.c в функции hostapd_ctrl_iface_disassociate. Я добавляю коды добавления mac-адреса Клиента в список запрещенных mac в hapd->conf->deny_mac. Прежде чем заставить эти коды работать, вы должны убедиться, что ваши настройки контроля доступа Mac в файле hostapd.conf верны.

затем команда hostapd_cli deauthenticate 00:5e:3d:38:fe:ab может заставить Клиента отключиться и больше не подключаться.

В то же время я создаю функцию для удаления mac-адреса из списка запрещенных mac-адресов, чтобы клиент мог подключиться.

пример модификации исходных кодов выглядит следующим образом:

  1. Принудительное отключение P2P-клиента/STA со стороны GO/AP

  2. hostapd: позволяет удалять адреса из maclists

person thundear    schedule 16.12.2014

Чтобы предотвратить автоматическое повторное подключение вашего персонала к сети, перед выполнением команды «hostapd_cli deauthenticate» вы можете запустить cmd ниже, чтобы включить разрешенный список macaddr hostapd_cli macaddr_acl 1

Предполагая, что macaddr не был добавлен в список разрешенных, он не сможет присоединиться.

Позже отключите его через hostapd_cli macaddr_acl 0, чтобы персонал мог присоединиться

person Zach Lake    schedule 06.09.2018