We detected you are likely not from a Russian-speaking region. Would you like to switch to the international version of the site?

  Назад к списку статей

Автоматизированный сбор и анализ пакетов сети с помощью tcpdump + Wireshark в Termux

В мобильной среде Termux нередко возникает задача понять, что именно происходит в сети: к каким хостам обращается приложение, как формируется трафик, почему возникают задержки или ошибки, и какие протоколы участвуют в обмене. На практике надежный и воспроизводимый подход строится вокруг tcpdump для сбора трафика и дальнейшего анализа в Wireshark по сохранённым файлам pcap.

Ниже — профессиональный, прикладной сценарий автоматизированного сбора и анализа пакетов в Termux: от установки зависимостей до практичных фильтров, пакетной выгрузки и безопасных рабочих процедур.

Правовые и этические рамки

Сбор сетевых данных — чувствительная деятельность. В рамках законодательства РФ и корпоративных политик применяйте инструменты только:

  • на собственных устройствах и в собственной сети;
  • при наличии явного разрешения (например, в рамках тестирования или отладки, согласованной задачи);
  • без перехвата данных третьих лиц, если на это нет оснований и согласий.

Рекомендуемый принцип: фиксируйте трафик, относящийся к вашей системе/вашей инфраструктуре, и ограничивайте сбор временными окнами.

Что понадобится

  • Termux (Android)
  • Инструменты: tcpdump, Wireshark (обычно на ПК), утилиты для файлов и автоматизации
  • Компьютер для открытия pcap в Wireshark (Windows/Linux/macOS)

Важно: Wireshark на самом телефоне работает не всегда удобно. Надёжный путь — собрать трафик в Termux и открыть pcap на ПК.

Установка tcpdump и зависимостей в Termux

Начните с обновления пакетов и установки tcpdump. В Termux это обычно выглядит так:

pkg update -y
pkg upgrade -y
pkg install -y tcpdump

Для удобной работы с файлами и временем могут пригодиться дополнительные утилиты (по ситуации):

pkg install -y coreutils util-linux

Проверка доступности tcpdump:

tcpdump --version

Понимание интерфейсов и выбор точки захвата

Трафик бывает на разных интерфейсах: обычно это Wi‑Fi (например, wlan0) или мобильная сеть (иногда rmnet*). Узнать активные интерфейсы можно через ip:

ip link show

Для быстрого старта полезно вывести краткие данные о выбранном интерфейсе и попробовать «сухой» сбор в коротком окне.

Базовый захват трафика (pcap)

Сохраняйте трафик в pcap — это стандартный формат для Wireshark. Пример: захват на интерфейсе wlan0 длительностью 30 секунд:

mkdir -p /sdcard/pcap
cd /sdcard/pcap

INTERFACE=wlan0
TIMEOUT=30
OUT_FILE="capture_${INTERFACE}_$(date +%Y%m%d_%H%M%S).pcap"

tcpdump -i "$INTERFACE" -s 0 -w "$OUT_FILE" -G "$TIMEOUT" -W 1

Пояснение ключевых опций:

  • -i — интерфейс
  • -s 0 — захват полного пакета (без усечения)
  • -w — запись в pcap
  • -G и -W — разбиение по времени (в примере — один файл)

Автоматизация: сбор с метаданными и понятными именами файлов

Если вы регулярно анализируете сеть, удобно добавлять метки: интерфейс, время, цель (например, домен или IP) и ограничение по фильтру. Ниже пример скрипта, который создаёт pcap-файл с именем, отражающим фильтр.

Создайте файл, например /data/data/com.termux/files/home/pcap_capture.sh:

cat > pcap_capture.sh <<'EOF'
#!/data/data/com.termux/files/usr/bin/bash
set -euo pipefail

INTERFACE="${1:-wlan0}"
DURATION="${2:-30}"
FILTER="${3:-}"

OUT_DIR="/sdcard/pcap"
mkdir -p "$OUT_DIR"

TS="$(date +%Y%m%d_%H%M%S)"
SANITIZED_FILTER="$(echo "$FILTER" | tr ' /:"' '' | tr -cd '[:alnum:]_-.')"

if [ -n "$FILTER" ]; then
  OUT_FILE="capture_${INTERFACE}_${SANITIZED_FILTER}_${TS}.pcap"
else
  OUT_FILE="capture_${INTERFACE}_${TS}.pcap"
fi

echo "[+] Interface: $INTERFACE"
echo "[+] Duration: $DURATION sec"
[ -n "$FILTER" ] && echo "[+] Filter: $FILTER"
echo "[+] Output: $OUT_DIR/$OUT_FILE"

tcpdump -i "$INTERFACE" -s 0 -w "$OUT_DIR/$OUT_FILE" -G "$DURATION" -W 1 ${FILTER:+$FILTER}
EOF

chmod +x pcap_capture.sh

Запуск:

