Оглавление > Расширенные возможности
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-прав и будет коммуницировать с этим сервисом для захвата пакетов. Сервис будет остановлен как только Вы завершите захват траффика в приложении.
Пожалуйста помните о следующих ограничениях, применимых к данному методу::
- SOCKS5 прокси не доступен. Это означает что использовать расшифровку TLS при захвате с root-правами невозможно.
- Ethernet-данные не будут отображены
- Доменные имена из DNS запросов отправленных посредством DNS-over-HTTPS не будут видны. Если Вам важно их видеть - отключите/запретите использование DNS-over-HTTPS в целевом приложении.
- Статусы соединений отображаемые PCAPdroid на текущий момент не соответствуют актуальным статусам соединений в linux
- Некоторые широковещательные/многоадресные соединения могут иметь некорректное направление траффика
- Если вы используете фильтр приложений, вы можете упустить DNS траффик генерируемый сервисом netd.
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 байт.