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

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

Анализ трафика в Termux с использованием Wireshark и tcpdump

Termux – мощный эмулятор терминала для Android, позволяющий запускать полноценную Linux‑среду. Благодаря пакетному менеджеру apt в Termux можно установить инструменты для сетевого анализа, такие как tcpdump и tshark (CLI‑версия Wireshark). В этой статье мы рассмотрим пошаговый процесс установки, захвата трафика и его последующего анализа.

Подготовка среды

Перед установкой убедитесь, что репозитории Termux обновлены, а пакеты находятся в актуальном состоянии.

apt update && apt upgrade -y

Для корректной работы сетевых утилит потребуется установить несколько дополнительных пакетов:

apt install -y root-repo
apt install -y libpcap libpcap-dev

Если у вас нет прав root на устройстве, tcpdump будет работать в режиме без привилегий, однако захват будет ограничен.

Установка tcpdump

Самый простой способ – установить готовый пакет из репозитория Termux:

apt install -y tcpdump

После установки проверьте версию:

tcpdump --version

Установка Wireshark (tshark)

Полноценный графический Wireshark в Termux невозможен без X‑сервера, однако удобен CLI‑инструмент tshark:

apt install -y tshark

Для работы tshark потребуется разрешить доступ к сетевому интерфейсу. В Termux это делается через termux-wifi-enable (если требуется) или предоставив права root:

tsu -c "setcap cap_net_raw,cap_net_admin=eip $(which tshark)"

Если tsu недоступен, установите его:

apt install -y tsu

Захват трафика с помощью tcpdump

Для начала определим доступные сетевые интерфейсы:

tcpdump -D

Обычно в Termux доступен интерфейс any (захват на всех доступных адаптерах) либо wlan0 для Wi‑Fi.

Пример базового захвата в файл capture.pcap (10 МБ максимум, чтобы не перегрузить память):

tcpdump -i any -c 1000 -w capture.pcap

Параметры:

  • -i any – захват со всех интерфейсов.
  • -c 1000 – остановить после 1000 пакетов.
  • -w capture.pcap – записать в файл в формате pcap.

Для захвата только HTTP‑трафика можно добавить фильтр BPF:

tcpdump -i any tcp port 80 -w http_capture.pcap

Онлайн‑анализ с помощью tshark

Если необходимо сразу увидеть содержимое пакетов без записи, используйте tshark:

tshark -i any -Y "http.request" -T fields -e ip.src -e http.host -e http.request.full_uri

Параметры:

  • -Y "http.request" – отображать только HTTP‑запросы.
  • -T fields – вывод в виде полей (удобно для скриптов).
  • -e – перечисление интересующих полей.

Для более детального анализа уже записанного файла:

tshark -r capture.pcap -Y "tls.handshake.type == 1" -V

Здесь -r указывает файл, а -V выводит подробный разбор пакетов.

Графический Wireshark через X‑сервер

Если нужен привычный интерфейс Wireshark, можно запустить его в X‑окне. Для этого понадобится один из X‑серверов для Android (например, XServer XSDL) и пакет wireshark-gtk из репозитория root-repo:

apt install -y wireshark-gtk

После установки запустите X‑сервер, экспортируйте переменную DISPLAY и запустите Wireshark:

export DISPLAY=:0
wireshark &

Обратите внимание, что графический Wireshark требует значительных ресурсов и может работать медленно на слабых устройствах.

Фильтрация и поиск в захваченных данных

Для быстрой навигации по файлу .pcap используйте встроенный язык фильтрации Wireshark/tshark. Примеры часто используемых фильтров:

  • Только IP‑адреса в подсети 192.168.1.0/24: ip.addr == 192.168.1.0/24
  • Только DNS‑запросы: dns.flags.response == 0
  • Только пакеты TCP с установленным флагом SYN: tcp.flags.syn == 1 and tcp.flags.ack == 0

Применить фильтр в tshark можно параметром -Y (display filter) или -f (capture filter).

Экспорт данных для дальнейшего анализа

Если необходимо передать захваченный файл на ПК, используйте scp, rsync или просто скопируйте файл через USB. Для экспорта в CSV:

tshark -r capture.pcap -T fields -E separator=, -e frame.time -e ip.src -e ip.dst -e http.request.full_uri > capture.csv

Полученный CSV легко импортировать в Excel, Google Sheets или любой скрипт на Python.

Типичные проблемы и их решения

  • Отсутствие прав доступа к интерфейсу: убедитесь, что запустили Termux с правами root (через Magisk или аналог) или используйте setcap как показано выше.
  • Большой размер файла pcap: ограничьте количество пакетов (-c) или используйте кольцевой буфер (-C).
  • Потеря пакетов в Wi‑Fi: включите режим мониторинга (если поддерживается) с помощью airmon-ng в Termux (требует совместимого драйвера).

Заключение

Termux предоставляет полноценную Linux‑среду, позволяющую использовать профессиональные инструменты анализа трафика, такие как tcpdump и tshark. Благодаря гибким возможностям фильтрации, экспорта и интеграции с графическим Wireshark, вы можете проводить глубокий сетевой аудит прямо со смартфона. При необходимости масштабировать решения, автоматизировать сбор данных или получать экспертную поддержку, обращайтесь к специалистам RybinskLab. Мы предлагаем настройку Termux‑окружения, разработку кастомных скриптов анализа и обучение персонала работе с сетевыми инструментами.

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

Поделиться знанием:

Нужна профессиональная помощь?

Меня зовут Усачёв Денис Евгеньевич. Я оказываю IT-услуги в Рыбинске и Ярославской области: настройка серверов, безопасность, автоматизация бизнеса.

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