本記事では無線空間のパケットキャプチャ(以下、無線キャプチャ) を取得する目的や取得方法の一例について、ご案内いたします。
// 取得する目的 //
無線クライアントとAP 間では無線接続に必要な情報をやりとりしており、これらの内容を確認する際に無線キャプチャが必要になるケースがございます。
主に取得する事例としては、無線クライアントが接続できないといった問題が発生した際にAP 側の問題なのか、
クライアント側の問題なのかを切り分ける際に調査に有効な情報となります。
// 一例 //
今回はAP でWPA2-PSK のSSID を設定している際に無線クライアントが接続できない事例を無線キャプチャを用いてご紹介いたします。
一般的に、WPA2-PSK のSSID に無線クライアントが接続する際にAP とクライアント間では以下の様なやりとりが実施されます。
このやりとりの中のどこかで失敗していると、無線接続に失敗し、通信ができません。
以下の例では、WPA2-PSK で設定しているSSIDに接続が成功した時の例と失敗した時の例をご紹介します。
[ 成功例 ]
+ Event log
+ 無線キャプチャ
[ 失敗例 ]
+ Event log
+ 無線状況診断
+ 無線キャプチャ
失敗している際には、間違ったPSK を無線クライアント側で入力しているのですが、AP で設定しているパスワードと異なる場合、
EAPoL 4 way handshake が正常に完了せず、無線接続が正常に出来ていない事が分かります。
一般的なやりとりの図を参照にすると、本来であればAP からEAPoL M3 を送信するはずですが、
AP で設定されているパスワードと異なるため、AP は無線クライアントにEAPoL M3 を返していない事が確認できます。
この様に無線キャプチャを用いると、第3者からの観点でAP と無線クライアント間のやりとりが確認できるため、
トラブルシューティングを実施するにあたり、非常に有用な情報となります。
// 取得方法 //
今回私が使用した方法について、ご紹介します。
機種: MACBook Pro
Version: macOS Mojave (10.14.6)
1. Wireless Diagnostics を開きます。
2. Windows を選択し、’ Sniffer’ を選択してください。
3. チャネルとチャネル幅が選択する事ができるので、AP で使用している値を入力して下さい。
4.‘Start’ をクリックすると、無線キャプチャが開始されます。
無線キャプチャを終了すると、/var/tmp 配下に(null)_<チャネル>_<日付>_<時間>.pcap のファイルが自動で生成されます。