Справочное руководство Nmap (Man Page)
Содержание
Описание
Замечания о переводе
Сводка опций
Определение цели сканирования
Обнаружение хостов
Основы сканирования портов
Различные приемы сканирования портов
Определение портов и порядка сканирования
Обнаружение служб и их версий
Определение ОС
Скриптовый движок Nmap(NSE - Nmap Scripting Engine)
Опции управления временем и производительностью
Обход Брандмауэров/IDS
Вывод результатов
Различные опции
Взаимодействие во время выполнения
Примеры
Ошибки
Автор
Юридические уведомления
Unofficial Translation Disclaimer / Отречение неофициального перевода
Авторское право и лицензия Nmap
Creative Commons License для этого справочного руководства Nmap
Доступность исходного кода и общественные вклады
Отсутствие гарантии
Несоответствующее использование
Стороннее программное обеспечение
Классификация по контролю экспорта Соединенных Штатов
Имя
nmap — Утилита для исследования сети и сканер портов
Синопсис
nmap [ <Тип сканирования> ...] [ <Опции> ] { <цель сканирования> }
Описание
Примечание
Этот документ описывает версию Nmap 4.22SOC8. Последняя документация доступна на английском языке по адресу:
Nmap («Network Mapper») это утилита с открытым исходным кодом для исследования сети и проверки безопасности. Она была разработана для быстрого сканирования больших сетей, хотя прекрасно справляется и с единичными целями. Nmap использует сырые IP пакеты оригинальными способами, чтобы определить какие хосты доступны в сети, какие службы (название приложения и версию) они предлагают, какие операционные системы (и версии ОС) они используют, какие типы пакетных фильтров/брандмауэров используются и еще дюжины других характеристик. В тот время как Nmap обычно используется для проверки безопасности, многие сетевые и системные администраторы находят ее полезной для обычных задач, таких как контролирование структуры сети, управление расписаниями запуска служб и учет времени работы хоста или службы.
Выходные данные Nmap это список просканированных целей с дополнительной информацией по каждой в зависимости от заданных опций. Ключевой информацией является «таблица важных портов». Эта таблица содержит номер порта, протокол, имя службы и состояние. Состояние может иметь значение open (открыт), filtered (фильтруется), closed (закрыт) или unfiltered (не фильтруется). Открыт означает, что приложение на целевой машине готово для установки соединения/принятия пакетов на этот порт.Фильтруется означает, что брандмауэр, сетевой фильтр или какая-то другая помеха в сети блокирует порт, и Nmap не может установить открыт этот порт или закрыт. Закрытые порты не связаны ни с каким приложением, так что они могут быть открыты в любой момент. Порты расцениваются как не фильтрованные, когда они отвечают на запросы Nmap, но Nmap не может определить открыты они или закрыты. Nmap выдает комбинации открыт|фильтруется и закрыт|фильтруется, когда не может определить, какое из этих двух состояний описывает порт. Эта таблица также может предоставлять детали о версии программного обеспечения, если это было запрошено. Когда осуществляется сканирование по IP протоколу (-sO), Nmap предоставляет информацию о поддерживаемых IP протоколах, а не об открытых портах.
В дополнение к таблице важных портов Nmap может предоставлять дальнейшую информацию о целях: преобразованные DNS имена, предположение о используемой операционной системе, типы устройств и MAC адреса.
Типичное сканирование с использованием Nmap показано в Пример 1. Единственные аргументы, использованные в этом примере это -A, для определения версии ОС, сканирования с использованием скриптов и трассировки; -T4 для более быстрого выполнения; затем два целевых хоста.
Пример 1. Типичный пример сканирования с помощью Nmap
# nmap -A -T4 scanme.nmap.org playground
Interesting ports on scanme.nmap.org (64.13.134.52):
(The 1663 ports scanned but not shown below are in state: filtered)
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 3.9p1 (protocol 1.99)
53/tcp open domain
70/tcp closed gopher
80/tcp open http Apache httpd 2.0.52 ((Fedora))
113/tcp closed auth
Device type: general purpose
Running: Linux 2.4.X|2.5.X|2.6.X
OS details: Linux 2.4.7 - 2.6.11, Linux 2.6.0 - 2.6.11
Interesting ports on playground.nmap.org (192.168.0.40):
(The 1659 ports scanned but not shown below are in state: closed)
PORT STATE SERVICE VERSION
135/tcp open msrpc Microsoft Windows RPC
139/tcp open netbios-ssn
389/tcp open ldap?
445/tcp open microsoft-ds Microsoft Windows XP microsoft-ds
1002/tcp open windows-icfw?
1025/tcp open msrpc Microsoft Windows RPC
1720/tcp open H.323/Q.931 CompTek AquaGateKeeper
5800/tcp open vnc-http RealVNC 4.0 (Resolution 400x250; VNC port: 5900)
5900/tcp open vnc VNC (protocol 3.8)
MAC Address: 00:A0:CC:63:85:4B (Lite-on Communications)
Device type: general purpose
Running: Microsoft Windows NT/2K/XP
OS details: Microsoft Windows XP Pro RC1+ through final release
Service Info: OSs: Windows, Windows XP
Nmap finished: 2 IP addresses (2 hosts up) scanned in 88.392 seconds
Замечания о переводе
Гуз Александр (Guz Alexander)
Этот русский вариант Справочного Руководства Nmap является переводом версии 6184 оригинальной английской версии. Хотя я надеюсь, что данный перевод сделает Nmap более доступной для русскоязычных пользователей, я не могу гарантировать, что он является полным или является перевод последней официальной английской версии. Эта работа может модифицироваться или распространяться на основе лицензии Creative Commons Attribution License.
Сводка опций
Использование: nmap [Тип(ы) Сканирования] [Опции] {цель сканирования}
ОПРЕДЕЛЕНИЕ ЦЕЛИ СКАНИРОВАНИЯ:
Можно использовать сетевые имена, IP адреса, сети и т.д.
Пример: scanme.nmap.org, microsoft.com/24, 192.168.0.1; 10.0.0-255.1-254
-iL <имя_входного_файла>: Использовать список хостов/сетей из файла
-iR <количество_хостов>: Выбрать произвольные цели
--exclude <хост1[,хост2][,хост3],...>: Исключить хосты/сети
--excludefile <имя_файла>: Исключить список из файла
ОБНАРУЖЕНИЕ ХОСТОВ:
-sL: Сканирование с целью составления списка - просто составить список целей для сканирования
-sP: Пинг сканирование - просто определить, работает ли хост
-PN: Расценивать все хосты как работающие -- пропустить обнаружение хостов
-PS/PA/PU [список_портов]: TCP SYN/ACK или UDP пингование заданных хостов
-PE/PP/PM: Пингование с использованием ICMP эхо запросов, запросов временной метки и сетевой маски
-PO [список_протоколов]: Пингование с использованием IP протокола
-n/-R: Никогда не производить DNS разрешение/Всегда производить разрешение [по умолчанию: иногда]
--dns-servers <сервер1[,сервер2],...>: Задать собственные DNS сервера
--system-dns: Использовать системный DNS преобразователь
РАЗЛИЧНЫЕ ПРИЕМЫ СКАНИРОВАНИЯ:
-sS/sT/sA/sW/sM: TCP SYN/с использованием системного вызова Connect()/ACK/Window/Maimon сканирования
-sU: UDP сканирование
-sN/sF/sX: TCP Null, FIN и Xmas сканирования
--scanflags <флаги>: Задать собственные TCP флаги
-sI <зомби_хост[:порт]>: "Ленивое" (Idle) сканирование
-sO: Сканирование IP протокола
-b
--traceroute: Отслеживать путь к хосту
--reason: Выводить причину нахождения порта в определенном состоянии
ОПРЕДЕЛЕНИЕ ПОРТОВ И ПОРЯДКА СКАНИРОВАНИЯ:
-p <диапазон_портов>: Сканирование только определенных портов
Пример: -p22; -p1-65535; -p U:53,111,137,T:21-25,80,139,8080
-F: Быстрое сканирование - Сканирование ограниченного количества портов
-r: Сканировать порты последовательно - не использовать случайный порядок портов
--top-ports <количество_портов>: Сканировать <количество_портов> наиболее распространенных портов
--port-ratio <рейтинг>: Сканировать порты с рейтингом большим чем <рейтинг>
ОПРЕДЕЛЕНИЕ СЛУЖБ И ИХ ВЕРСИЙ:
-sV: Исследовать открытые порты для определения информации о службе/версии
--version-intensity <уровень>: Устанавливать от 0 (легкое) до 9 (пробовать все запросы)
--version-light: Ограничиться наиболее легкими запросами (интенсивность 2)
--version-all: Использовать каждый единичный запрос (интенсивность 9)
--version-trace: Выводить подробную информацию о процессе сканирования (для отладки)
СКАНИРОВАНИЕ С ИСПОЛЬЗОВАНИЕМ СКРИПТОВ:
-sC: эквивалентно опции --script=default
--script=
категорий скриптов
--script-args=<имя1=значение1,[имя2=значение2,...]>: Передача аргументов скриптам
--script-trace: Выводить все полученные и отправленные данные