如何监视从 Android 模拟器发送和接收的网络流量?
是的,金线鲨会起作用的。
我不认为有任何简单的方法可以过滤掉单独的模拟器流量,因为它来自同一个 src IP。
也许最好的方法是建立一个非常简单的 VMware 环境,只在那里运行模拟器,至少这样就不会有太多的后台流量。
有两种方法可以从 Android 模拟器捕获网络流量 直接:
在模拟器上复制并运行一个 与 ARM 兼容的 tcpdump 二进制文件,将输出写入 SD 卡,比如(例如 tcpdump -s0 -w /sdcard/emulator.cap)。
tcpdump -s0 -w /sdcard/emulator.cap
运行 emulator -tcpdump emulator.cap -avd my_avd将模拟器的所有流量写入 PC 上的本地文件
emulator -tcpdump emulator.cap -avd my_avd
在这两种情况下,您都可以像往常一样使用 tcpdump 或 Wireshark 分析 pcap 文件。
您可以使用 小提琴手来监视 http 流量:
Http://aurir.wordpress.com/2010/03/22/tutorial-getting-android-emulator-working-with-fiddler-http-proxy-tool/
您也可以使用 Fiddler2给你。
还可以使用 http 代理监视来自仿真器的 http 请求。当启动一个新的模拟器来设置代理(示例 打嗝)来监视 Android 流量时,可以传递 -http-proxy标志。示例用法 ./emulator -http-proxy localhost:8080 -avd android2.2。请注意,在我的示例中,我使用的是 Burp,它正在监听端口8080。更多信息可以找到 给你。
-http-proxy
./emulator -http-proxy localhost:8080 -avd android2.2
对于 OS X,你可以使用 查尔斯,它简单易用。
更多信息,请看 Android 仿真器和 Charles 代理博客文章。
您可以使用命令 -avd Adfmf -http-proxy http://SYSTEM_IP:PORT启动模拟器。 我使用 HTTP 分析器,但它应该可以用于其他任何事情。更多细节可以在这里找到: Http://stick2code.blogspot.in/2014/04/intercept-http-requests-sent-from-app.html
-avd Adfmf -http-proxy http://SYSTEM_IP:PORT
您可以从 Android Studio 监视网络流量。 进入 Android 监视器,打开网络选项卡。
Http://developer.android.com/tools/debugging/ddms.html
更新: 安卓设备监视器在安卓工作室3.1中已被废弃。更多 https://developer.Android.com/Studio/profile/Monitor 请参见
当前版本的 Android Studio 没有正确应用 -tcpdump参数。我仍然能够通过将相关参数传递给 qemu 来捕获转储,如下所示:
-tcpdump
tools/emulator -engine classic -tcpdump dump.cap -avd myAvd
你可以用 Http://docs.mitmproxy.org/en/stable/install.html
它很容易安装,不需要任何额外的调整。
我通过各种工具,但发现它真的很好,很容易。
现在可以直接使用 Wireshark 来获取 Android 模拟器流量。有一个称为 安卓转储的 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~插件,使之成为可能。您需要在模拟器上运行系统映像中的 tcpdump可执行文件(大多数当前映像都有这样的文件,通过 API 24和 API 27映像进行了测试) ,并且 adbd作为 root 用户在主机上运行(只需运行 adb root)。在 Wireshark 的可用接口列表(仅限于 Qt 版本,已废弃的 GTK + 没有)或者 ABc3显示的列表中,应该有几个允许嗅探蓝牙、 Logcat 或 Wifi 流量的 Android 接口,例如:
tcpdump
adbd
adb root
Android-WiFi-tcpdump-Simulator-5554(Android WiFi Android _ SDK _ build _ for _ x86 Simulator-5554)
我建议你用 金线鲨。
步骤: 安装 Wireshark。 选择您用于呼叫的网络连接(例如,如果您正在使用 Wifi,请选择它) 将有许多请求和响应,关闭额外的应用程序。 通常请求是绿色的,一旦您发现您的请求,复制目标地址,并使用上面的过滤器 通过输入目标地址键入 ip.dst==52.187.182.185。
步骤:
ip.dst==52.187.182.185
您可以使用上述 给你中的其他过滤技术来获得特定的流量。
虽然 Android Studio 的 App Inspection 的 网络检查员菜单对于跟踪网络请求很有帮助,但是我注意到它并不能跟踪所有的请求。这是 文件。
对于我所知道和使用的 android 仿真器,跟踪网络请求的最简单方法是 HTTP 工具包。它的设置非常快,并且有一个很好的用户界面(类似于 Chrome 开发工具的网络标签)来跟踪请求。
只需安装它,点击“ 通过 ADB 的 Android 设备”选项,接受模拟器(医生)中显示的提示。