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

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

Автоматизированный аудит сетевой инфраструктуры с Nmap, Masscan и OpenVAS в Termux с уведомлениями в Telegram Bot API

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

Важно: ниже описывается аудит и проверка безопасности только там, где у вас есть право на тестирование (ваша сеть, инфраструктура компании по договору, разрешения от владельцев). Любое сканирование третьих лиц без согласия может нарушать законодательство РФ и правила доступа.

Нормативно-правовой и этический контур

При использовании инструментов сканирования (Nmap, Masscan, OpenVAS) соблюдайте принципы:

  • Согласие: получайте письменное разрешение на тестирование либо действуйте в отношении собственного оборудования.
  • Ограничение воздействия: выбирайте умеренные параметры нагрузки, используйте безопасные профили и отсечки по времени.
  • Прозрачность: фиксируйте цель аудита, диапазоны адресов, время проведения и ответственных лиц.

В контексте Termux возможно подключение через VPN только для создания локальной сети (например, для доступа к внутренним ресурсам в рамках своей инфраструктуры), но не для обхода блокировок или ограничений.

Архитектура решения: скрипты, результаты и уведомления

Цель — собрать понятный конвейер:

  1. Подготовка окружения в Termux.
  2. Сбор “активов” и базовой топологии: Nmap (обнаружение хостов/портов).
  3. Быстрое измерение по диапазону: Masscan (в разрешённых рамках), чтобы быстро сузить список.
  4. Проверка уязвимостей: OpenVAS (с фокусом на разрешённые мишени).
  5. Формирование отчёта (файлы + краткие итоги).
  6. Уведомление в Telegram через Telegram Bot API.

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

Подготовка Termux: пакеты и структура проекта

Создадим рабочую директорию и подготовим базовые зависимости. В Termux обычно используется менеджер пакетов; команды могут отличаться в зависимости от версии Termux/репозиториев, поэтому ниже — шаблон.

termux-setup-storage
pkg update && pkg upgrade -y
pkg install -y git python curl wget

Структура проекта:

mkdir -p ~/net-audit/{scripts,results,logs}
cd ~/net-audit

Получение и установка инструментов

Технически Nmap и Masscan чаще доступны через репозитории Termux/доп. источники, а OpenVAS — отдельная история: он тяжёлый по ресурсам и обычно запускается как сервис в изолированной среде (например, в контейнере/виртуалке). В рамках Termux корректнее рассматривать OpenVAS как удалённый endpoint либо запуск в другой системе, а Termux — как управляющее устройство, собирающее результаты и отправляющее отчёты.

Ниже — схема “управление из Termux + OpenVAS где-то ещё”, что реалистичнее по требованиям к производительности.

Практический модуль 1: Nmap-сканирование (обнаружение и инвентаризация)

Для легитимного аудита начинайте с умеренных профилей: определение хостов и базовая проверка портов. Запишите цель в переменную, чтобы не ошибиться диапазоном.

nano ~/net-audit/scripts/run_nmap.sh

Содержимое скрипта (шаблон):

#!/data/data/com.termux/files/usr/bin/bash
set -euo pipefail

TARGET_CIDR="${1:-192.168.1.0/24}"
OUT_DIR="$HOME/net-audit/results/nmap_$(date +%Y%m%d_%H%M%S)"
mkdir -p "$OUT_DIR"

LOG_FILE="$HOME/net-audit/logs/nmap_$(date +%Y%m%d_%H%M%S).log"

echo "[] Nmap start: $TARGET_CIDR" | tee "$LOG_FILE"

nmap -Pn --reason --open -T3 
  "$TARGET_CIDR" 
  -oN "$OUT_DIR/nmap_normal.txt" 
  -oX "$OUT_DIR/nmap_normal.xml" 
  | tee -a "$LOG_FILE"

echo "[] Nmap done. Results: $OUT_DIR"

Сделайте скрипт исполняемым и запустите, указав разрешённый диапазон:

chmod +x ~/net-audit/scripts/run_nmap.sh
~/net-audit/scripts/run_nmap.sh 192.168.1.0/24

Почему так: Nmap отдаёт удобные артефакты -oN/-oX, которые легче прикреплять к отчётам и анализировать.

Практический модуль 2: Masscan (быстрое измерение по разрешённым диапазонам)

Masscan предназначен для высокой скорости. Это одновременно плюс и риск: используйте только в пределах разрешений и с аккуратной настройкой скорости/лимитов.

