Android-эмулятор: как отслеживать сетевой трафик?

Как отслеживать сетевой трафик, отправленный и полученный от моего эмулятора Android?

Ответ 1

Существует два способа захвата сетевого трафика напрямую из эмулятора Android:

  • Скопируйте и запустите ARM-совместимый tcpdump двоичный файл на эмуляторе, записывая вывод на SD-карту, возможно (например, tcpdump -s0 -w /sdcard/emulator.cap).

  • Запустите emulator -tcpdump emulator.cap -avd my_avd, чтобы записать весь трафик эмулятора в локальный файл на вашем ПК.

В обоих случаях вы можете затем проанализировать файл pcap с помощью tcpdump или Wireshark как обычно.

Ответ 2

Также можно использовать http proxy для отслеживания HTTP-запросов от эмулятора. Вы можете передать флаг -http-proxy при запуске нового эмулятора для установки прокси (пример burp) для мониторинга трафика Android. Пример использования ./emulator -http-proxy localhost:8080 -avd android2.2. Обратите внимание, что в моем примере я использую Burp, и он прослушивает порт 8080. Более подробную информацию можно найти здесь.

Ответ 3

Для OS X вы можете использовать Charles, это прост и удобен в использовании.

Ответ 4

Да, wirehark будет работать.

Я не думаю, что есть простой способ отфильтровать только трафик эмулятора, поскольку он исходит от одного и того же src IP.

Возможно, лучшим способом было бы установить очень мизерную среду VMware и запустить только эмулятор там, по крайней мере таким образом не было бы слишком большого фонового трафика.

Ответ 6

В текущей версии Android Studio неверно применяется аргумент -tcpdump. Я все еще мог захватить дамп, передав связанный параметр в qemu следующим образом:

tools/emulator -engine classic -tcpdump dump.cap -avd myAvd

Ответ 7

Вы можете запустить эмулятор с помощью команды -avd Adfmf -http-proxy http://SYSTEM_IP:PORT. Я использовал HTTP-анализатор, но он должен работать для чего-то еще. Более подробную информацию можно найти здесь: http://stick2code.blogspot.in/2014/04/intercept-http-requests-sent-from-app.html

Ответ 9

Вы можете использовать http://docs.mitmproxy.org/en/stable/install.html

Его легко настроить и не потребует никаких дополнительных настроек.

Я просматриваю различные инструменты, но считаю, что это действительно хорошо и легко.