🌍 nmap: кратко и по делу#

nmap (Network Mapper) — мощный инструмент для сканирования портов, сервисов, операционных систем и поиска уязвимостей в сетях.
Используется для диагностики, аудита безопасности и инвентаризации инфраструктуры.

📝 Топ‑20 полезных флагов nmap#

  • -p <порт> — сканировать один или несколько портов (-p 22,80,443).
  • -p- — сканировать все 65535 портов.
  • -F — быстрый скан (только популярные порты).
  • -Pn — не пинговать хосты (полезно, если ICMP запрещён).
  • -sS — скрытое SYN-сканирование (по умолчанию для root).
  • -sT — полное TCP connect() сканирование.
  • -sU — сканирование UDP портов.
  • -sV — определить версию сервиса на порту.
  • -O — определить операционную систему.
  • -A — агрессивный режим (объединяет -O, -sV и скрипты).
  • -T<0-5> — скорость сканирования (0 — медленно, 5 — максимально быстро).
  • -v / -vv — подробный вывод.
  • -oN file.txt — сохранить результат в обычный текст.
  • -oG file.grep — сохранить результат в grep-совместимый формат.
  • -oX file.xml — сохранить результат в XML.
  • --open — показывать только открытые порты.
  • --top-ports N — сканировать только N самых популярных портов.
  • --max-retries N — ограничить число повторных попыток.
  • --min-rate N — минимальная скорость сканирования (пакеты/сек).
  • --script <скрипт> — запуск скриптов NSE (например, --script vuln).

🚀 Айсберг команд nmap — от базового к гуру#

🟢 Уровень 1 — База (разогрев)#

nmap 192.168.1.1

  • Сканировать один хост

nmap 192.168.1.1 192.168.1.10

  • Сканировать несколько хостов

nmap 192.168.1.0/24

  • Сканировать всю подсеть

nmap -p 22 192.168.1.1

  • Проверить конкретный порт

nmap --top-ports 20 192.168.1.1

  • Сканировать только 20 популярных портов

🟡 Уровень 2 — Сканирование сервисов#

nmap -sV 192.168.1.1

  • Определить версии запущенных сервисов

nmap -sV --version-intensity 9 192.168.1.1

  • Более агрессивное определение версий

nmap -A 192.168.1.1

  • Агрессивное сканирование (ОС, сервисы, скрипты)

nmap -sU -p 53,67,161 192.168.1.1

  • Сканирование UDP портов

nmap -sT -p 22,80,443 192.168.1.1

  • TCP connect() сканирование

🟠 Уровень 3 — Оптимизация скорости#

nmap -T4 192.168.1.1

  • Быстрое сканирование

nmap -T5 --min-rate 1000 192.168.1.1

  • Очень агрессивное сканирование

nmap -T1 192.168.1.1

  • Медленное сканирование (для IDS обхода)

nmap --max-retries 2 192.168.1.1

  • Ограничение повторных попыток

nmap -F 192.168.1.1

  • Сканировать только популярные порты

🔵 Уровень 4 — Расширенные режимы сканирования#

nmap -Pn 192.168.1.1

  • Сканировать даже если хост не отвечает на ping

nmap -sS 192.168.1.1

  • Скрытое SYN-сканирование (root)

nmap -sA 192.168.1.1

  • ACK-сканирование (для проверки правил firewall)

nmap -sW 192.168.1.1

  • Window-сканирование TCP

nmap -sM 192.168.1.1

  • Maimon-сканирование (обход фильтров)

🟣 Уровень 5 — NSE-скрипты (Nmap Scripting Engine)#

nmap --script vuln 192.168.1.1

  • Проверка хоста на известные уязвимости

nmap --script http-title 192.168.1.1

  • Получить заголовки веб-страниц

nmap --script ssl-cert 192.168.1.1

  • Проверить SSL-сертификаты

nmap --script smb-os-discovery 192.168.1.1

  • Сбор информации о Windows-хостах

nmap --script ftp-anon 192.168.1.1

  • Проверка анонимного доступа к FTP

🔴 Уровень 6 — Захват и экспорт данных#

nmap -oN scan.txt 192.168.1.1

  • Сохранить результат в текстовый файл

nmap -oG scan.grep 192.168.1.1

  • Сохранить результат в grep-совместимый формат

nmap -oX scan.xml 192.168.1.1

  • Сохранить результат в XML

nmap -oA report 192.168.1.1

  • Сохранить результат во всех форматах сразу

xsltproc scan.xml -o report.html

  • Конвертировать XML в HTML-отчёт

🟤 Уровень 7 — Гуру‑режим#

nmap -sS -p- --min-rate 5000 192.168.1.1

  • Полный скан всех портов на скорости 5000 пакетов/сек

nmap -Pn -A -T4 192.168.1.1

  • Агрессивное сканирование + ОС + сервисы

nmap --script "default or safe" 192.168.1.1

  • Запуск только безопасных скриптов

nmap --script "vuln and not intrusive" 192.168.1.1

  • Сканирование уязвимостей без вредоносных скриптов

nmap -sS --badsum 192.168.1.1

  • Отправлять пакеты с неправильной контрольной суммой (IDS-обход)

🧩 Бонус — практические сценарии#

Сканировать локальную сеть на наличие активных хостов:

nmap -sn 192.168.1.0/24

Найти открытые веб-сервера:

nmap -p 80,443 --open 192.168.1.0/24

Проверить SSL-сертификаты:

nmap --script ssl-cert -p 443 example.com

Сканировать все порты с определением сервисов:

nmap -p- -sV 192.168.1.1

Агрессивный аудит сервера:

nmap -A -T4 example.com