Если Masscan доступен в вашей среде Termux, подключите его аналогичным образом. Шаблон скрипта:

nano ~/net-audit/scripts/run_masscan.sh
#!/data/data/com.termux/files/usr/bin/bash
set -euo pipefail

TARGET_CIDR="${1:-192.168.1.0/24}"
OUT_DIR="$HOME/net-audit/results/masscan_$(date +%Y%m%d_%H%M%S)"
mkdir -p "$OUT_DIR"

LOG_FILE="$HOME/net-audit/logs/masscan_$(date +%Y%m%d_%H%M%S).log"

echo "[] Masscan start: $TARGET_CIDR" | tee "$LOG_FILE"

# Пример: ограничьте сценарий умеренно; конкретные параметры подбирайте под вашу политику
# и разрешение на тестирование.
masscan "$TARGET_CIDR" 
  -p1-1024 --rate 5000 
  --wait 10 
  -oL "$OUT_DIR/masscan_grepable.txt" 
  | tee -a "$LOG_FILE"

echo "[] Masscan done. Results: $OUT_DIR"

Запуск:

chmod +x ~/net-audit/scripts/run_masscan.sh
~/net-audit/scripts/run_masscan.sh 192.168.1.0/24

Примечание: --rate и набор портов должны соответствовать согласованным условиям. Для “тихих” проверок уменьшайте интенсивность, сокращайте диапазоны и добавляйте окна по времени.

Практический модуль 3: OpenVAS (проверка уязвимостей в разрешённой среде)

OpenVAS (GVM) обычно запускается как сервер/сервис и требует ресурсов. Оптимальная архитектура для Termux: Termux запускает сценарии, а OpenVAS сервер выполняет сканы и возвращает отчёты (XML/HTML/PDF) по доступным API/инструментам.

С практической стороны важно сделать следующее:

  • Настроить сервер OpenVAS в вашей инфраструктуре (где есть право тестировать).
  • Подготовить скан-таргеты/группы в конфигурации OpenVAS.
  • Выработать способ получения “готовых отчётов” (папка/запрос).
  • С Termux — лишь управлять запуском и забирать артефакты.

Ниже пример “обвязки” (без привязки к конкретному API, так как варианты зависят от вашей установки). Шаблон демонстрирует логику конвейера, а не точную команду для вашего окружения:

nano ~/net-audit/scripts/run_openvas.sh
#!/data/data/com.termux/files/usr/bin/bash
set -euo pipefail

# Пример: адрес OpenVAS-сервера внутри вашей сети
OPENVAS_HOST="${OPENVAS_HOST:-192.168.1.50}"
OPENVAS_TASK="${OPENVAS_TASK:-audit-internal}"

TARGET="${1:-192.168.1.0/24}"

OUT_DIR="$HOME/net-audit/results/openvas_$(date +%Y%m%d_%H%M%S)"
mkdir -p "$OUT_DIR"

LOG_FILE="$HOME/net-audit/logs/openvas_$(date +%Y%m%d_%H%M%S).log"

echo "[] OpenVAS start (managed) on host: $OPENVAS_HOST" | tee "$LOG_FILE"
echo "[] Target: $TARGET" | tee -a "$LOG_FILE"

# TODO: Замените на ваш корректный механизм запуска таска в GVM/OpenVAS
# Например, через локальный клиент, API или подготовленные сценарии.
# Пример-заглушка:
sleep 2
echo "openvas: start task '$OPENVAS_TASK' for '$TARGET' ..." | tee -a "$LOG_FILE"

# TODO: Замените на реальное получение отчёта.
# Пример-заглушка:
echo "openvas: collecting report into '$OUT_DIR' ..." | tee -a "$LOG_FILE"
echo "<report>placeholder</report>" > "$OUT_DIR/openvas_report.xml"

echo "[] OpenVAS done. Results: $OUT_DIR"

Запуск:

chmod +x ~/net-audit/scripts/run_openvas.sh
~/net-audit/scripts/run_openvas.sh 192.168.1.0/24

Если вы расскажете, какая именно у вас схема установки OpenVAS/GVM и как вы запускаете задачи (CLI/APIs/контейнер), я помогу привести этот шаблон к вашему конкретному варианту.

Уведомления в Telegram Bot API: быстро и прозрачно

Для уведомлений нужен Telegram bot (token) и идентификатор получателя (chat_id). Дальше Termux отправляет короткое сообщение (и при необходимости — ссылку или прикрепление отчёта, если это поддерживается вашим подходом).

Шаблон Python-скрипта отправки сообщения:

