Подтвердить что ты не робот

Как отслеживать запросы HTTP (get, post и т.д.), Которые приложение делает в android

В моем собственном приложении я использую различные сторонние SDK, которые делают сетевые вызовы (HTTP-запросы) в той или иной форме. Не редактируя этот код, могу ли я написать код отдельно в приложении для перехвата всех запросов GET и POST, которые делает мое приложение?

Я хочу записать эти HTTP-вызовы в своем приложении

Мне известно использовать Fiddler и инструменты прокси-сервера Charles, но это вне приложения, но это не сработает, потому что я не могу записать эти HTTP-вызовы в своем приложении.

Есть ли способ сделать это?

EDIT: я использую SDK Google Analytics и Facebook SDK в своем коде. Я хочу отслеживать все сетевые вызовы, которые эти SDK делают из моего приложения.

4b9b3361

Ответ 1

На неуправляемом телефоне вы можете использовать прокси-сервер android OS и перенаправить трафик. Но некоторые приложения не уважают его. Делает прямые соединения. Некоторая настройка может быть выполнена. Используйте Drony с режимом VPN, чтобы перенаправить весь трафик на SandroProxy. Вот видео, как захват, а затем трафик с SandroProxy SandroProxy с Chrome devtools SandroProxy также может захватывать файлы pcapfiles. Может также сделать ssl mitm на поток pcap. от поддержки SandroProxy

Ответ 2

Прокси-сервер Charles - хороший способ.

Другие включают, если приложение использует одноэлементный сетевой класс (который в идеале должен), сделать одну функцию для получения и одну для сообщения. Вызовите эти функции из своих классов и используйте log.d для вывода данных на консоли. Вы можете отслеживать запрос ответа или время.

Ответ 3

Если вы специально ищете свое приложение для записи HTTP-вызовов. Библиотека Android Snooper может быть решением, которое вы ищете.

Ответ 4

Вы считали Стето?

http://facebook.github.io/stetho/

Вы можете отслеживать и изменять все входящие и исходящие запросы, между прочим.

Ответ 5

Если вы запускаете устройство или запускаете debug (adb), возможно, это поможет: http://code.tutsplus.com/tutorials/analyzing-android-network-traffic--mobile-10663

Иначе я не думаю, что это возможно сделать то, что вы хотите сделать. Но вы можете контролировать общие сетевые вещи, например:

Для всех характеристик трафика см.:
https://developer.android.com/reference/android/net/TrafficStats.html (просто введите идентификатор пользователя вашего приложения)

Для мониторинга состояния сети:
https://developer.android.com/reference/android/net/ConnectivityManager.html

Ответ 6

https://github.com/jgilfelt/chuck/

он добавляет новое приложение, отправляющее уведомления при каждом сетевом запросе, и вы можете увидеть подробности запроса.

https://github.com/facebook/stetho

он позволяет вам использовать инструменты chrome dev для отслеживания ваших запросов, созданных в приложении Android. (среди других интересных функций)