Termux превратил Android‑устройства в полноценные Linux‑окружения. Благодаря пакетному менеджеру pkg (аналог apt) можно установить почти любые инструменты, привычные системным администраторам и аналитикам сетей. В этой статье мы соберём набор утилит, способных захватывать, декодировать и визуализировать сетевой трафик, а также покажем, как автоматизировать процесс.
Установка Termux и базовых пакетов
Сначала установите приложение Termux из F‑Droid (рекомендовано) или Google Play. После первого запуска обновите репозитории и установите набор базовых пакетов:
pkg update && pkg upgrade -y
pkg install -y root-repo unstable-repo
pkg install -y git curl wget vim
pkg install -y python clang make
pkg install -y tcpdump tshark nmap netcat-openbsd gnuplot
Если ваше устройство имеет root‑доступ, добавьте репозиторий root-repo – он содержит более «тяжёлые» инструменты (например, tcpdump с поддержкой libpcap).
Захват пакетов с помощью tcpdump
Для захвата трафика используем tcpdump. Он сохраняет данные в формате .pcap, совместимом со множеством анализаторов.
# Захват 60 секунд на интерфейсе wlan0 и запись в файл capture.pcap
sudo tcpdump -i wlan0 -w capture.pcap -G 60 -W 1
Опция -G указывает длительность захвата в секундах, а -W 1 ограничивает количество файлов‑срезов.
Декодирование и фильтрация с tshark
tshark – консольный аналог Wireshark. Он позволяет быстро извлечь интересующие поля без полной загрузки GUI.
# Вывести список всех протоколов в capture.pcap
tshark -r capture.pcap -q -z io,stat,0
# Вывести только HTTP‑запросы (метод GET)
tshark -r capture.pcap -Y "http.request.method == \"GET\"" -T fields -e ip.src -e http.host -e http.request.uri
Фильтр -Y использует язык дисплейных фильтров Wireshark, что делает запросы предельно точными.
Поиск открытых портов и сервисов с nmap
После захвата трафика часто требуется проверить, какие сервисы действительно работают на целевых хостах. nmap – универсальный сканер.
# Сканирование топ‑10 самых популярных портов на хосте 192.168.1.10
nmap -Pn -T4 -F 192.168.1.10
# Сканирование с детальной информацией о версиях сервисов
nmap -sV -p 1-1024 192.168.1.10
Тестирование соединения и передачи данных с netcat
netcat (или nc) удобно использовать для быстрой проверки открытых сокетов и передачи небольших файлов.
# Проверка доступности порта 80 на удалённом хосте
nc -zv 192.168.1.10 80
# Отправка файла test.txt на порт 12345 удалённого хоста
cat test.txt | nc 192.168.1.20 12345
Автоматизация процесса с помощью скриптов
Скомбинируем всё в небольшом Bash‑скрипте, который будет захватывать трафик, сразу же анализировать HTTP‑запросы и сохранять их в CSV‑файл.
#!/usr/bin/env bash
INTERFACE="wlan0"
CAP_FILE="$(date +%Y%m%d_%H%M%S)_capture.pcap"
CSV_FILE="http_requests.csv"
# 1. Захват 30 секунд
sudo tcpdump -i "$INTERFACE" -w "$CAP_FILE" -G 30 -W 1
# 2. Выделяем HTTP‑GET запросы
tshark -r "$CAP_FILE" -Y 'http.request.method == "GET"' \
-T fields -E separator=, -E header=y \
-e frame.time -e ip.src -e http.host -e http.request.uri \
> "$CSV_FILE"
echo "Анализ завершён. Результат в $CSV_FILE"
Скрипт можно запускать в фоне: bash capture_and_analyze.sh &.
Визуализация трафика с gnuplot
Для построения простых графиков (например, количество запросов по времени) удобно использовать gnuplot.
# Предположим, что в CSV уже есть колонку с меткой времени (epoch)
cat http_requests.csv | awk -F',' '{print $1}' | cut -d'.' -f1 | uniq -c > request_counts.txt
# Файл request_counts.txt имеет формат: количество время
gnuplot -persist <
Безопасность и рекомендации
- Не храните захваченные
.pcapфайлы без шифрования – они могут содержать чувствительные данные (логины, токены). - Запускайте
tcpdumpиtsharkтолько от имениroot(или черезtsudoв Termux) для доступа к сетевому интерфейсу. - Регулярно обновляйте пакеты:
pkg update && pkg upgrade -y. - При работе в публичных Wi‑Fi используйте VPN, чтобы избежать перехвата собственного трафика.
Заключение
Termux предоставляет возможности полноценного Linux‑окружения на смартфоне, что открывает путь к мобильному анализу сетевого трафика без необходимости в ноутбуке или отдельном сервере. Комбинация tcpdump, tshark, nmap, netcat и gnuplot покрывает весь цикл от захвата до визуализации. Автоматизируя процесс с помощью Bash‑скриптов, вы получаете быстрый и репродуцируемый инструмент для аудитов, обучения и исследования сетевых протоколов.
Если вам требуется более глубокий аудит, настройка постоянных мониторинговых решений или разработка кастомных аналитических модулей, команда RybinskLab готова помочь. Мы предоставляем услуги по:
- Разработке и интеграции специализированных скриптов для Termux.
- Проведению комплексных сетевых пенетеста.
- Обучению персонала работе с Linux‑инструментами на мобильных платформах.
- Поддержке и сопровождению инфраструктуры безопасности.
Свяжитесь с нами через контактную форму – мы поможем превратить ваш Android‑устройство в мощный центр анализа сетей.