cat > ~/net-audit/scripts/tg_notify.py <<'PY'
import os
import sys
import requests

TOKEN = os.environ.get("TG_BOT_TOKEN", "")
CHAT_ID = os.environ.get("TG_CHAT_ID", "")
TEXT = sys.argv[1] if len(sys.argv) > 1 else "Net audit update"

if not TOKEN or not CHAT_ID:
    print("Set TG_BOT_TOKEN and TG_CHAT_ID env vars", file=sys.stderr)
    sys.exit(1)

url = f"https://api.telegram.org/bot{TOKEN}/sendMessage"
resp = requests.post(url, json={"chat_id": CHAT_ID, "text": TEXT}, timeout=30)
resp.raise_for_status()
print("OK")
PY

Экспорт переменных:

export TG_BOT_TOKEN="123456789:AA...REPLACE"
export TG_CHAT_ID="123456789"

Команда теста:

python ~/net-audit/scripts/tg_notify.py "Termux net-audit готов к запуску"

Склейка конвейера: единый сценарий аудита

Сделаем “оркестратор”, который запускает Nmap, Masscan (опционально) и OpenVAS, а затем отправляет итог в Telegram.

nano ~/net-audit/scripts/run_full_audit.sh
#!/data/data/com.termux/files/usr/bin/bash
set -euo pipefail

TARGET_CIDR="${1:-192.168.1.0/24}"
DO_MASSCAN="${DO_MASSCAN:-1}"  # 0 или 1

echo "[] Full audit for: $TARGET_CIDR"
MSG_PREFIX="Net-audit: $TARGET_CIDR"

# Nmap
~/net-audit/scripts/run_nmap.sh "$TARGET_CIDR"

# Маскан (опционально)
if [ "$DO_MASSCAN" = "1" ]; then
  ~/net-audit/scripts/run_masscan.sh "$TARGET_CIDR"
fi

# OpenVAS (managed)
~/net-audit/scripts/run_openvas.sh "$TARGET_CIDR"

# Краткое сообщение (без персональных данных)
FINAL_MSG="$MSG_PREFIX completed. Check results folder: $HOME/net-audit/results"
python ~/net-audit/scripts/tg_notify.py "$FINAL_MSG"

Запуск оркестратора:

chmod +x ~/net-audit/scripts/run_full_audit.sh
~/net-audit/scripts/run_full_audit.sh 192.168.1.0/24

Если хотите отключить Masscan:

DO_MASSCAN=0 ~/net-audit/scripts/run_full_audit.sh 192.168.1.0/24

Формирование отчётов и хранение результатов

Рекомендации по отчётности:

  • Храните результаты в ~/net-audit/results с временными метками.
  • Сохраняйте логи в ~/net-audit/logs.
  • По итогам делайте “сводку” (кол-во найденных хостов/портов, наличие открытых сервисов).
  • При необходимости прикрепляйте отчёт к тикету/письму в рамках внутренних процессов.

Для анализа XML отчётов Nmap удобны парсеры/скрипты на Python, а для Masscan — “grepable” формат, который легко конвертировать в таблицу.

Практические меры безопасности при запуске сканеров

  • Минимизация: начните с небольшого диапазона и “мягких” профилей, затем расширяйте только при подтверждённой легитимности и согласии.
  • Временные окна: проводите проверки в заранее согласованные часы, чтобы минимизировать риск влияния на сервисы.
  • Ограничение скорости: для Masscan регулируйте --rate, а для Nmap используйте -T3 и разумные параметры.
  • Сегментация: если у вас есть возможность — тестируйте из сегмента, где снижается вероятность затронуть инфраструктуру за пределами зоны аудита.

Заключение

Автоматизированный аудит в Termux — это удобный и “полевой” способ организовать проверку собственной (или разрешённой) сети: Nmap помогает собрать инвентаризацию, Masscan — быстро сузить область внимания, а OpenVAS — выполнить проверку уязвимостей в рамках управляемой инфраструктуры. Интеграция с Telegram Bot API делает процесс прозрачным: вы получаете краткие уведомления и не теряете контроль над результатами.

Если нужно собрать под ваш контур готовый набор скриптов, настроить хранение отчётов, правила запуска и схему уведомлений — команда РыбинскЛАБ поможет внедрить решение на практике.

Услуги РыбинскЛАБ: аудит сетевой безопасности, настройка сканирования и отчётности, интеграция уведомлений, сопровождение безопасной эксплуатации инструментов.

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

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

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

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