Intereting Posts
C2DM с PHP с использованием OAuth2.0 (ClientLogin устарел!) Как установить изображения для ScrollView вместо затухающих ребер? Java.lang.SecurityException:! @Too много сигналов тревоги (500), зарегистрированных с pid 10790 uid 10206 «Реальный объект удален» в logcat Динамическое изменение текста для кнопки «Действие» для Android Удалить неиспользуемые классы с помощью proguard для Android Как запускает доступ к пакету значков? Когда использовать акселерометр или гироскоп на Android IP-адреса или подсетей Google C2DM Отступы, потерянные с помощью тега <merge> с пользовательским составным компонентом Все ли Android-устройства содержат все предыдущие версии SDK? Как обращаться с уведомлением о появлении на Android, если он отображается автоматически GCM AsyncTask или Handler – какой из них лучше для трудоемкого сетевого взаимодействия и обработки? Как указать количество элементов списка в предварительном просмотре recyclerview в Android Studio? Как поместить курсор в определенное поле EditText?

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

Я хотел бы отслеживать сетевой трафик моего телефона Android. Я думал, используя tcpdump для 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.