Как захватить трафик эмулятора Genymotion с помощью WireShark?

Я хотел бы захватить с помощью wirehark одно из http-приложений приложения Android.

Я пытался отфильтровать ip-адрес Android, а затем адрес mac без успеха. Я уверен, что решение будет просто, но я еще не понял.

Ответ 1

Genymotion VM имеют два сетевых адаптера в базовой конфигурации VirtualBox. Какой из них вы должны захватить, зависит от того, что вы ищете. Кроме того, некоторые детали (имена адаптеров и т.д.) Зависят от того, какую ОС вы используете. Однако концепции идентичны.

Адаптер 1, обычно vboxnet0, если вы используете Ubuntu, - это адаптер только для хоста, используемый для поддержки локальных взаимодействий между хостом и виртуальной машиной. В настройке Ubuntu по умолчанию это сеть 192.168.56.0. Хост-машина 192.168.56.1, и виртуальная машина обычно заканчивает получение 192.168.56.101 из встроенного DHCP-сервера VirtualBox. Это соединение используется Android Debug Bridge (ADB) для подключения средств разработки с виртуальной машиной. Например, так как Eclipse ADT и Android Studio могут взаимодействовать с виртуальной машиной для установки APK и т.д. Когда вы выполняете adb shell, вы также подключаетесь к этой сети. Если вы хотите изучить, как ваши средства разработки взаимодействуют с вашей виртуальной машиной, выполните захват vboxnet0 (или эквивалент).

Адаптер 2 обычно подключается к вашему сетевому соединению хоста, обычно что-то вроде eth0 или wlan0 в Ubuntu. Это обеспечивает доступ в Интернет для виртуальной машины. Если вы хотите увидеть, как ваша виртуальная машина взаимодействует с локальной сетью или Интернетом, сделайте снимок с основного сетевого адаптера вашего хоста. К сожалению, когда VM является NAT, ваш трафик виртуальной машины будет иметь тот же IP-адрес, что и ваш хоста, что затрудняет фильтрацию. Если это вызывает проблему, выключите виртуальную машину, откройте VirtualBox напрямую (т.е. Без запуска Genymotion), измените адаптер 2 на "Мостовой адаптер" и выберите текущий активный хост-адаптер в конфигурации сети VM. Если ваша локальная локальная сеть использует DHCP (вероятно), это позволит виртуальной машине получить собственный IP-адрес, который вы затем можете фильтровать в Wireshark. После перезапуска виртуальной машины (из запуска Genymotion Launcher) вы можете узнать, какой адрес был присвоен adb shell ifconfig от хоста. Найдите eth1, который соответствует адаптеру VIrtualBox 2 (eth0 для подключения adb через адаптер VirtualBox 1).

Ответ 2

Если вы используете Genymotion, захват трафика между Host (например, вашей машиной) и Guest (i.e Genymotion Emulator) очень прост.

  • Поскольку Gennymotion использует Virtualbox для создания виртуальной среды, вы можете найти интерфейс vboxnet0, указанный в wirehark, выбрать его и записать весь трафик между гостевой (Genymotion) и хостом (ваша система).

WireShark Interface List

  • Если вы не хотите использовать WireShark для отслеживания трафика, вы также можете использовать Fiddler и настроить параметры прокси-сервера в Genymotion (добавление шагов прокси, описанных в Genymotion docs) в направлении Fiddler-running machine IP address and port.

  • И в Fiddler для захвата трафика сделайте этот параметр: Tools menu > Fiddler Options > Connections и отметьте Allow Remote Computers to connect box, а затем перезапустите Fiddler.