我希望使用Wireshark捕获 Android 应用程序的 HTTP 消息。
我一直试图过滤出 Android 的 IP 地址,然后是 MAC 地址,但没有成功。 我相信这个解决方案很简单,但我还没有想出来。
我希望使用Wireshark捕获 Android 应用程序的 HTTP 消息。
我一直试图过滤出 Android 的 IP 地址,然后是 MAC 地址,但没有成功。 我相信这个解决方案很简单,但我还没有想出来。
Genymotion虚拟机在底层VirtualBox配置中有两个网络适配器,取决于您要查找什么,您应该捕获哪一个适配器。此外,一些细节(适配器名称等)取决于您使用的操作系统。但是,这些概念是相同的。
适配器1通常为vboxnet0
(如果您在Ubuntu上),是一个仅限主机的适配器,用于支持主机和VM之间的本地交互。在默认的Ubuntu设置中,这是192.168.56.0
网络。主机机器是192.168.56.1
,而VM通常从VirtualBox内置的DHCP服务器获取192.168.56.101
。此连接由Android Debug Bridge (ADB)用于将开发工具与VM连接起来。例如,这就是Eclipse ADT和Android Studio如何与VM通信以安装APK文件等的方式。当您执行adb shell
时,也会通过此网络连接。若想检查开发工具如何与VM通信,请在vboxnet0
(或等效适配器)上进行捕获。
Adapter 2 通常会使用NAT方式与您主机的网络连接,通常是Ubuntu上的 eth0
或 wlan0
。这为虚拟机提供了互联网访问功能。如果您想查看虚拟机如何与本地网络或互联网进行交互,请针对主机的主要网络适配器进行捕获。不幸的是,当虚拟机被NAT时,它的IP地址将与主机相同,这使得过滤变得困难。如果这造成了问题,关闭虚拟机,直接打开VirtualBox(即没有Genymotion启动器),将Adapter 2更改为“桥接适配器”,并在VM的网络配置中选择当前活动的主机适配器。如果您的本地LAN使用DHCP(很可能),这将允许虚拟机获取自己的IP地址,然后您可以在Wireshark中过滤该地址。一旦您重新启动虚拟机(从Genymotion Launcher),您就可以通过在主机上使用adb shell ifconfig
找到已分配给它的地址。查找对应于VIrtualBox Adapter 2的 eth1
(eth0
用于VirtualBox Adapter 1上的adb
连接)。
如果您使用Genymotion,捕获主机(即您的计算机)和客户端(即Genymotion模拟器)之间的流量非常简单。
ifconfig
检查VM的地址。应该有两个:eth0
对应VirtualBox Adapter 1(这是adb
连接的Host Only适配器)和eth0
对应VirtualBox Adapter 2(Internet连接的NAT或桥接适配器)。 - Paul Ratazzi