Команда Linux nmap
nmap (Network Mapper) — один из самых мощных инструментов сетевого зондирования и аудита безопасности в системах Linux. Он помогает системным администраторам и экспертам по сетевой безопасности:
- Обнаруживать активные хосты в сети
- Сканировать открытые порты и службы
- Определение типов и версий операционных систем
- Обнаружение уязвимостей в сетевых службах
Благодаря гибкости, мощной функциональности и кроссплатформенности nmap широко используется при оценке безопасности сети, системном администрировании, сетевом мониторинге и в других областях.
Базовый синтаксис
Базовый формат команды nmap выглядит следующим образом:
nmap [扫描类型] [选项] {目标规范}
Где:
Scan Type: Указывает метод сканирования, используемый nmapOptions: Настраивает различные параметры поведения сканированияTarget Specification: Может быть IP-адресом, именем хоста или диапазоном IP
Распространённые типы сканирования
Сканирование TCP SYN (-sS)
Наиболее часто используемый и стандартный метод сканирования, также известный как «полуоткрытое сканирование»:
nmap -sS 192.168.1.1
Возможности:
- Быстро и скрытно
- Не завершает трёхстороннее рукопожатие TCP
- Требует прав root
Сканирование TCP Connect (-sT)
Стандартное сканирование TCP connect:
nmap -sT 192.168.1.1
Возможности:
- Не требует прав root
- Устанавливает полное TCP-соединение
- Медленнее и легко обнаруживается
Сканирование UDP (-sU)
Сканирует UDP-порты:
nmap -sU 192.168.1.1
Возможности:
- UDP-сканирование относительно медленное
- Многие UDP-сервисы не отвечают
- Требует прав root
Определение операционной системы (-O)
Определяет операционную систему целевого хоста:
nmap -O 192.168.1.1
Общие параметры и
Указание портов (-p)
Сканировать определённые порты или диапазоны портов:
Примеры
nmap -p 1-100 192.168.1.1 # Сканировать порты 1-100
nmap -p- 192.168.1.1 # Сканировать все 65535 портов
Определение версии службы (-sV)
Получать подробную информацию о версиях служб:
nmap -sV 192.168.1.1
Скорость сканирования (-T)
Управляет скоростью сканирования (0-5, чем выше число, тем быстрее):
nmap -T4 192.168.1.1 # 较快的扫描速度
Форматы вывода
Несколько вариантов формата вывода:
Примеры
nmap -oX result.xml 192.168.1.1 # Формат XML
nmap -oG result.gnmap 192.168.1.1 # Формат, удобный для grep
Практические примеры
Базовое сканирование сети
nmap 192.168.1.1
Пример вывода:
Starting Nmap 7.80 ( https://nmap.org ) at 2023-05-01 10:00 UTC Nmap scan report for 192.168.1.1 Host is up (0.045s latency). Not shown: 998 closed ports PORT STATE SERVICE 22/tcp open ssh 80/tcp open http 443/tcp open https
Комплексное сканирование (ОС + версия службы)
nmap -A 192.168.1.1
Сканирование всей подсети
nmap 192.168.1.0/24
Чтение списка целей из файла
nmap -iL targets.txt
Интерпретация результатов сканирования
Значение состояний портов в выводе nmap:
| State | Описание |
|---|---|
| open | Порт открыт, и приложение прослушивает порт |
| closed | Порт закрыт (хост доступен, но ни одно приложение не прослушивает порт) |
| отфильтрован | Порт отфильтрован брандмауэром/сетью, состояние невозможно определить |
| не отфильтрован | Порт доступен, но невозможно определить, открыт он или закрыт (используется для ACK-сканирования) |
| open|filtered | Невозможно определить, открыт порт или фильтруется (часто встречается при UDP-сканировании) |
| closed|filtered | Невозможно определить, закрыт порт или фильтруется |
Соображения безопасности и правовые аспекты
- Правомерное использование: Сканируйте только те сети и системы, на которые у вас есть разрешение
- Получите разрешение: Перед использованием в корпоративных сетях убедитесь, что получено письменное разрешение
- Избегайте злоупотреблений: Крупномасштабное быстрое сканирование может расцениваться как атака
- Уважайте приватность: Не сканируйте сетевые ресурсы, которые не принадлежат вам
Продвинутые техники
Обход брандмауэров
Примеры
nmap --data-length 100 192.168.1.1 # Добавить случайные данные
nmap -D RND:5 192.168.1.1 # Сканирование с приманками
Скрипт сканирования по расписанию
Примеры
DATE=$(date +%Y%m%d)
nmap -sS -p- -T4 -oN scan_$DATE.log 192.168.1.0/24
Сравнение результатов
ndiff scan1.xml scan2.xml
ЧАВО
Вопрос: Почему для сканирования nmap требуются права root?Ответ: Некоторые типы сканирования (например, SYN-сканирование) требуют прямого управления сетевыми пакетами, что требует прав root.
Вопрос: Как ускорить сканирование?Ответ: Используйте-T4или-T5параметры, уменьшите тайм-аут или ограничьте диапазон сканируемых портов.
Вопрос: Могут ли сканирования nmap быть обнаружены межсетевыми экранами?Ответ: Это зависит от типа сканирования и конфигурации межсетевого экрана. SYN-сканирование более скрытно, чем сканирование с полным подключением.
Вопрос: Как сканировать адреса IPv6?Ответ: Просто используйте адрес IPv6 напрямую:nmap 2001:db8::1
Рекомендуемые учебные ресурсы
- Официальная документация:
man nmap - Официальная книга по Nmap: "Nmap Network Scanning"
- Онлайн-руководства:https://nmap.org/book/toc.html
- Интерактивное обучение:https://tryhackme.com/room/furthernmap
Освоив nmap, вы получите мощные возможности сетевого зондирования, заложив прочную основу для системного администрирования и работы по сетевой безопасности. Рекомендуется начинать с простых сканирований и постепенно пробовать более сложные параметры и методы.
Другие расширения