問題タブ [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.

0 投票する
1 に答える
1675 参照

linux - wpa サプリカントを使用して eap-tls モードで freeradius を設定しようとしています

eap-tls モードで freeraadius をセットアップしようとしています。サーバーとして freeradius を使用し、クライアントとして wpa-supplicant を使用しています。両方のパッケージを Ubuntu-14.04.3 にインストールしました。freeradius パッケージと共に提供されるサンプル証明書を使用しています。/freerad/raddb/certで提供されているスクリプト ブートストラップを使用します。私はこの分野の専門家ではないので、このスクリプトが証明書に適切に署名するかどうかはわかりません。client.conf のこれらの証明書へのパスを freeradius に提供し、構成ファイルを wpa-supplicant に提供するだけです。以下は、私が使用しているwpa-supplicant構成です

wpa-supplicant コマンドにFreeradius -Xコマンドと eapol_test -c eap-tls.conf -s testing123を使用して freeradius を実行しています。

wpa-supplicant 端末で次のエラーが表示されます。

OpenSSL: tls_connection_client_cert - SSL_use_certificate_file (DER) エラー: 0D0680A8: asn1 エンコード ルーチン: ASN1_CHECK_TLEN: 間違ったタグ

OpenSSL: 保留中のエラー: エラー:0D07803A:asn1 エンコード ルーチン:ASN1_ITEM_EX_D2I:ネストされた asn1 エラー

OpenSSL: 保留中のエラー: エラー:140C800D:SSL ルーチン:SSL_use_certificate_file:ASN1 lib

OpenSSL: SSL_use_certificate_file (PEM) --> OK

OpenSSL: tls_connection_private_key - SSL_use_PrivateKey_File (DER) エラー: 0D0680A8: asn1 エンコード ルーチン: ASN1_CHECK_TLEN: 間違ったタグ

OpenSSL: 保留中のエラー: エラー:0D08303A:asn1 エンコード ルーチン:ASN1_TEMPLATE_NOEXP_D2I:ネストされた asn1 エラー

OpenSSL: 保留中のエラー: エラー:0D0680A8:asn1 エンコード ルーチン:ASN1_CHECK_TLEN:間違ったタグ

OpenSSL: 保留中のエラー: エラー:0D07803A:asn1 エンコード ルーチン:ASN1_ITEM_EX_D2I:ネストされた asn1 エラー

OpenSSL: 保留中のエラー: エラー:04093004:rsa ルーチン:OLD_RSA_PRIV_DECODE:RSA lib

OpenSSL: 保留中のエラー: エラー:0D0680A8:asn1 エンコード ルーチン:ASN1_CHECK_TLEN:間違ったタグ

OpenSSL: 保留中のエラー: エラー:0D07803A:asn1 エンコード ルーチン:ASN1_ITEM_EX_D2I:ネストされた asn1 エラー

OpenSSL: 保留中のエラー: エラー:140CB00D:SSL ルーチン:SSL_use_PrivateKey_file:ASN1 lib

OpenSSL: tls_connection_private_key - SSL_use_PrivateKey_File (PEM) 失敗エラー:0907B068:PEM ルーチン:PEM_READ_BIO_PRIVATEKEY:不正なパスワードの読み取り

OpenSSL: 保留中のエラー: エラー:140CB009:SSL ルーチン:SSL_use_PrivateKey_file:PEM lib

OpenSSL: tls_read_pkcs12 - PKCS#12 ファイル エラーの使用に失敗しました:0D0680A8:asn1 エンコード ルーチン:ASN1_CHECK_TLEN:間違ったタグ

OpenSSL: 保留中のエラー: エラー:0D07803A:asn1 エンコード ルーチン:ASN1_ITEM_EX_D2I:ネストされた asn1 エラー

OpenSSL: 秘密鍵の読み込みに失敗しました

TLS: 秘密鍵 '/home/areh/freeradius-server-3.0.11/raddb/certs/client.key' の読み込みに失敗しました

TLS: TLS 接続パラメーターの設定に失敗しました

私は wpa_supplicant-0.7.3 を使用しており、2.5 バージョンでも試しました。freeradius バージョンは freeradius-server-3.0.11 です。手がかりや助けをいただければ幸いです。Wireshark を使用してデバッグしています。アクセス チャレンジ パケットとアクセス リクエスト パケットが交換されているのを確認できますが、次のメッセージ ステージに到達しません。この問題を解決してください。

0 投票する
1 に答える
1721 参照

wifi - Linux で正しい SSID パスワードを確認する方法

ハードウェア デバイスの Web インターフェイスを作成しており、現在ネットワーク構成ウィザードを実行しています。ユーザーに SSID を選択してもらい、セキュリティで保護されている場合はパスワードを入力します。ウィザードをこれ以上進めずに、パスワードが正しいことをその場で確認したい。

wpa_supplicant詳細をスローしてログ出力を解析するよりも簡単な方法はありますか?

0 投票する
1 に答える
1012 参照

c - wpa_supplicant p2p DBus インターフェイスへのシグナルハンドラーの登録

gdbusC のライブラリを使用して、p2p 用の wpa_supplicant の dbus インターフェイスから「InvitationReceived」シグナルを受信するように登録しようとすると、問題が発生します。

P2P dbus インターフェイスへのプロキシ接続を作成してメソッドを呼び出すことはできますが、シグナル ハンドラをプロキシに接続しようとすると、シグナルが無効であることを示す次のエラーが表示されます (コードからの関連する出力サンプル):

(プロセス:6764): GLib-GObject-WARNING **: /tmp/buildd/glib2.0-2.42.1/./gobject/gsignal.c:2461: シグナル 'InvitationReceived' は、タイプのインスタンス '0x909ae0' に対して無効です「GDBusProxy」

「InvitationReceived」はwpa_supplicant dbus apiで定義されているシグナルの名前であるため、これは奇妙です。


コードサンプル:

シグナル名に追加する必要がある特別なパスはありますか? または、シグナル ハンドラを登録するために、メソッドの呼び出しに使用するプロキシとは別のプロキシを使用する必要がありますか?

0 投票する
1 に答える
924 参照

node.js - node.js で wpa_supplicant インターフェイスのリストを取得する

私の最終的な目標は、ワイヤレス接続のセットアップが失敗した理由を教えてくれるモジュールを作成することです。

現在、 node-dbusモジュールを使用して wlan0 インターフェイスにアクセスしようとしています。現状では wpa_supplicant は wlan0 を認識していないことを教えてくれます

「wpa_supplicant はこのインターフェイスについて何も知りません。」

どんな助けや提案も大歓迎です。

コード:

更新 1:

DBus プロパティ API を使用して Interfaces プロパティを調べたところ、プロパティ自体が null であることがわかりました。

私の唯一の結論は、wpa_supplicant が新しいインターフェースを dbus に登録することは決してないということです。

(端末コマンドを使用して wpa_supplicant を使用して wlan0 をセットアップしたことを確認しました)

0 投票する
1 に答える
1314 参照

embedded-linux - wifiが切断されたときにwpa_cliを使用してWiFi切断イベントを取得する方法

私は組み込み Linux システムに取り組んでいます。既存の WiFi が切断されたときに、新しい WiFi に接続する必要があります。一定のスリープ時間でループを使用して、wifi が接続されているかどうかを確認できますが、効率が悪いようです。WiFiが切断されたときにイベントを発生させるデーモンとしてwpa_cliを開始できる方法を誰かが提案できますか?

前もって感謝します。サンディープ。

0 投票する
1 に答える
122 参照

linux - Linux Kernel 3.3 が接続されたアクセス ポイントで失われたビーコンを登録しない

Linux カーネル 3.3 を使用しており (カーネルをアップグレードできません。申し訳ありません!)、wpa_cliユーティリティを使用して WiFi 接続の状態を監視しようとしています。Edimax WiFi ドングルを使用してワイヤレス アクセス ポイントに接続しています。

私は次のようなものを見ることを期待しています:

または同じことですがwpa_state=COMPLETED、接続ステータスによって異なります。

このテキスト出力を解析すると、ワイヤレス接続がアクティブかスキャン中かを確認できます。wpa_state=COMPLETEDしかし、電源をオフにした後もアクセス ポイントがまだ返されていることに気付きました。次のコマンドを使用します。

スキャンを強制し、wpa_state正しい場合もありますが、通常 (99%) 正しくありません。

これが私のもの/etc/wpa_supplicant.confです:

いくつかの調査の結果、カーネルがキャッシュされたバージョンの AP リストを返すという奇妙なことが起こっていると思われます。RTL8192cuドライバーを使用しています。私はすでにこの問題を見てきましたが、それは私のものと同じではありません。

私の考えでは、問題はカーネルのどこかにある可能性があります。ファイルnet/mac80211/scan.cの function の 214 行目で、APの が表示され(AP に電力が供給されている場合)、( hereieee80211_scan_rxを介して) 入力されることがわかります。この時点で、スキャン結果で返され、カーネル内のレイヤーが認証され、その AP に接続されます。ただし、AP の電源を切断した後、レイヤーがその保持を放棄することはありません。これにより、スキャンの最後 ( ) のファイルの 205 行目 (ここでは ) で関数内のリンクが決して解除されません 。bssidBSSieee80211_rx_bss_putwpa_supplicantMLMEMLMEatomic_tBSSBSScfg80211_bss_expirecfg80211_wext_giwscannet/wireless/scan.c

具体的には、「ホールド」に使用されるアトミックが、AP からの電力除去時にデクリメントされない理由を知りたいです。BSSこれにより、Linux は切断に十分なビーコンを見逃すことになりますか? または、wpa_supplicant を使用していくつかの構成を追加する必要がありますMLMEBSS?これは明らかにカーネルのバグですか?

私はすでに試しました:

私の問題は解決していません。

0 投票する
1 に答える
138 参照

networking - wpa-supplicant での EAP などのセキュリティ プロトコルの実装

現在、wpa_supplicant での EAP などのさまざまなセキュリティ プロトコルの実装を理解しようとしています。しかし、w1.fi から wpa-supplicant-devel.pdf を読み取るという非常に複雑な方法です。

wpa_supplicant の専門家から、効率的な方法で深くドライブする方法を知りたいです。それをよりよく理解するために知っておくべき高度なc概念。

このためのリソース/資料/ウェブサイト/本を提案できます。

また、wpa_supplicant で開始するのが難しいことをよく知っているので、これを説明的な質問として無視しないでください。

前もって感謝します。

0 投票する
3 に答える
4042 参照

c - C を使用して wpa_supplicant を開始する

これは重複した投稿であると人々が結論に飛びつく前に、このトピックに関する他の投稿を調べましたが、実際には解決策が見つからなかったことを指摘したいと思います.


必要なもの

私の目標は、C プログラムから wpa_supplicant にアクセスして、次のことを行うことです。

  1. アクティブな接続を確認する
  2. インターフェースがいつダウンしたかを検出する
  3. AP への接続/AP のセットアップなど

わかったこと

  • wpa_supplicant と通信する C プログラムを作成する必要がある場合、DBus は必要ありません。
  • wpa_ctrl.hこれらのファイルをプロジェクト ディレクトリに含めるだけで、関数を利用できます。
  • この質問に関連して見つけたいくつかのリンクを次に示します。1、2、3 _ _ _ _
  • を使用した外部プログラムについて説明している公式ドキュメントも確認しましたwpa_ctrl.c

上記が実際に問題を解決しない理由

  • この問題に関してSOやその他の関連Webサイトで見つけた投稿のほとんどは、公式ドキュメントなどのリソースを指していますが、これは良いが問題を解決していません
  • これらの投稿の多くで、人々はこれを追求することをあきらめたか、解決策を考え出しましたが、オンラインに投稿していません.
  • このトピックの初心者には、wpa_supplicant の「hello world」という実際の例を投稿していただけると助かります。

これまでに行ったこと

  • このリンク から、ディレクトリにコピーwpa_supplicant-2.5/src/common/wpa_ctrl.h しまし た(多くの依存関係があるため)。次に、以下に示す同じディレクトリに簡単な C プログラムを作成しました。「wpa_ctrl_open」エラーへの未定義の参照が表示されますwpa_supplicant-2.5/src/utilscommon.hhostapd_cli.c

    /li>

メイクファイル

ビルドログ


これらのファイルをどのように使用して外部プロジェクトに統合するか、またはどのようにコンパイルするかについての資料はあまりなく、私はちょっと無知です。続行する方法についてのヘルプは本当に感謝されます。

編集 1: タイプミスを修正し、ビルド ログを追加しました

0 投票する
1 に答える
685 参照

events - Linux で wpa_supplicant から netlink イベントをサブスクライブできますか?

Linux の wpa_supplicant が nl80211 を使用している場合、そのマルチキャスト グループの 1 つにサブスクライブして、関連付け、関連付け解除、認証、および認証解除イベントをリッスンできますか?