wpa_supplicant 检测错误密码
阅读原文时间:2023年07月10日阅读:2

选好了 wifi ssid,填了密码,生成新配置文件,重启了wpa_supplicant,怎么知道输入的密码对不对,如果不对有什么体现?

wpa_supplicant 前台运行时,打印信息中会有:

WPA: 4-Way Handshake failed - pre-shared key may be incorrect

因此启动 wpa_supplicant 时加上 -f 参数将打印输出为 log 文件,再从 log 文件中轮询 grep 字符串 4-Way Handshake failed。

wpa_supplicant 默认编译不支持 -f 参数,需要修改源代码目录下 .config 文件,把下面这一行放开注释:

CONFIG_DEBUG_FILE=y

StackExchange - SuperUser 有一个类似的方案:

https://superuser.com/questions/903464/wpa-supplicant-detecting-that-my-password-is-incorrect/903893

#!/bin/bash

function poke {
while true
do
printf '\n'
sleep 1
done
}

function watch {
(poke) | wpa_cli | while read line
do
case "$line" in
*'4-Way Handshake failed'*)
echo "incorrect key"
return
;;
*'CTRL-EVENT-CONNECTED'*)
echo "connected"
return
;;
esac
done
}

wpa_cli disable_network 0 > /dev/null
wpa_cli enable_network 0 > /dev/null

watch

手机扫一扫

移动阅读更方便

阿里云服务器
腾讯云服务器
七牛云服务器

你可能感兴趣的文章