我想用wireshark捕获一个Android应用程序的http消息。
我试图过滤到android的ip地址,然后mac地址没有成功。 我确定解决方案很简单,但我还无法弄明白。
答案 0 :(得分:10)
Genymotion VM在底层VirtualBox配置中有两个网络适配器。你应该捕捉哪一个取决于你正在寻找什么。此外,一些细节(适配器名称等)取决于您正在使用的操作系统。但是,概念是相同的。
适配器1 ,如果您使用的是Ubuntu,通常为vboxnet0
,是一个仅限主机的适配器,用于支持主机与VM之间的本地交互。在默认的Ubuntu设置中,这是192.168.56.0
网络。主机为192.168.56.1
,VM通常最终从VirtualBox的内置DHCP服务器获得192.168.56.101
。 Android调试桥(ADB)使用此连接将开发工具与VM连接。例如,这就是Eclipse ADT和Android Studio能够与VM通信以安装APK等的方式。当您执行adb shell
时,您也通过此网络进行连接。 如果您想检查开发工具与VM通信的方式,请在vboxnet0
(或同等版本)上进行捕获。
适配器2 通常是NAT到主机的网络连接,通常是Ubuntu上的eth0
或wlan0
。这样可以为VM启用Internet访问。 如果您想了解您的VM如何与本地网络或Internet进行交互,请捕获主机的主网络适配器。不幸的是,当虚拟机处于NAT状态时,您的VM流量将具有与您的相同的IP主机,难以过滤。如果这会导致问题,请关闭VM,直接打开VirtualBox(即没有Genymotion启动程序),将Adapter 2更改为“Bridged Adapter”,然后在VM的网络配置中选择当前活动的主机适配器。如果您的本地LAN使用DHCP(可能),这将允许VM获取它自己的IP,然后您可以在Wireshark中过滤。重新启动VM后(来自Genymotion Launcher),您可以从主机中找出已使用adb shell ifconfig
分配的地址。查找对应于VIrtualBox适配器2的eth1
(eth0
用于通过VirtualBox适配器1进行adb
连接。
答案 1 :(得分:-1)
如果使用Genymotion,捕获Host(即您的机器)和Guest(即Genymotion Emulator)之间的流量非常简单。