アプリ開発やネットワーク機器の不具合解析などでWiFi通信の内容を監視したい時があると思います。
WiFi通信内容の監視には、業務用の特殊な機器が必要と思っていませんか?
実は、ルータ1台/リピータハブ1台/PC1台があれば簡単に監視することができます。
今回は、ルータとハブを使ってWiFi通信内容の監視を行う方法をご紹介します。
※ご使用は不具合解析に限定してください。悪用厳禁でお願いします。
必要な機器・ソフト
必要な機器の一覧を記載します。
・ルータ
・リピータハブ (最近はあまり売られてないので、ミラー設定ができるスイッチングハブでも可)
・PC (キャプチャー用)
次に必要なソフトを記載します。
WireShark
システム構成
システム構成を図にします。
解説
モデムからルータまでは、一般的に家で使われている構成と同じです。
変わっているのは、ルータから下のリピータハブ部分になります。リピータハブは、スイッチングハブとは違い、ポートに入ってきたパケットをすべてのポートに複製する役割を持っています。
(ちなみにスイッチングハブは、パケットの中のMACアドレスを見て、一つのポートにだけパケットを転送します)
そのため、スマホの通信もPCに流れてきます。
このときPCは、自分のMACアドレス・IPアドレス宛の通信ではないため、通常の場合パケットを破棄しますが、WireSharkなどのパケットキャプチャソフトを使えば監視することができます。
リピータハブ配下のルータは、有線LANを無線LAN(Wifi)に変更するために使用しています。
USBタイプのNICを持っている場合、必要ないですが持っていない場合は変換する必要があります。
ルータを二個持っていない場合は、USBタイプのNICを購入しましょう。そちらのほうが安く手に入ります。
接続する
システム構成通り接続しましょう。
スマホのWifi接続先を新しく設置したルータにすることを忘れないでください。
スマホのIPアドレスを確認する
Androidの場合、[設定]→[システム]→[端末情報]→[端末の状態]などで見ることができます。
PCのWireSharkの設定を行う
監視する準備が出来ましたので、PCのWireSharkを使って監視していきます。
今回パケットを監視するスマホのIPアドレスを[192.168.0.201]とします。
まず、WireSharkを起動して、監視するNICを指定します。
監視がスタートしたら、スマホの通信だけを監視したいので、IPアドレスでフィルターをかけます。
今回は[ip.addr == 192.168.0.201]になります。(お好みでフィルターの中身を変えてください)
監視する
パケットキャプチャを開始したら、画面にパケットの情報がリアルタイムに更新されます。
これでWifiの通信を監視することができます。
まとめ
WiFiの通信を監視する方法について解説しました。
アプリの不具合解析や怪しいアプリの解析などを行うことができます。
是非お試しください。