ScanResult の機能文字列を分析したいと考えています。ただし、名前は最大 4 つの角括弧でグループ化されます。
[WPA-PSK-TKIP+CCMP][WPA2-PSK-TKIP-CCMP][WPS][ESS]
一部の名前がさまざまなブラケットに表示される可能性があることを考慮して、どのブラケットが何に関連しているかを説明する何らかのドキュメントがありますか。可能なすべての機能のリストもどこかにあれば素晴らしいでしょう。
ScanResult の機能文字列を分析したいと考えています。ただし、名前は最大 4 つの角括弧でグループ化されます。
[WPA-PSK-TKIP+CCMP][WPA2-PSK-TKIP-CCMP][WPS][ESS]
一部の名前がさまざまなブラケットに表示される可能性があることを考慮して、どのブラケットが何に関連しているかを説明する何らかのドキュメントがありますか。可能なすべての機能のリストもどこかにあれば素晴らしいでしょう。
この文字列は wpa_supplicant によって生成されます。残念ながら、これに関するドキュメントはほとんどありませんが、少なくとも正確なコードを見ることができます! Android で見られる文字列を作成する役割を担う 3 つの主な関数があります。
struct wpa_bss
1 つのネットワークに関する情報を含む を引数として取り、それを文字列に変換します。[ESS]
やなどのタグWPA2
が追加されていることがわかります。また、次の 2 つの関数を (間接的に) 呼び出します。したがって、この機能はネットワークの一般的な機能を追加します。[PSK]
: これにより、 and/or[EAP]
タグが追加されます。つまり、使用されているハンドシェイクのタイプです。TKIP
かCCMP
。ネットワークが WPA1 または WPA2 の場合にのみ呼び出されます。これら 3 つの関数を読むことで、文字列内で期待できるパラメーターの種類を正確に知ることができます。独自のネットワークを作成し、独自のネットワークに対応する文字列を確認することで、いつでも理解を確認できます!
昨年、この問題についてのトピックがありました。このstackoverflow answer でいくつかのヘルプを見つけることができます。実際、WiFi アクセス ポイントの機能に関する Android のドキュメントはほとんどありません。公式のJavadocでも、信号レベルに関して、属性level
は次のようにのみ文書化されています。
検出された信号レベル (dBm)。少なくとも、これらは TI ドライバーで使用される単位です。
これは、Android での WiFi 処理に関する非常に不安定な情報であるようです。
私はこのトピックを見つけました:
Android で不明な暗号化アルゴリズムを使用して WiFi ネットワークに接続するにはどうすればよいですか?
質問をしたユーザーは、それが何を意味するかを知っているようです:
いくつかの調査に基づいて、これらは括弧で区切られた機能であり、これらのそれぞれの最初の項目は - で区切られた文字列であると想定しました。
[認証アルゴリズム - 鍵管理アルゴリズム - ペアワイズ暗号]