Android模拟器:如何监控networkingstream量?

如何监视从我的Android模拟器发送和接收的networkingstream量?

有两种方法直接从Android模拟器捕获networkingstream量:

  1. 在仿真器上复制并运行ARM兼容的tcpdump二进制文件 ,将输出写入SD卡(可能是tcpdump -s0 -w /sdcard/emulator.cap )。

  2. 运行emulator -tcpdump emulator.cap -avd my_avd将所有模拟器的stream量写入PC上的本地文件

在这两种情况下,您都可以使用tcpdump或Wireshark来分析pcap文件。

也可以使用http代理来监视来自仿真器的http请求。 当启动一个新的仿真器来设置代理(例如打嗝 )来监控Androidstream量时,您可以传递-http-proxy标志。 示例用法./emulator -http-proxy localhost:8080 -avd android2.2 。 请注意,在我的例子中,我使用Burp,它正在监听端口8080.更多信息可以在这里find。

对于OS X,您可以使用Charles ,它非常简单易用。

是的,wireshark将工作。

我不认为有任何简单的方法来过滤掉模拟器的stream量,因为它来自同一个src IP。

也许最好的办法是build立一个非常纯粹的VMware环境,并且只能在那里运行模拟器,至less不会有太多的背景stream量。

您可以使用Fiddler来监控httpstream量:

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

您也可以在这里使用Fiddler2。

当前版本的Android Studio没有正确应用-tcpdump参数。 我仍然能够通过将相关parameter passing给qemu来捕获转储,如下所示:

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

您可以使用命令-avd Adfmf -http-proxy http://SYSTEM_IP:PORT启动模拟器。 我使用HTTP分析器,但它应该为其他任何工作。 更多细节可以在这里find: http : //stick2code.blogspot.in/2014/04/intercept-http-requests-sent-from-app.html

您可以监控Android Studio的networkingstream量。 转到Android监视器并打开networking选项卡。

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

您可以使用http://docs.mitmproxy.org/en/stable/install.html

它易于安装,不需要任何额外的调整。

我经历了各种工具,但发现它很好,很容易。