wpa_supplicant 檢測錯誤密碼


選好了 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

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM