View on GitHub

PCAPdroid

User Guide

Оглавление > Расширенные возможности

4.1 DNS Сервер

Если в настройках PCAPdroid включен протокол IPv6, будет использоваться следующий IPv6 DNS сервер - 2001:4860:4860::8888.

Для IPv4 соединенией PCAPdroid старается определить каким DNS сервером пользуется устройство и использовать его. Это работает только на Android 6 (Marshmallow) и новее. Если же обнаружение не удается или основное подключение к сети (например 4G или WiFi) изменяется, будет использован DNS сервер 8.8.8.8 (от Google). Вы можете увидеть используемый на текущий момент DNS сервер в разделе “Показатели” бокового меню PCAPdroid.

4.2 Поддержка DoH

PCAPdroid обнаруживает и блокирует запросы DNS-over-HTTPS. Это необходимо для того чтобы извлечь и отобразить сам отправляемый DNS запрос. DNS запросы после этого отправляются в чистом виде.

4.3 Поддержка IPv6

PCAPdroid поддерживает протокол IPv6 с соединениями TCP/UDP. IPv6 должен быть вручную включен из настроек. По умолчанию IPv6 выключен, в этом случае никаких соединений по данному протоколу устанавливаться не будет до тех пор пока активен захват траффика в PCAPdroid. Когда IPv6 включен, весь одноадресный IPv6 траффик будет захватываться в PCAPdroid.

Во избежание получения ошибок соединений с меткой “Недоступно”, IPv6 должен быть включен исключительно если ваше основное соединение (т.е.. 4G или WiFi) действительно поддерживают IPv6. В целом Вы можете спокойно отключить IPv6 до тех пор пока вам не потребуется захватить траффик именно от IPv6 сервиса.

4.4 Захват траффика с правами Root

Начиная с версии 1.3.6, стало возможным перехватывать траффик напрямую с сетевого интерфейса, без использования VPN сервиса в системе. Это позволяет PCAPdroid работать даже тогда, когда запущены какие-либо VPN приложения. Однако для такой возможности необходимо устройство с Root-доступом.

В данном режиме PCAPdroid работает с траффиком напрямую. Это означает что перехватываются реальные пакеты в том виде, в каком они попадают на сетевой интерфейс. Это в свою очередь значит что ограничения описанные в разделе Надежность PCAP не распространяются на этот режим. Однако стоит помнить, что PCAPdroid пропускает некоторые заголовки чтобы предоставлять одинаковый формат PCAP независимо от используемого сетевого интерфейса.

Пока большинство сетевых инструментов наподобии tcpdump требуют от вас указать конкретный сетевой интерфейс, PCAPdroid автоматически определяет интерфейсы с доступом в сеть и перехватывает пакеты с них. Более того, PCAPdroid автоматически меняет интерфейс с которого ведется захват когда, например, устройство переключается с Wi-Fi на мобильную сеть.

Захват в Root-режиме может быть включен из настроек приложения. Этот пункт будет отображаться только если на устройстве будет обнаружен Root-доступ, поэтому если вы используете Magisk Hide, вам будет необходимо добавить PCAPdroid в его белый список. Root-права могут быть запрошены только после старта захвата. PCAPdroid создаст сервис посредством Root-прав и будет коммуницировать с этим сервисом для захвата пакетов. Сервис будет остановлен как только Вы завершите захват траффика в приложении.

Пожалуйста помните о следующих ограничениях, применимых к данному методу::

4.5 PCAPdroid Trailer

С версии 1.4.0, с добавлением опции PCAPdroid Trailer в настройках, стало возможным добавлять дополнительные мета-данные к пакетам в дампе. Такие метаданные включают в себя название приложения и системный идентификатор процесса (UID). Эта информация может обрабатываться из дампа сторонними средствами мониторинга, например Wireshark.

Используя плагин pcapdroid.lua указанные выше метаданные можно интерпретировать в Wireshark, отображая их в качестве столбцов и даже давая возможность применять их в фильтрах. Плагин должен быть расположен в папке для плагинов Wireshark или же может быть вручную загружен в linux из терминала с использованием опции -X lua_script:tools/pcapdroid.lua.

Когда trailer включен, к пакетам добавляется ложный Ethernet заголовок, для того чтобы инкапсулировать как сам PCAPdroid trailer, так и заголовок с оригинальным IP и данными. Это позволяет восстановить исходные данные простым пропуском Ethernet заголовка и удалением Ethernet trailer. В итоге Ethernet trailer дополняется нулями, пооэтому PCAPdroid trailer имеет 4-байтовое смещение. Ниже есть описание полей в добавляемом PCAPdroid trailer:

Смещение Размер (в байтах) Имя Тип Описание
0 4 magic uint32 Trailer magic: 0x01072021
4 4 uid int32 UID процесса, -1 если процесс незвестен
8 20 appname string Название приложения

Поле appname содержит название приложения, урезанное до 19 символов, что достаточно полезно для быстрого поиска траффика приложения без необходимости вручную сопоставлять приложения с их UID. Итоговый размер пакета с дополнительными метаданными составляет14 B (Ethernet) + 28 B (trailer) + 4 B (Ethernet FCS) = 46 B + дополнение. Дополнение варьируется от 0 до 3 байт.