web-dev-qa-db-ja.com

Androidエミュレーター:ネットワークトラフィックを監視する方法は?

Androidエミュレータから送受信されるネットワークトラフィックを監視するにはどうすればよいですか?

116
mlindeboom

Androidエミュレーターからネットワークトラフィックを直接キャプチャするには2つの方法があります。

  1. エミュレータで ARM互換のtcpdumpバイナリ をコピーして実行し、SDカードに出力を書き込みます(例:tcpdump -s0 -w /sdcard/emulator.cap)。

  2. emulator -tcpdump emulator.cap -avd my_avdを実行して、エミュレーターのすべてのトラフィックをPC上のローカルファイルに書き込みます

どちらの場合でも、通常どおりtcpdumpまたはWiresharkでpcapファイルを分析できます。

96
Christopher Orr

また、httpプロキシを使用して、エミュレータからのhttp要求を監視することもできます。新しいエミュレータを起動するときに-http-proxyフラグを渡して、プロキシを設定し(例 burp )、Androidトラフィックを監視できます。使用例./emulator -http-proxy localhost:8080 -avd Android2.2。私の例ではBurpを使用しており、ポート8080をリッスンしていることに注意してください。詳細は here を参照してください。

20
Waltsu

OS Xの場合、 Charles を使用できます。シンプルで使いやすいです。

詳細については、 Android Emulator and Charles Proxy ブログ投稿をご覧ください。

10
Tom Susel

Android St​​udioの現在のリリースでは、-tcpdump引数が正しく適用されませんでした。関連するパラメーターを次のようにqemuに渡すことで、ダンプをキャプチャできました。

tools/emulator -engine classic -tcpdump dump.cap -avd myAvd
6
Tad

はい、wiresharkは動作します。

同じsrc IPから送信されるため、エミュレータトラフィックのみを除外する簡単な方法はないと思います。

おそらく最良の方法は、非常にむき出しのVMware環境をセットアップし、そこでのみエミュレーターを実行することです。少なくともそのような方法では、バックグラウンドトラフィックが多くなりすぎません。

5
Bitdivision

Fiddler を使用して、httpトラフィックを監視できます。

http://aurir.wordpress.com/2010/03/22/tutorial-getting-Android-emulator-working-with-fiddler-http-proxy-tool/

Fiddler2 here を使用することもできます。

4
Laramie

Wiresharkを直接使用してAndroidエミュレータトラフィックをキャプチャすることが可能になりました。 extcapと呼ばれるプラグインandroiddumpがあります。エミュレータで実行されるシステムイメージでtcpdump実行可能ファイル(ほとんどの現在のイメージにあり、API 24およびAPI 27イメージでテスト済み)およびadbdホストでrootとして実行する必要があります(実行するだけです) adb root)。 Wiresharkで使用可能なインターフェースのリスト(Qtバージョンのみ、非推奨のGTK +にはありません)またはtshark -Dで表示されるリストには、BluetoothをスニッフィングできるいくつかのAndroidインターフェースが必要です。 Logcat、またはWifiトラフィック、例:

Android-wifi-tcpdump-emulator-5554(Android WiFi Android_SDK_built_for_x86 emulator-5554)

3
Prof. Moriarty

http://docs.mitmproxy.org/en/stable/install.html を使用できます

セットアップが簡単で、追加の調整は必要ありません。

さまざまなツールを試してみましたが、本当に便利で簡単だとわかりました。

2
Dhiraj Himani

Android St​​udioからネットワークトラフィックを監視できます。 Android Monitorに移動し、[ネットワーク]タブを開きます。

http://developer.Android.com/tools/debugging/ddms.html

UPDATE:⚠️Android Device MonitorはAndroid St​​udio 3.1で廃止されました。詳細は https://developer.Android.com/studio/profile/monitor をご覧ください

2
Fivos

-avd Adfmf -http-proxy http://SYSTEM_IP:PORTコマンドでエミュレーターを起動できます。 HTTPアナライザーを使用しましたが、他のすべてで機能するはずです。詳細はこちらをご覧ください: http://stick2code.blogspot.in/2014/04/intercept-http-requests-sent-from-app.html

2
Paddy