Мне любопытно узнать, как я могу определить URL-адрес API приложения Android (любое приложение, которое я установил), если оно вызывает вызовы API на какой-либо онлайн-сервер (например, служба RESTful). Я предполагаю, что мне нужно захватить пакеты на устройстве и, возможно, проанализировать их в Wireshark или что-то найти URL-адрес? Я достаточно компетентен в разработке Java/Android, но немного потерял, когда дело доходит до любого бизнеса сетевого анализа.
Обнаружив приложение Android, найдите URL-адрес API
Ответ 1
Вы можете сделать это с помощью WireShark. Я перечисляю шаги здесь
- Установите WireShark на свой компьютер
- Теперь нам нужно создать виртуальное устройство Android (AVD), поэтому мы будем загружать Android SDK с официального сайта. Android SDK поставляется с эмулятором для тестирования
- после настройки Android SDK создайте виртуальное устройство Android (AVD), на которое мы будем устанавливать приложение
- запустите это виртуальное устройство. вы можете использовать командную строку для запуска (
emulator @<AVD name>
) - после создания виртуального устройства установите приложение с помощью команды
adb install app_file_name.apk
- Теперь мы можем начать захват пакетов, поэтому я предлагаю закрыть другое приложение на вашем компьютере, которое использует сеть, чтобы наши захваченные пакеты были более релевантными.
- Теперь запустите Wireshark с правами root
-
выберите интерфейс, который вы хотите захватить и нажмите начать, чтобы начать захват.
-
Теперь начните использовать это приложение, чтобы пакеты передавались туда и сюда, и Wireshark его захватывал.
-
Если вы использовали приложение, охватывающее все виды деятельности, то вы можете остановить Wireshark для захвата пакетов.
-
Теперь начнем основной бизнес, чтобы тщательно анализировать пакеты, но не все пакеты полезны для нашей работы. так что давайте фильтровать пакеты, которые актуальны для вас. позволяет ваш IP-адрес 192.168.0.32 затем отфильтровать все пакеты, чей IP это. поэтому выражение фильтра будет
ip.addr==192.168.0.32
применить этот фильтр. тем не менее, мы применяем другой фильтр, чтобы перечислять только релевантные пакеты, поэтому возможно, что приложение обращается к API по протоколу HTTP, поэтому примените фильтр HTTP. выражение будетhttp
. Вы можете применить оба фильтра сразуip.addr==192.168.0.32 and http
нажмитеip.addr==192.168.0.32 and http
чтобы применить. -
внимательно посмотрите информацию о перечисленных пакетах, вы увидите много важных деталей, ключи API, файлы cookie и т.д.
Ответ 2
Очень быстрый метод.
Зайдите в PlayStore, найдите пакетный захват
Скачайте, установите и запустите.
Это легко, просто и быстро. Он предоставит вам подробную информацию об API, URL и ответ с их заголовками.
Это приложение следует концепции Packet Sniffing. Таким образом, это может не работать с такими защищенными приложениями, как WhatsApp, Facebook, Twitter.
ОБНОВЛЕНИЕ 1: Захват пакетов больше не доступен в playstore, попробуйте OS Monitor
Ответ 3
Использовать прокси-сервер отладки. Нажмите кнопку воспроизведения, и вы сможете захватывать URL-адреса и просматривать более подробную информацию.
https://play.google.com/store/apps/details?id=com.dans.apps.webd
Ответ 4
- установить виртуальную коробку и genymotion http://www.2daygeek.com/install-upgrade-oracle-virtualbox-on-ubuntu-centos-debian-fedora-mint-rhel-opensuse/ и http://www.2daygeek.com/install-genymotion-android-emulator-on-ubuntu-centos-debian-fedora-rhel-opensuse-arch-linux-mint/#
- Запустить genymotion. 3. после этого вы хотите установить ADV для Android.
- теперь запускает wirehark с правами доступа root