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‑окружения, разработку кастомных скриптов анализа и обучение персонала работе с сетевыми инструментами.