Wi‑Fi‑сети остаются одной из самых популярных точек доступа к Интернету, однако их безопасность часто оставляет желать лучшего. С помощью Termux – полноценного Linux‑окружения на Android‑устройстве – и утилиты nmap можно быстро оценить состояние сети, обнаружить открытые порты, уязвимые точки доступа и собрать статистику для дальнейшего анализа.
В статье мы рассмотрим, как подготовить окружение, выполнить базовое сканирование, автоматизировать процесс и безопасно обработать результаты. Для полного понимания термина «начало сканирования» (англ. start) мы обратимся к авторитетным словарям:
- Cambridge Dictionary определяет start как «to begin doing something» dictionary.cambridge.org.
- Merriam‑Webster даёт схожее определение: «to begin a course or journey» merriam-webster.com.
- Dictionary.com описывает start как «to begin or set out, as on a journey or activity» dictionary.com.
- Oxford Learner's Dictionary подчёркивает, что start используется в значении «to begin doing or using something» oxfordlearnersdictionaries.com.
Подготовка окружения
Для начала установим Termux и необходимые пакеты. Рекомендуется использовать последнюю версию из Google Play или F‑Droid.
pkg update && pkg upgrade -y
pkg install git curl wget -y
pkg install nmap net-tools iproute2 -y
pkg install termux-api -y # для уведомлений и доступа к GPS (по желанию)
Переходим в режим мониторинга Wi‑Fi‑адаптера. На большинстве Android‑устройств это возможно только при наличии поддерживаемого чипа и драйвера, способного переключаться в monitor mode. В Termux используем утилиту airmon-ng из пакета aircrack-ng (устанавливается отдельно, если требуется).
pkg install aircrack-ng -y
airmon-ng start wlan0 # создаёт интерфейс wlan0mon
Базовое сканирование Wi‑Fi с помощью nmap
После включения режима мониторинга можно запускать nmap для сканирования целевых точек доступа. Пример сканирования всех устройств в подсети 192.168.1.0/24:
nmap -sn 192.168.1.0/24 -oX scan_initial.xml
Для более детального анализа уязвимостей используем скрипты NSE (Nmap Scripting Engine). Например, проверка наличия открытого порта 22 (SSH) и попытка определить версию:
nmap -p 22 --script ssh-version 192.168.1.0/24 -oX scan_ssh.xml
Автоматизация сканирования
Создадим bash‑скрипт wifi_scan.sh, который будет запускать сканирование, сохранять результаты и отправлять уведомление через termux-notification. Скрипт можно добавить в планировщик crond или выполнить при старте Termux.
#!/data/data/com.termux/files/usr/bin/bash
# Путь к директории с результатами
RESULT_DIR="$HOME/wifi_scans"
mkdir -p "$RESULT_DIR"
# Текущее время для уникального имени файла
TS=$(date +"%Y%m%d_%H%M%S")
# Выполняем сканирование сети (замените подсеть на свою)
NETWORK="192.168.1.0/24"
OUTPUT="$RESULT_DIR/scan_$TS.xml"
nmap -sn $NETWORK -oX "$OUTPUT"
# Если сканирование прошло успешно, отправляем уведомление
if [ $? -eq 0 ]; then
termux-notification --title "Wi‑Fi Scan" --content "Сканирование завершено: $OUTPUT"
else
termux-notification --title "Wi‑Fi Scan" --content "Ошибка сканирования!"
fi
Сделаем скрипт исполняемым и настроим планировщик:
chmod +x $HOME/wifi_scans/wifi_scan.sh
# Установка crond (если ещё не установлен)
pkg install cronie -y
# Добавляем задачу в crontab (каждый день в 03:00)
crontab -e
# В открывшемся редакторе добавляем строку:
0 3 $HOME/wifi_scans/wifi_scan.sh
# Запускаем демон cron
sv enable crond && sv start crond
Обработка и визуализация результатов
Для быстрого просмотра найденных устройств удобно преобразовать XML‑отчёт в человекочитаемый формат. Можно воспользоваться утилитой xsltproc или написать простой парсер на awk / grep.
# Пример простого вывода IP‑адресов и MAC‑адресов
grep ".xml | \
sed -E 's/.addr="([^"]+)".addrtype="ipv4".*/IP: \1/'
Для более продвинутой визуализации можно экспортировать данные в CSV и открыть их в приложении Termux:Widget или передать в облако (Google Drive, Nextcloud).
Этические и юридические аспекты
Сканирование чужих сетей без явного согласия считается незаконным в большинстве стран. Перед запуском сканирования убедитесь, что вы имеете право проводить проверку (например, собственная сеть или сеть, предоставленная заказчиком). Нарушение может привести к уголовной ответственности.
Заключение
Мы рассмотрели полный цикл создания автоматизированного решения для сканирования уязвимостей Wi‑Fi с помощью Termux и nmap: от установки окружения, через базовое и углублённое сканирование, до автоматизации и обработки результатов. Такое решение удобно использовать в полевых условиях, при проведении аудита безопасности или просто для периодической проверки домашней сети.
Если вам требуется более сложный аудит, написание кастомных скриптов, интеграция с SIEM‑системами или обучение персонала по вопросам кибербезопасности, обратитесь к специалистам RybinskLab. Мы предоставляем услуги по консалтингу, проведению penetration‑тестов и разработке автоматизированных решений под ваши задачи.