![wpa サプリカント - 接続前に AP をプローブして資格情報を確認する](https://rvso.com/image/1568476/wpa%20%E3%82%B5%E3%83%97%E3%83%AA%E3%82%AB%E3%83%B3%E3%83%88%20-%20%E6%8E%A5%E7%B6%9A%E5%89%8D%E3%81%AB%20AP%20%E3%82%92%E3%83%97%E3%83%AD%E3%83%BC%E3%83%96%E3%81%97%E3%81%A6%E8%B3%87%E6%A0%BC%E6%83%85%E5%A0%B1%E3%82%92%E7%A2%BA%E8%AA%8D%E3%81%99%E3%82%8B.png)
最近の開発プロジェクトでは、ユーザー側から WiFi 認証情報を取得し、WiFi 接続を開始するために wpa_supplicant に送信する必要があります。C++ を使用してユーティリティを作成しましたが、これは機能していますが、適切な方法ではありません。ユーティリティは、セットアップを行い、指定された認証情報を使用して接続を開始しようとします。成功した場合は問題ありません。失敗した場合は、構成を削除し、ユーザーからの有効な認証情報を待機します。また、このモジュールのサポートとして、インターネット接続がオンになっているかどうかに関係なく、バックグラウンドでそれぞれのインターフェイスを介してインターネット接続をチェックしています。
この方法は完璧に機能しますが、適切な方法ではないように感じます。wpa_supplicant config (かなり長いドキュメント) を確認しましたが、解決策は見つかりませんでした。私がしたいのは、サプリカントを構成する前に AP をプローブして資格情報が正しいことを確認することだけです。AP に完全に接続しないとこれが不可能であることはわかっていますが、サプリカントを構成せずに確認する方法があればそれで十分です。
Debian Stretchで動作する私のセットアップ
答え1
私がやりたいのは、サプリカントを設定する前に AP をプローブし、資格情報が正しいことを確認することだけです。
APに接続するには次のコマンドを使用します設定ファイルを作成せずに:
wpa_supplicant -i <Interface> -c(wpa_passphrase "Your-AP-here" Your-password-here)
オプションを使用して-B
、コマンドをバックグラウンドで実行します。
grep
結果をフィルタリングするために使用するか、単に実行してdhclient
正常に接続されていることを確認します。