Гид по технологиям

Сканирование открытых портов с помощью Nmap

4 min read Безопасность Обновлено 18 Apr 2026
Nmap: сканирование открытых портов
Nmap: сканирование открытых портов

Изображение: Nmap — сканирование портов и обзор возможностей

Зачем сканировать порты

Порты — это конечные точки обмена данными в сети. Их поведение важно для инженеров по безопасности, системных администраторов и тестировщиков на проникновение. Открытые порты могут обозначать запущенные службы; закрытые или фильтруемые порты помогают понять настройку межсетевых экранов.

Nmap сочетает в себе обнаружение хостов, сканирование портов, определение служб и отпечатков ОС. Ниже — практическое руководство по основным способам поиска открытых портов.

Команды Nmap для сканирования всех открытых портов

Классическая команда для быстрого TCP-сканирования без привилегий:

nmap -sT scanme.nmap.org
  • -sT: полный TCP‑скан (connect scan). Не требует sudo, но заметен в логах.

Диаграмма: пример использования nmap для сканирования открытых TCP‑портов

Чтобы выполнить более «тихий» скан и отправлять сырые TCP‑пакеты, используйте SYN‑скан (требует прав администратора):

sudo nmap -sS scanme.nmap.org
  • -sS: SYN‑скан («полуоткрытый»), менее заметен для простых систем мониторинга.

Важно: sudo или root‑права на Linux нужны для отправки сырых пакетов. Отсутствие прав ограничит типы сканирования.

Для UDP‑портов используйте:

sudo nmap -sU scanme.nmap.org
  • -sU: сканирование UDP. UDP‑сканирование обычно медленнее и сложнее интерпретируется.

Если нужно ограничить диапазон портов, пригодится опция -p. Пример: сканирование локального маршрутизатора по портам 20–80:

sudo nmap -sS -p 20-80 192.168.1.1

Схема: сканирование конкретных портов с помощью Nmap

Можно также перечислять порты через запятую: -p 22,80,443 или смешивать диапазоны и числа.

Мини‑методология: как провести безопасное и эффективное сканирование

  1. Получите разрешение владельца сети — это обязательно для легального аудита.
  2. Определите цель: одиночный хост, подсеть или диапазон адресов.
  3. Выберите профиль сканирования: быстрый (-T4), осторожный (-T2), или полное исследование с определением служб (-sV).
  4. Ограничьте порты (-p) для ускорения и снижения нагрузки.
  5. Соберите результаты, сопоставьте версии служб и оцените риски.

Чек‑лист для ролей

  • Системный администратор: проверить открытые порты на сервисах management (SSH, RDP), сравнить с заявленными правилами брандмауэра.
  • Инженер по безопасности: использовать -sV и NSE-скрипты для обнаружения уязвимых версий.
  • DevOps: интегрировать периодические сканы в CI/CD pipeline и регистрировать изменения конфигурации.

Шпаргалка команд (cheat sheet)

  • nmap -sT — полный TCP‑скан без sudo.
  • sudo nmap -sS — SYN‑скан (стелс).
  • sudo nmap -sU — UDP‑скан.
  • nmap -p 1-65535 — все порты.
  • nmap -sV — определение версий служб.
  • nmap -O — определение ОС.
  • nmap -A — агрессивный режим: скан версий, скрипты, определение ОС.

Когда Nmap может не дать точного результата

  • Фильтрация или IDS/IPS блокируют или подменяют ответы — Nmap может показать «Filtered» вместо «Open» или «Closed».
  • Защищённые среды с прокси/аппаратными балансировщиками: ответы могут отражать устройство балансировки, а не реальный бэкенд.
  • UDP‑сканы часто приводят к ложным негативам из‑за отсутствия ответа от сервисов.

Альтернативы и дополнения

  • masscan — очень быстрый сканер портов для большого диапазона адресов, но без глубокого определения служб.
  • netcat (nc) — простая проверка портов по одному соединению.
  • ss / lsof — локальные инструменты для проверки прослушивающих сокетов на сервере.

Примеры использования Nmap‑скриптов (NSE)

Nmap включает скрипты для обнаружения распространённых уязвимостей и рискованных сервисов:

sudo nmap --script vuln scanme.nmap.org

Это выполнит набор скриптов, помогающий обнаружить уязвимости. Используйте целевые скрипты по необходимости, чтобы снизить шум.

Критерии приёмки

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

Тестовые случаи и приёмка результатов

  • Тест 1: Сканирование одного хоста на порты 20–1024 — ожидается не менее X открытых портов (если сервисы запущены).
  • Тест 2: SYN‑скан против хоста с брандмауэром — убедиться, что результат показывает «Filtered» для защищённых портов.
  • Тест 3: UDP‑скан сервиса DNS — обнаружение порта 53 как открытого.

(Примечание: конкретные ожидаемые числа зависят от среды тестирования.)

Практические советы и подводные камни

Важно: используйте сканирование только с разрешения. Незаконные сканы могут привести к блокировке или правовым последствиям.

Примечание: для точности UDP‑сканов увеличьте таймауты и повторения (-sU -Pn –max-retries 3 –host-timeout 30s).

Когда стоит выбрать агрессивный режим (-A): при подготовке отчёта по тестированию на проникновение. Когда не стоит: в продакшене без согласования — это может вызвать непредвиденную нагрузку.

Визуальное правило принятия решения

flowchart TD
  A[Начало: нужно быстро?] -->|Да| B{Один хост или сеть}
  B -->|Один хост| C[nmap -sS -sV -p 1-65535]
  B -->|Сеть| D[masscan -> nmap для найденных портов]
  A -->|Нет, глубокий анализ| E[nmap -A --script vuln]
  C --> F[Проанализировать результаты]
  D --> F
  E --> F
  F --> G[Рекомендации и исправления]

Краткий словарь

  • Порт: логическая точка доступа сервиса в сетевом стеке.
  • TCP/UDP: транспортные протоколы; TCP — с установлением соединения, UDP — без подтверждений.
  • SYN‑скан: метод отправки SYN‑пакета для проверки отклика без полного установления соединения.

Итог

Nmap остаётся стандартным инструментом для обнаружения открытых портов и первичного анализа сервисов. Правильный выбор опций (-sT, -sS, -sU, -p, -sV) и осторожный подход к объёму сканирования позволяют собрать полезную информацию без излишнего шума. Интегрируйте регулярные сканы в процессы безопасности и документируйте изменения.

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

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Как ставить напоминания в Notion — быстро и просто
Продуктивность

Как ставить напоминания в Notion — быстро и просто

Как найти HEX-цвет на экране — инструменты и советы
Дизайн

Как найти HEX-цвет на экране — инструменты и советы

SteamOS для игр на Linux — стоит ли переходить?
Игры

SteamOS для игр на Linux — стоит ли переходить?

Как использовать BCC в Outlook — пошаговое руководство
Электронная почта

Как использовать BCC в Outlook — пошаговое руководство

Создать печатный календарь в Canva
Дизайн

Создать печатный календарь в Canva

Как снимать удачные селфи‑видео
Социальные сети

Как снимать удачные селфи‑видео