Мониторинг сетевой активности в Android телефонах


Я хотел бы контролировать сетевой трафик моего телефона Android. Я думал использовать tcpdump для Android, но я не уверен, что мне нужно скомпилировать для телефона.

другой вопрос заключается в следующем, если я хочу контролировать данные trafic для определенного приложения, есть ли команда для этого?

10 53

10 ответов:

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

Это приложения, о которых я говорил:

  • Shark: это небольшая версия wireshark для телефонов Android). Эта программа создаст *.pcap и вы можете прочитать с файлом в ПК с wireshark.
  • Shark Reader : эта программа позволяет читать *.pcap непосредственно в вашем телефоне Android.

приложение Shark работает с корневыми устройствами, поэтому, если вы хотите установить его, убедитесь, что у вас уже есть корневое устройство.

удачи ;)

Если вы делаете это из эмулятора вы можете сделать это так:

Run emulator -tcpdump emulator.cap -avd my_avd чтобы записать весь трафик эмулятора в локальный файл на вашем ПК, а затем открыть его в wireshark

есть аналогичный пост, который может помочь здесь

Примечание: tcpdump требует привилегий root, так что вам придется укоренить свой телефон, если это еще не сделано. Вот рука binary из tcpdump (это работает для моего Samsung Captivate). Если вы предпочитаете создавать свой собственный двоичный файл, инструкции здесь (да, вам, вероятно, потребуется перекрестная компиляция).

кроме того, проверьте Акула Для Root (инструмент захвата пакетов Android на основе tcpdump).

Я не верю, что tcpdump может контролировать трафик конкретный идентификатор процесса. В трассированием метод что Крис Стрэттон относится, кажется, больше усилий, чем его стоит. Было бы проще отслеживать конкретные IP-адреса и порты, используемые целевым процессом. Если эта информация неизвестна, захватите весь трафик в течение периода активности процесса, а затем просейте полученный pcap с Wireshark.

инструмент DDMS, включенный в Android SDK, включает в себя инструмент для мониторинга сетевого трафика. Он не обеспечивает такую детализацию, которую вы получаете от tcpdump и подобных инструментов низкого уровня, но все же очень полезен.

официальная документация:http://developer.android.com/tools/debugging/ddms.html#network

вам нужно будет укоренить телефон и перекрестно скомпилировать tcpdump или использовать чью-то уже скомпилированную версию.

вы могли бы найти его легче сделать эти эксперименты с эмулятором, в этом случае вы могли бы сделать мониторинг с хостинга ПК. Если вы должны использовать реальное устройство, другим вариантом было бы поместить его в сеть Wi-Fi, зависающую от вторичного интерфейса на коробке linux под управлением tcpdump.

Я не знаю с головы до ног, как бы вы пошли фильтрация по определенному процессу. Одно из предложений, которое я нашел в некоторых быстрых googling, - использовать strace в предметном процессе вместо tcpdump в системе.

для телефонов Android (без корня): - вы можете использовать это приложение tPacketCapture Это позволит захватить сетевой трафик для вашего устройства, когда вы включите захват. Смотрите этот url для получения более подробной информации о сети нюхают без укоренения устройства.

если у вас есть файл, который находится в .pcap формат вы можете использовать этот файл и анализировать трафик с помощью любого анализатора трафика, такого как Wireshark.

Также см. Этот пост для дальнейших идей на захват трафика мобильного телефона на wireshark

без root, вы можете использовать отладочные прокси, такие как Charlesproxy&Co.

захват пакетов является лучшим инструментом для отслеживания сетевых данных на android. Не нужно никакого корневого доступа и легко читать и сохранять вызовы на основе приложения. Проверьте этой из

общий подход заключается в вызове "cat / proc / net / netstat", как описано здесь:

статистика сети Android

попробуйте это приложение https://play.google.com/store/apps/details?id=app.greyshirts.sslcapture

мы можем просмотреть все сетевые коммуникации .. даже SSL зашифрованные сообщения.