./pcap_capture.sh wlan0 30 "tcp port 443"

Фильтр передаётся как строка в стиле tcpdump. Важно подбирать фильтры корректно, чтобы не собирать лишние данные.

Фильтрация: что собирать и что исключать

Чем точнее фильтр, тем меньше размер pcap и тем быстрее анализ в Wireshark.

  • Только TCP:
tcp
  • Только HTTPS (443):
tcp port 443
  • Только трафик к конкретному IP:
host 192.0.2.10
  • Комбинация: HTTPS к конкретному IP:
tcp port 443 and host 192.0.2.10
  • Исключить лишний мусор (примерно): исключение ICMP:
not icmp

Практический совет: начинайте с широкого окна, затем сужайте фильтры под конкретную задачу.

Сбор на ограниченном объёме (контроль размера и усечение)

При нестабильной сети pcap может быстро разрастаться. Для управляемости используйте размер захвата -s. Например, захватывать первые 96 байт полезной части (достаточно для многих заголовков):

INTERFACE=wlan0
DURATION=30
OUT_FILE="capture_trunc_${(date +%Y%m%d_%H%M%S)}.pcap"

tcpdump -i "$INTERFACE" -s 96 -w "/sdcard/pcap/$OUT_FILE" -G "$DURATION" -W 1 tcp port 443

Если цель — восстановить полезную часть протокола, возможно потребуется -s 0.

Отображение в реальном времени и параллельное логирование

Для диагностических задач полезно видеть, что именно «летит» в моменте. Например, параллельно вывести краткую информацию на экран и сохранить pcap:

tcpdump -i wlan0 -s 0 -w /sdcard/pcap/live_demo.pcap tcp port 443

Если нужно добавить фильтрацию вывода в консоль, используйте stdout-логирование на стороне shell. Важно не усложнять пайплайны так, чтобы не потерять pcap целиком.

Перенос pcap на компьютер и открытие в Wireshark

Далее вы открываете файл .pcap в Wireshark на ПК. Метод переноса зависит от ваших привычек: USB, облачное хранилище, файловый менеджер или adb.

Обычно удобно найти файлы в каталоге /sdcard/pcap и скопировать их в рабочую папку на компьютере.

В Wireshark:

  • Откройте File -> Open и выберите pcap
  • Используйте строку фильтрации, например tcp.port == 443
  • Проверяйте потоки: Follow -> TCP Stream (для TCP)

Частые сценарии анализа

Вот типовые проверки, которые помогают быстрее получить ответ по проблеме:

  • Проверка рукопожатия TCP: есть ли SYN/SYN-ACK/ACK, нет ли повторных попыток.
  • Сегментация и ретрансляции: анализ повторов и задержек.
  • HTTP(S) поверх TCP: в зависимости от шифрования — акцент на метаданные (SNI, сертификаты, адреса, параметры сессии).
  • DNS-решение: если видно UDP/53 и запросы — оценка корректности резолвинга.

Типичные ошибки при сборе

  • Неправильный интерфейс: трафик не попадает, если выбрать не тот -i.
  • Слишком короткое окно: можно не поймать целевую операцию.
  • Чрезмерно широкий сбор: pcap становится большим и анализ затягивается.
  • Усечение слишком маленьким -s: теряются поля, нужные для разборов.

Рекомендованные практики безопасности

  • Ограничивайте время сбора: используйте параметры длительности.
  • Сужайте фильтры под задачу (IP/порт/протокол).
  • Не храните pcap дольше необходимости и не передавайте файлы без нужды.
  • Если требуется рабочая изоляция — допустимо создавать локальную сеть для тестов с использованием VPN только для локального взаимодействия, а не для обхода ограничений.

Пример «готового» рабочего набора команд

Ниже краткий набор, который часто используют для быстрой диагностики HTTPS-взаимодействий с конкретной целью.

# 1) Определите интерфейс (в примере предполагаем wlan0)
ip link show

# 2) Захват 45 секунд только HTTPS к IP-адресу
mkdir -p /sdcard/pcap

./pcap_capture.sh wlan0 45 "tcp port 443 and host 192.0.2.10"

# 3) После завершения откройте файл в Wireshark на ПК
# (копирование зависит от вашего устройства)

Заключение

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

Если вам нужно выстроить процесс анализа «под ключ» для ваших задач (от сценариев сбора до методики разборов и оформления отчётов), обращайтесь в РыбинскЛАБ — поможем организовать безопасный и эффективный workflow.

* Текст статьи подготовлен и структурирован с использованием технологий искусственного интеллекта. Проверен и доработан перед публикацией.

Нужна помощь с настройкой Termux, Linux и серверов?

Я оказываю ИТ-услуги: настройка серверов, автоматизация, безопасность, помощь с Linux и инфраструктурой. Материалы сайта — только в ознакомительных и образовательных целях.

Связаться со мной
Поддержать проект