openwrt 阻止设备连接某些开放的wifi?

openwrt 阻止设备连接某些开放的wifi?

我正在和我的同事们一起做一个小项目Tp-Link MR3040使用破障装置。

iw wlan0 connect any我正在使用可以连接到任何开放 WiFi 网络的命令。

我现在住的地方,时代华纳有线在整个城市都有开放的 WiFi,我不想让我的设备连接它,因为它不提供互联网(我访问的网站被禁止 403),有没有办法将该 ssid 列入“黑名单”?

答案1

您可以扫描并选择自己连接使用信号强度和mac获取扫描结果

iw dev wlan0 scan

在脚本中解析它并手动选择要加入哪一个。如果它们未打开,iw 扫描结果将包含“RSN:”或“WPA:”或“WEP:”。因此,您可以清除加密网络,并选择一个打开的网络,可能具有最佳信号强度“信号:-45.00 dBm”。

因为它是 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 的块。

相关内容