やりたいこと
- 無線LAN AP(Aruba IAP)とWiFi端末間(無線区間)の通信をパケットキャプチャする。
環境・材料
- Wiresharkが入ったWindowsPC(以下,PC)。今回はWireshark4.0.2を使用。
- Aruba IAP(以下,IAP),今回はAruba instant 8.9.0.2(サポート契約なしで自動更新できたバージョン)を使用。
- PCとIAPがIPリーチャブルであること
- SW-HUBはミラーポート非対応でもOK。
- IAPはSSIDなどの設定が完了しており,WiFi端末がインターネットを利用できる状態になっていること。
キャプチャの概要
- IAPの設定で,無線インタフェースの送受フレーム(パケット)をミラーして,指定したIPアドレス(Wireshark入りのPC)に送りつけます。
- 送りつけるときにIAPは,フレームをPEEK形式でカプセリングし,さらにUDPでカプセリングします。PEEK形式とは,Airopeek・Ominipeekなどの商用アナライザの互換カプセリング形式のようです。
- Wiresharkで受け取ったパケットを,PEEK形式でデコードします。デコードすると,802.11の制御フレームや,WiFi端末が送受するIPパケットが見えるようになります。
キャプチャ前の事前調査(IAPのGUI管理画面で確認)
- キャプチャ対象のWiFi端末のMACアドレス。
- IAPクラスタリング環境の場合,WiFi端末が接続しているIAPの実IPアドレスを特定しておきます。
IAPからPCにフレームをミラーする
- IAPにsshします。ユーザ名とパスワードはGUIログインと同じです。クラスタ構成の場合,WiFi端末が接続している物理IAPにsshします。(仮想IPにsshすると,マスターになっている物理IAPに接続されてしまい,対象のWifi端末をキャプチャできません)
- show ap assosiationを実行します。
show ap assosiation
pcap start BSSID PCのIPアドレス 5555 1 10000
BSSIDとPCのIPアドレス以外は固定で大丈夫です。
補足すると,5555はPCに送りつけるUDPパケットのポート番号,1はPEEK形式の指定,10000は最大のフレーム長です。
ここまでの設定で,IAP側の準備は完了です。無線区間のフレームがミラーされて,PCに送信され始めます。なお,BSSIDはSSID毎の値なので,同じSSIDに接続されているWiFi端末のフレームは全てPCに送信されてしまうのでご注意下さい。
Wiresharkでキャプチャを見る
-
Wireshakを起動し,キャプチャオプションを表示します。
-
IAPからUDP/5555を送りつけられたインタフェースを特定し,キャプチャフィルタに「udp port 5555」を設定して開始します。
-
このままではただのバイナリデータなので,中身が分かりません。peek形式でデコードし,中身を見えるようにします。
-
無線区間のパケット・フレームが見えるようになります。他のAPのビーコンを拾っているようです。飛び交っているSSIDも見えます。
IAPからのキャプチャ送信を止める
-
IAP側は,ミラーを止めるまで延々とUDP/5555を送信し続けてしまうので,きちんとミラーを止めます。
-
IAPのCLIで「show pcap」を入力します。pcap-idとintfを確認します。
参考
独り言
- Arubaのサポートサイトにプロバイダのメールアドレスでアカウント登録できます(無料)。ここに,IAPのシリアル番号を入れると,最新のファームウェアが入手できるようになります。もちろんサポート契約不要です(ライフサイクルサポートらしいです)。Arubaさん太っ腹。ちなみに私はヤフオクで入手しましたが,前の所有者がシリアル登録していたかどうかは不明です。もしかしたら前の所有者が登録していたらダメかもしれません。