root不要でAndroidのパケットキャプチャができるアプリ「tPacketCapture」
「見たいぜ!俺の Android がどんな通信してるのか、生で見たいんだぜ!」
ってことは割とちょくちょくあると思いますが、そんな諸氏にオススメしたいのが、root不要でパケットキャプチャできちゃうアプリ「tPacketCapture」です。
ダウンロードはこちらから。
Pro版(有料版)では無料版の機能に加え、指定アプリの通信だけを選択的にパケットキャプチャする機能が付いています。
機種によっては動かない可能性があるので、まずは無料版で試してから有料版を購入した方が良いでしょう。
tPacketCapture でAndroidの通信をキャプチャする
それでは早速、tPacketCapture を使って Android の通信内容をキャプチャしてみましょう。
アプリを立ち上げると下の画面になります。「CAPTURE」タップでパケットキャプチャ開始です。
tPacketCapture は Android の VPN接続機能を使ってパケットキャプチャする仕組みのため、こんな警告画面が出てきます。自己責任で「OK」をタップしましょう。
あとは普通にアプリを使ったり Chrome でブラウジングなどをすれば、バックグラウンドで通信内容がファイルに記録されていきます。
tPacketCapture の画面に戻ると、「Current File」に今回キャプチャしたファイル名とサイズが表示されるので確認しておきましょう。
パケットキャプチャを終了するには VPN を切断すればOK。
パケットキャプチャ中は、VPNを利用中であることを表す鍵アイコンが通知領域に表示されます。
VPNを切断するには、通知領域から「ネットワークが監視されている可能性があります」をタップして、(※VPN切断方法は端末・環境により変わります)
「VPNを無効にする」をタップすればOKです。
キャプチャしたファイルを転送する
tPacketCapture でキャプチャしたファイルは PC / Mac などに転送して、WireShark で開くのが見やすいと思います。
キャプチャファイルの転送は、「FILE LIST」タブの「Capture Files」一覧から対象の pcap 形式ファイルを長押しして、「共有」ボタンを押します。
あとは、Dropbox なり Google Drive なりを使って任意の場所にファイル転送するのが良いです。
かなりセンシティブな情報を含んでいる可能性があるので、うっかり公開しないよう、ファイルの転送先には気をつけた方が良いかもしれません。
キャプチャしたパケットをWiresharkで見る
Wireshark は非常に高機能なソフトなので、細かな使い方は割愛しますが、とりあえずキャプチャデータを開くには Wireshark の「File」→「Open」からキャプチャファイルを指定します。
たいていはパケットが多すぎてワケが分からないでしょうから、お目当ての電文を見つけるには Wireshark の Filter 機能で通信を絞りこむか、面倒なら有料版 tPacketCapture でキャプチャ対象アプリを絞ると良いでしょう。
Wireshark 上のフィルタ機能で対象IPアドレスで絞るなら、Filterに「ip.addr eq XXX.XXX.XXX.XXX」を指定します。また、HTTP通信だけを抜き出すなら、「tcp.port eq 80」を指定します。
また、パケットを右クリック→「Follow TCP Stream」すれば、こんな感じで複数パケットを見やすく1つにまとめてくれる機能もあります。
もっとも、80番ポートを覗くなら Chrome のデバッグ機能を使った方が便利とは思いますが…。
ちなみに、この画面で「Filter Out This Stream」を押すと、このストリームを除くパケットを絞込むことも可能。
最近は、通信が SSL/TLS で暗号化されているサービスも多いので中身をなかなか覗かしてはくれないと思いますが、技術的探究心を満たすには面白い道具にはなると思います。
検索用キーワード:モンスト、ぷよクエ