開発したアプリなど一覧

tPacketCapture と Wireshark で Android の通信を解析する

アフィリエイトリンクを含む場合があります

先日 ES File Explorer が怪しい通信をしているとの事で話題になりました。

ファイル管理ツール「ES ファイルエクスプローラー」に不正な通信の疑い | AndroidニュースやアプリのAppLab

記事だけではどういった通信をしているのか、何処と通信しているのかちょっとはっきりしませんでしたが検証された方がいるのでそちらのページを見たほうが良いでしょう。

ESファイルエクスプローラーが謎のIPアドレスへポート80番のアクセスをしているらしいので簡易的に調べてみた | まったりとlog残し

Android ではよくこういった事例を見聞きする事があるので自分でも検証ができるような環境を作ってみよう。

Android 端末で行われる通信を解析する

実際にパケットを解析する手順を簡単にではありますが書いてみます。

利用するアプリ

通信内容を見るにはパケットキャプチャツールを使用する必要があります。Windows や Mac では Wireshark が有名ですね。

Android では tPacketCapture というアプリを使用します。

root 権限不要でパケットキャプチャを行う事ができます。

ただ無料版ではどのアプリがどこへ通信しているのかわからないので、接続先を確認する為に IP Connect Searcher というアプリを別途利用しています。

頻繁にチェックするなら tPacketCapture の有料版を購入したほうが楽だと思います。

それとキャプチャした結果を見る為にパソコンに Wireshark をいれます。

Wireshark プロジェクト日本語トップページ - SourceForge.JP

全部インストールしたら準備はOKです。

パケットキャプチャする

解析したい通信を捕まえましょう。

まず Android で Ip Connect Searcher と tPacketCapture を起動します。Ip Connect Searcher は起動したらあとは勝手に動いてどのアプリがどこへ接続したのかを見てくれます。

tPacketCapture は手動でキャプチャ開始/停止を行う必要があります。開始はアプリを起動してすぐ見える Capture ボタンを押し、ダイアログに OK を押してたらキャプチャを開始できます。

tpacketcapture-start

例えば今回は ES File Explorer 初回起動時に怪しい通信を行っているらしい、という事なので tPacketCapture でキャプチャ開始 ->ES File Explorer 起動 -> 暫くしたらキャプチャ停止 というように操作していきます。

キャプチャの停止は通知バーより tPacketCapture を選択し、Disconnect を選択します。

tpacketcapture-end

キャプチャが終了したら tPacketCapture の画面から FILE LIST に移るとキャプチャの結果が pcap 形式で保存されています。これを長押しし、Dropbox などでパソコンに送りましょう。

tpacketcapture-share

Ip Connect Searcher のほうは起動しっぱなしなのでこの段階ではどこへアクセスしたのかが確認できると思います。

ES File Explorer の欄を見ると・・・なんか中国にアクセスしてるようですね。

ipconnectsearcher

202.108.23.200 というのが通信先のようですね。

pcap ファイルを Wireshark で確認する

キャプチャした結果である pcap ファイルをパソコンにもってこれたら Wireshark で開きましょう。ダブルクリックしたら Wireshark 起動すると思います。

wireshark

初めてみるとなんのこっちゃという感じですが・・・上から「一覧」「詳細」「詳細の16進数表示」です。

ごちゃごちゃしてるのでスッキリさせましょう。画面上部にある Filter 欄をうまく使う事で特定の通信のみを表示する事ができます。

先ほどわかった IP アドレスを元に、 Filter 欄に ip.dst == 202.108.23.200 と入力し、右側の Apply を押しましょう。

wireshark-filter(なんか画像間違えてるな...。)

この宛先のパケットのみが表示されるようになります。なんか HTTP でアクセスしているようですね...。

一覧のカラムより選択する事で2番目のカラムで詳細を見る事ができます。この結果だとアクセスはしているが上であげた記事のように gzip を送信しているといったログは見当たらないですね...。ES File Explorer の起動前にデータを消しただけじゃダメなのだろうか。再インストールしたり、Android 自体をリストアしたり、より長時間ログを取得するなどしてまた試すべきだろうが面倒くさい

ついでにいうと baidu フォルダも無いのでアプリのバージョンによって挙動が違うとかもあるかもしれない。あーくっそめんどくさいなぁもう。

また、上記記事であるように TCP Stream を利用する事でデータがより見やすくなります。

wireshark-tcpstream

メニューの Analyze -> Follow TCP Stream を選択すると以下のようなログが表示されます。

見やすいですね。

怪しい通信見つけたらぜひ試してみて下さい。

Sponsored Link

コメント

  1. […] tPacketCapture と Wireshark で Android の通信を解析する | Lonely Mobiler […]

タイトルとURLをコピーしました