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

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

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

Solutions Collecting From Web of "Мониторинг сетевой активности в телефонах Android"

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

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

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

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

Удачи 😉

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

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

Существует аналогичная должность, которая могла бы помочь ЗДЕСЬ

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

Кроме того, проверьте Shark For Root (инструмент захвата пакетов Android на основе tcpdump).

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

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

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

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

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

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

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

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

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

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

Packet Capture – лучший инструмент для отслеживания сетевых данных на Android. Для этого нет необходимости в корневом доступе и легко читать и сохранять вызовы на основе приложения. Проверьте это

Общим подходом является вызов «cat / proc / net / netstat», как описано здесь:

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

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

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