Что такое Nmap и как сканировать сеть безопасно
Nmap (Network Mapper) — это одна из самых популярных утилит для исследования сети, поиска активных хостов, открытых портов и сервисов. Её используют системные администраторы, разработчики и специалисты по безопасности для диагностики инфраструктуры.
Главная особенность Nmap — огромный набор типов сканирования и гибкость, позволяющая безопасно обследовать сеть без лишней нагрузки.
⚠️ Важно: перед сканированием чужих или корпоративных сетей убедитесь, что у вас есть разрешение. Nmap — легальный инструмент, но сканирование без согласия считается нарушением.
Когда применять Nmap
Nmap полезен в следующих задачах:
- проверить, доступны ли серверы и сервисы;
- увидеть открытые порты (например, SSH, MySQL, HTTP);
- убедиться, что фаервол настроен правильно;
- проверить «поверхность атаки» перед выходом сервиса в прод;
- найти «забытые» сервисы и старые порты;
- протестировать сеть после миграции или обновления.
Если нужна более низкоуровневая отладка (TCP-коннекты, простые проверки портов), то стоит посмотреть также утилиту netcat (nc) — у нас есть отдельная статья по её установке.
Как установить Nmap
Ubuntu / Debian
sudo apt update
sudo apt install nmapCentOS / RHEL / Fedora
sudo yum install nmapArch / Manjaro
sudo pacman -S nmapmacOS (через Homebrew)
brew install nmapБазовые примеры: как безопасно сканировать сеть
Nmap имеет десятки режимов сканирования, но в 90% случаев достаточно 4–5 команд. Ниже — только безопасные и “лёгкие” методы, которые не создают заметную нагрузку и подходят для прод-среды.
1. Проверка, доступен ли хост
nmap -sn 192.168.1.10Флаг -sn отключает порт-сканирование — хост просто “пингуется”.
Использовать, когда нужно проверить:
- сервер онлайн или нет;
- отвечает ли на ARP или ping;
- работает ли роутинг.
2. Просмотр открытых портов
nmap 192.168.1.10Nmap по умолчанию сканирует ~1000 популярных портов.
3. Полное сканирование всех TCP-портов
nmap -p- 192.168.1.10Используется для диагностики «утёкших» портов, stray-сервисов или неверных firewall-правил.
4. Безопасное определение сервисов и версий
nmap -sV 192.168.1.10Nmap аккуратно пытается определить:
- HTTP/HTTPS сервера;
- SSH версии;
- MySQL/PostgreSQL;
- SMTP/IMAP;
- Redis, MongoDB и т. д.
Этот тип проверки считается безопасным: он не наносит вреда и не вызывает перегрузки.
5. Сканирование подсети
nmap -sn 192.168.1.0/24Полезно, когда нужно:
- посмотреть активные хосты;
- убедиться, что все серверы включены;
- найти новый/потерянный сервер.
6. Проверка firewall (режим SYN-сканирования)
sudo nmap -sS 192.168.1.10SYN-скан — «де-факто стандарт» сетевой диагностики:
- быстрый,
- безопасный,
- точный,
- не создаёт большого трафика.
7. Быстрое сканирование (оптимизировано под прод)
nmap -T4 192.168.1.10Флаг -T4 увеличивает скорость, но не делает скан агрессивным — подходит для серверов.
Что лучше не использовать без необходимости
Чтобы статья не провоцировала неправильное использование, перечислю функции, которые лучше включать только при разрешении или в тестовой сети:
-A— агрессивный режим (версии + ОС + скрипты)- NSE-скрипты (
--script), особенно категории intrusive - UDP-сканирование (
-sU) — вызывает нагрузку -T5— слишком агрессивно, легко вызвать rate-limit
Краткое сравнение: Nmap vs Netcat
| Инструмент | Для чего |
|---|---|
| Netcat (nc) | Проверка портов, простые TCP/UDP соединения, быстрый дебаг. Лёгкий инструмент. |
| Nmap | Сканирование сети, поиск сервисов, анализ инфраструктуры, аудит. Более продвинутый. |
Статья по Netcat в документации.
Вывод
Nmap — незаменимый инструмент администратора и разработчика:
- безопасно помогает увидеть открытые порты;
- показывает сервисы и версии;
- помогает обнаружить проблемы в сети;
- пригодится в проде, локалке и тестовых средах.
Используйте только безопасные режимы (-sn, -sV, -sS, -p-, -T4), и всё будет ок.
Настроить мониторинг за 30 секунд
Надежные оповещения о даунтаймах. Без ложных срабатываний