1

Я работаю над небольшим проектом с моим Tp-Link MR3040 с использованием барьерного прерывателя.

Я использую команду iw wlan0 connect any которая будет подключаться к любой открытой сети WiFi.

Где я сейчас живу, у Time Warner Cable есть открытый WiFi по всему городу, и я не хочу, чтобы мое устройство подключалось, поскольку оно не обеспечивает интернет (сайты, на которые я захожу, запрещены 403), есть ли способ "занести в черный список" этот ssid?

1 ответ1

0

Вы можете отсканировать и выбрать, к какому из них подключиться. Получите результаты сканирования с силой сигнала и Mac, используя

iw dev wlan0 scan

Разобрать его в скрипте и выбрать, какой из них присоединиться вручную. Результаты сканирования iw будут содержать «RSN:» или «WPA:» или «WEP:», если они не открыты. Таким образом, вы можете отключить зашифрованные сети и выбрать открытую, возможно, с наилучшим уровнем сигнала «сигнал: -45,00 дБм».

Поскольку это openwrt, вы можете сделать это в Lua-скрипте.

buf = output from iw scan
buf = '\n'..buf..'\nBSS'     -- .. is concatenate in lua

Используйте это регулярное выражение, чтобы соответствовать одному блоку (в Lua или что-нибудь еще):

"[^A-Za-z%d]BSS"  -- %d is all digits in lua, maybe 0-9 otherwise

В каждом блоке grep SSID, сигнал и проверьте, если «[^ A-Za-z% d]+RSN:», «[^ A-Za-z% d]+WPA:», «[^ A-Za- z% d]+WEP:"есть совпадения, игнорируйте блоки, которые есть, и игнорируйте блоки с SSID в вашем черном списке.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .