Как отслеживать сетевой трафик, отправленный и полученный от моего эмулятора 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 и запустить только эмулятор там, по крайней мере таким образом не было бы слишком большого фонового трафика.
Ответ 5
Вы можете использовать Fiddler для отслеживания http-трафика:
Вы также можете использовать Fiddler2 здесь.
Ответ 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
Ответ 8
Вы можете отслеживать сетевой трафик из Android Studio. Откройте Android Monitor и откройте вкладку "Сеть".
Ответ 9
Вы можете использовать http://docs.mitmproxy.org/en/stable/install.html
Его легко настроить и не потребует никаких дополнительных настроек.
Я просматриваю различные инструменты, но считаю, что это действительно хорошо и легко.