Я прочитал документ, в котором предлагается подход к захвату сетевого трафика из определенного приложения для Android. Он говорит: "Мы использовали tcpdump для сбора всего сетевого трафика с виртуальной машины. Мы портировали утилиту strace на Android для регистрации каждого выполненного сетевого вызова в приложении. Мы определили все потоки, запущенные приложением, используя идентификатор процесса (pid) приложения. Основываясь на этой информации о потоке, мы можем отфильтровать трафик, который не является источником из приложения ". Но я до сих пор не могу знать принцип работы. Так как я могу захватить сетевой трафик из определенного приложения для Android? Спасибо за ответ.
Как захватить сетевой трафик из конкретного приложения для Android.
Ответ 1
Вы также можете использовать SandroProxy. Он также может захватывать поток приложений, который не учитывает настройки прокси-сервера android. Существует также возможность создавать файлы pcap для потока ssl. Одним из вариантов является также создание ssl, который может быть расшифрован с помощью wirehark.
Идея заключается в том, чтобы перехватывать поток http/https как обычный прокси или прозрачный прокси с помощью справки iptables, хранить его в виде запросов/ответов или файлов pcap и перенаправлять дальше на сервер.
Как определить, кто выполняет запросы: когда у вас есть открытый сокет для прокси, вы должны сопоставить информацию из /proc/net/tcp или /proc/net/tcp6, чтобы получить процесс uid. С помощью этого вы можете получить имена пакетов. Это может быть и больше.
Вы можете изучить, как создать собственный прокси-сервер и создать его из источников здесь:
http://code.google.com/p/sandrop/source/browse/projects/SandroProxyPlugin/readme.txt
--- отправлено SandroProxy support---