問題タブ [wpa-supplicant]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
wifi - wpa_cli/wpa_supplicant またはその他のユーティリティを使用して、wifi ネットワークが保護されているか、開いているかを確認する方法は?
Wpa_cli コマンドでは、ネットワークが開いているか、保護されているかを事前に知る必要があります。私は wpa_cli を使用してスクリプトを開発していますが、ネットワークが開いているか保護されているかに関係なく、ネットワークに接続したいだけです.明らかに、保護されている場合はパスワードを要求する必要があります。
スクリプトがそれに応じて wpa_cli を実行するように、ネットワークが開いているか、保護されているかを確認するにはどうすればよいですか?
ネットワークが開いている場合はネットワークに接続するだけで、セキュリティで保護されている場合はパスワードを要求します。
android - Android の startScan メソッドによってスキャンされるチャンネルはどれですか?
Android で WifiManager#startScan メソッドを使用しており、その仕組みを知る必要があります。具体的には、以下のことが知りたいです。
- 2.4 GHz 範囲でどのチャネルをスキャンしますか?
- 5 GHz 範囲でどのチャネルをスキャンしますか?
- 滞在時間は?
AOSP ソースを調べて wpa_supplicant コードまでたどりましたが、正しい軌道に乗っているかどうかわかりません。
Android 4.1.2 を実行している Samsung Galaxy Note 2 GT-N7105 を使用しています。
wpa-supplicant - WPA_supplicant 認証の実装
wpa_supplicant コードで遊んだ経験のある人の助けが必要です。
私が理解しているのは、サプリカントが AP に接続するために wpa_supplicant がすべてを投与するということです (それが何なのか)。したがって、手順は次のとおりです。
- スキャン
- スキャン結果を取得する
- 認証
- アソック
- 4ハンドシェイク
- データ交換
私がこれを理解しているように、最初の 4 つのステップは wpa_supplicant によってのみ管理されます。つまり、wpa_supplicant は、メイン イベント ループが EVENT_ASSOC メッセージを受信した後に、これらの手順を実行するために下層のドライバーを呼び出すだけです。4 ハンドシェイクを開始します。
私の場合、最初の 2 つのステップがドライバーで実行されても問題ありません。つまり、wpa_supplicant がスキャン要求を送信し、ドライバーがスキャンを実行し、スキャン結果をフィードします。
私の質問は、wpa_supplicant が必要なパケットを生成できず、たとえばレイヤー 2 (rawsocket) を使用して認証要求を AP に送信できないということですか? 続いて関連付け要求が続きますか?...これらをドライバ層からのハンドルとして単純に提供しますか?
wpa_supplicant.c のコードからわかるように (void wpa_supplicant_associate(struct wpa_supplicant *wpa_s, struct wpa_bss *bss, struct wpa_ssid *ssid))
この関数は、選択したドライバーへの関数ポインターを呼び出します。".associate = wpa_driver_nl80211_associate" ここでドライバーはこれを udnerlaying nl80211 ドライバー コードに送信しますか? .... wpa_supplicant は、これらのパケットを自分で生成できませんか?
これが意味をなすことを願っています。そうでない場合は、お尋ねください:)
bash - bash で実行中のプロセスから行を読み取れません
プロセス置換を使用すると、コマンドの出力のすべての行を取得できます。
上記と同じ方法で、「wpa_supplicant」コマンドの stdout 出力を取得し、stderr を破棄します。しかし、画面には何も表示されません!
プロンプトで同じコマンドを入力すると、正常に出力されることを確認しました。
間違いは何ですか?どんな助けでも大歓迎です。