В моем собственном приложении я использую различные сторонние SDK, которые делают сетевые вызовы (HTTP-запросы) в той или иной форме. Не редактируя этот код, могу ли я написать код отдельно в приложении для перехвата всех запросов GET и POST, которые делает мое приложение?
Я хочу записать эти HTTP-вызовы в своем приложении Мне известно использовать Fiddler и инструменты прокси-сервера Charles, но это вне приложения, но это не сработает, потому что я не могу записать эти HTTP-вызовы в своем приложении. Есть ли способ сделать это? EDIT: я использую SDK Google Analytics и Facebook SDK в своем коде. Я хочу отслеживать все сетевые вызовы, которые эти SDK делают из моего приложения.
atmaish 03 окт. 2015, в 11:35
Поделиться
Вы хотите перехватить запрос или ответ?
Pedro Lobito 03 окт.
2015, в 09:22
Опубликуйте некоторые детали вашего текущего тестового кода или примеры того, что вы пробовали. Также объясните, почему вам нужно использовать сторонние SDK вместо встроенных методов.
HTTP протокол. HTTP запросы и ответы. Как отследить HTTP запросы?
Tigger 03 окт. 2015, в 09:24
Источник: overcoder.net
Блог
Как отслеживать сетевые запросы, выполняемые приложением Python
- Post author: admin
- Запись опубликована: 28 августа, 2022
- Post category: Вопросы по программированию
#python #python-3.x #request
#python #python-3.x #запрос
Вопрос:
Что было бы хорошим способом отслеживать сетевые запросы, выполняемые из приложения Python, так же, как это делает консоль браузера (обычно на вкладке «Сеть»)?
В идеале это должно отображать такую информацию, как:
- запрошенный URL-адрес
- заголовки
- полезная нагрузка (если таковая имеется)
- время отправки запроса
- время получения ответа
- заголовки ответов и полезная нагрузка
- временная шкала
Это в основном для целей отладки, поскольку фактические запросы, которые я хочу отслеживать, выполняются сторонним импортом. Очевидно, что богатая консоль, похожая на сетевые вкладки Chrome или Safari, была бы абсолютной мечтой, но в режиме командной строки также могут быть некоторые «функциональные эквиваленты».
Обновление: использование macOS с корневым доступом
1. имеет ли tcpflow отношение PID к нему не обрезать его? вам нужно что-то с веб-интерфейсом? Если это так — создание собственного приложения flask путем добавления в ваш request код пользовательского замыкания, которое может отслеживать соответствующие данные и сбрасывать их в таблицу, не должно быть слишком сложным
2.
Google Trends: как анализировать популярность запросов и находить горячие темы
Вам потребуется больше деталей, например, таких как ОС, сетевая библиотека, используемая этими сторонними библиотеками, поскольку общий подход может оказаться нежизнеспособным, если используется смесь библиотек (особенно если они используют собственные расширения библиотеки). Если ваши зависимости специфичны (например requests ), вы, вероятно, можете вводить / переопределять определенные перехваты, чтобы узнать, как они используются.
Если вы используете Linux (или * nix), гораздо более общим решением является использование strace , а затем анализ зарегистрированных выходных данных.
3. Вы спрашиваете, как это сделать, или ищете рекомендации по инструментам? Потому что первое слишком широкое, а второе не по теме.
Ответ №1:
Без подробной информации об операционной системе, в которой вы ее используете, и о том, есть ли у вас root-доступ, трудно дать окончательный ответ.
Источник: programbox.ru
Как отслеживать запросы HTTP (получение, публикация и т. Д.), Которые мое приложение выполняет в android
В моем собственном приложении я использую различные сторонние SDK, которые в той или иной форме выполняют сетевые вызовы (HTTP-запросы). Могу ли я написать код отдельно в приложении, не редактируя этот код, для перехвата всех запросов GET и POST, которые делает мое приложение?
Я хочу записывать эти HTTP-вызовы в своем приложении
Мне известно об использовании Fiddler и прокси-инструменты Charles, но это выходит за рамки app, но это не сработает, потому что я не могу записывать эти HTTP-вызовы в своем приложении.
Как это сделать?
РЕДАКТИРОВАТЬ: Я использую в своем коде SDK Google Analytics и Facebook SDK. Я хочу отслеживать все сетевые вызовы, которые эти SDK делают из моего приложения
atmaish 3 Окт 2015 в 12:19
7 ответов
Лучший ответ
На телефоне без рута вы можете использовать прокси для ОС Android и перенаправлять трафик. Но некоторые приложения этого не уважают. Устанавливает прямые связи. Некоторые настройки могут быть выполнены. Используйте Drony с режимом VPN для перенаправления всего трафика на SandroProxy. Вот видео, как захватить трафик с помощью SandroProxy.
SandroProxy с инструментами разработчика Chrome SandroProxy также может захватывать файлы pcap. Также можно сделать ssl mitm в потоке pcap. из поддержки SandroProxy
SandroProxy support 20 Окт 2015 в 05:11
Попробуйте HTTP Toolkit — это инструмент с открытым исходным кодом, который я создавал именно для этого. Он может автоматически перехватывать трафик с устройства Android без необходимости ручной настройки, а затем позволяет вам проверять и перезаписывать весь HTTP-трафик с вашего компьютера, например:
Чтобы перехватить HTTPS-трафик из вашего приложения, вам просто нужно либо а) доверять «пользовательским» сертификатам в конфигурации сетевой безопасности вашего приложения (см. https: //stackoverflow.com/a/38770284/68051) или б) использовать эмулятор или корневое устройство (в этом случае HTTP Toolkit может ввести «системный» сертификат, которому ваше приложение будет доверять автоматически).
Tim Perry 24 Сен 2020 в 16:40
Иначе я не думаю, что можно делать то, что ты хочешь делать. Но вы можете отслеживать общие сетевые вещи, например:
Всю статистику трафика см. Здесь:
https://developer.android.com/reference/android/net/TrafficStats. html (просто укажите идентификатор пользователя вашего приложения)
Vadim Kotov 6 Июл 2017 в 15:04
Он добавляет новое приложение, которое отправляет уведомления каждый раз, когда делается сетевой запрос, и вы можете видеть детали запроса.
Он позволяет использовать инструменты разработчика Chrome для отслеживания запросов, созданных из приложения Android. (среди других интересных функций)
Matias Elorriaga 8 Апр 2017 в 18:51
Вы думали о Стето?
Помимо прочего, вы можете отслеживать и изменять все входящие и исходящие запросы.
FrostRocket 8 Апр 2017 в 18:35
Если вы специально ищете, чтобы ваше приложение могло записывать HTTP-вызовы. Библиотека Android Snooper может быть тем решением, которое вы ищете.
Prateek Jain 8 Апр 2017 в 18:09
Прокси Чарльза — хороший способ.
Другие включают, если приложение использует одноэлементный сетевой класс (что в идеале должно), сделать одну функцию для получения и одну для публикации. Вызовите эти функции из своих классов и используйте log.d для вывода данных на консоль. Вы можете отслеживать ответ на запрос или затраченное время.
Источник: question-it.com