Android emulatorでtcpdumpを取得

社内プロキシを通すためにAndroidのパケットログを取得する必要があり、
方法を調べたので忘れないようにまとめておく。

web proxyであればFiddlerを使うなどいろいろな方法があると思うが、
最も手っ取り早いのはemulatorでtcpdumpを取得してWiresharkとかで確認する方法だと思う。
結論から言ってしまうと、下記のコマンドでtcpdumpを取得できる。

emulator -tcpdump <出力ファイルパス> -avd <3.で調べたemulator名>

環境

Android Studio 3.1.3
OS Windows7(64bit)

手順

  1. SDKのインストールディレクトリを確認
    わからなければ、Android Studioを開きTools > SDK Managerから選択してパスを確認。

  2. SDKのインストールディレクトリ配下のemulatorへ移動

  3. 起動するemulatorの名称を下記のコマンドで確認
    emulator -list-avds

  4. 下記のコマンドでemulatorを起動
    emulator -tcpdump <ダンプを出力するファイルパス> -avd <3.で調べたemulator名>

  5. ダンプを取得するための操作をemulatorで実施

  6. emulatorを終了

  7. 取得したファイルをwiresharkとかに取り込んで確認

参考

-Monitoring Android network traffic
-Start the emulator from the command line  |  Android Developers