bricklifeのはてなブログ

気軽にブログ書くよ!

Android端末をポータブルなパケットキャプチャデバイスにする方法

いつでもどこでもパケットキャプチャしたい!

外出先や移動中でもWi-Fi端末の通信内容をパケットキャプチャしたいときってありますよね?

どうやろうか

Android端末をWi-Fiルータにしてその上でWireShark動かせばいいんじゃね?

そんなことできるの?

root化したIDEOSとShark for Rootでできた

IDEOSでキャプチャするまでの手順

  1. IDEOSをz4rootでroot化
  2. Shark for Rootをインストール
  3. Wi-FiテザリングをONにしてパケットキャプチャしたい端末をWi-Fi接続
    • テザリングはAndroid 2.2以降の端末なら純正でもいいけど、root化してるから他のでもOK
  4. Shark for Rootを起動してキャプチャしたいタイミングでStartボタンを押す
  5. キャプチャをやめたくなったらStopボタンを押す

SDカード上にキャプチャ結果=pcapファイルができた!

キャプチャできたパケットを解析するには?

Android上で見るにはShark Readerを使えばいいけど正直辛い
→ SDカード上のpcapファイルをPCにコピーしてWireShark使うほうが楽

TIPS

  • 通信するサーバがわかっている場合には、Shark for RootのParametersでフィルタを指定するとファイルサイズが抑えられて吉
    • デフォルトの「-vv -s 0」から「-vv -s 0 host 192.0.2.1」などに変更する
    • tcpdumpのパラメータと同じっぽい