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

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

Я пытался отфильтровать IP-адрес Android, а затем Mac-адрес безуспешно. Я уверен, что решение будет простым, но я пока не могу понять.

2 ответа

Решение

Виртуальные машины Genymotion имеют два сетевых адаптера в базовой конфигурации 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 обычно NAT для подключения к сети вашего хоста, обычно что-то вроде eth0 или же wlan0 на Ubuntu. Это обеспечивает доступ в Интернет для виртуальной машины. Если вы хотите увидеть, как ваша виртуальная машина взаимодействует с локальной сетью или Интернетом, выполните захват с помощью основного сетевого адаптера вашего хоста. К сожалению, когда виртуальная машина настроена на NAT, трафик вашей виртуальной машины будет иметь тот же IP-адрес, что и ваш хост, что затруднит фильтрацию. Если это вызывает проблему, выключите виртуальную машину, откройте VirtualBox напрямую (т.е. не запускайте Genymotion), измените Adapter 2 на "Bridged Adapter" и выберите текущий активный хост-адаптер в конфигурации сети виртуальной машины. Если ваша локальная локальная сеть использует DHCP (скорее всего), это позволит виртуальной машине получить собственный IP-адрес, который затем можно будет отфильтровать в Wireshark. Как только вы перезапустите виртуальную машину (из Genymotion Launcher), вы сможете узнать, какому адресу она была назначена adb shell ifconfig от хозяина. Ищу eth1 что соответствует VIrtualBox Adapter 2 (eth0 для adb подключение через VirtualBox Adapter 1).

Если вы используете Genymotion, захват трафика между хостом (т.е. вашим компьютером) и гостем (то есть, эмулятором Genymotion) очень прост.

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

Список интерфейсов WireShark

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

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

Другие вопросы по тегам