Nmap — "Network Mapper". Бесплатная утилита с открытым исходным кодом для проверки сети и аудита безопасности. Незаменимый инструмент для безопасников и админов.
Есть версии для разных ОС:
- Linux (all distributions)
 - Microsoft Windows
 - Mac OS X
 - FreeBSD, OpenBSD, NetBSD
 - Sun Solaris
 - Amiga, HP-UX, и другие
 
Для работы в Windows дополнительно ставится GUI — Zenmap.
Последняя версия утилиты на данный момент 7.70.
Ссылки
Установка
Ставить будем на винду. Скачиваем nmap-7.70-setup.exe с официального сайта.
Запускаем файлик.
Инсталлятор.
Принимаем лицензионное соглашение -I Agree.
Можно выбрать компоненты. Next
Путь установки. Install - Побежала установка.
В процессе установки запускается второй инсталлятор. Нужно установить Npcap.
I Agree.
Оставляю настройки по умолчанию. Install.
Ждём.
Next.
Finish.
Возвращаемся в инсталлятор Nmap. Next.
Выбираем галки - куда установить ярлыки (мне почему-то ярлык на рабочий стол так и не поставился). Next.
Установка Nmap завершена.
Пример работы
Опции
- Определение цели сканирования:
	
- -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 <FTP_хост>: FTP bounce сканирование
 - --traceroute: Отслеживать путь к хосту
 - --reason: Выводить причину нахождения порта в определенном состоянии
 
 - Определение портов и порядка сканирования:
	
- -p <диапазон_портов>: Сканирование только определенных портов
 - -F: Быстрое сканирование - Сканирование ограниченного количества портов
 - -r: Сканировать порты последовательно - не использовать случайный порядок портов
 - --top-ports <количество_портов>: Сканировать <количество_портов> наиболее распространенных портов
 - --port-ratio <рейтинг>: Сканировать порты с рейтингом большим чем <рейтинг>
 
 - Определение служб и их версий:
	
- -sV: Исследовать открытые порты для определения информации о службе/версии
 - --version-intensity <уровень>: Устанавливать от 0 (легкое) до 9 (пробовать все запросы)
 - --version-light: Ограничиться наиболее легкими запросами (интенсивность 2)
 - --version-all: Использовать каждый единичный запрос (интенсивность 9)
 - --version-trace: Выводить подробную информацию о процессе сканирования (для отладки)
 
 - Сканирование с использованием скриптов:
	
- -sC: эквивалентно опции --script=default
 - --script=<Lua скрипты>: <Lua скрипты> это разделенный запятыми список директорий, файлов скриптов или категорий скриптов
 - --script-args=<имя1=значение1,[имя2=значение2,...]>: Передача аргументов скриптам
 - --script-trace: Выводить все полученные и отправленные данные
 - --script-updatedb: Обновить базу данных скриптов
 
 - Определение ОС:
	
- -O: Активировать функцию определения ОС
 - --osscan-limit: Использовать функцию определения ОС только для "перспективных" хостов
 - --osscan-guess: Угадать результаты определения ОС
 
 - Опции управления временем и производительностью:
Опции, принимающие аргумент <время>, задаются в миллисекундах, пока вы не добавите 's' (секунды), 'm' (минуты), или 'h' (часы) к значению (напр. 30m).- -T[0-5]: Установить шаблон настроек управления временем (больше - быстрее)
 - --min-hostgroup/max-hostgroup <кол_хостов>: Установить размер групп для параллельного сканирования
 - --min-parallelism/max-parallelism <кол_хостов>: Регулирует распараллеливание запросов
 - --min-rtt-timeout/max-rtt-timeout/initial-rtt-timeout <время>: Регулирует время ожидания ответа на запрос
 - --max-retries <количество_попыток>: Задает максимальное количество повторных передач запроса
 - --host-timeout <время>: Прекращает сканирование медленных целей
 - --scan-delay/--max-scan-delay <время>: Регулирует задержку между запросами
 - --min-rate <число>: Посылать запросы с интенсивностью не меньше чем <число> в секунду
 - --max-rate <число>: Посылать запросы с интенсивностью не больше чем <число> в секунду
 
 - Обход межсетевых экрнов, систем IDS:
	
- -f; --mtu <значение>: Фрагментировать пакеты (опционально с заданным значение MTU)
 - -D <фикт_хост1,фикт_хост2[,ME],...>: Маскировка сканирования с помощью фиктивных хостов
 - -S <IP_адрес>: Изменить исходный адрес
 - -e <интерфейс>: Использовать конкретный интерфейс
 - -g/--source-port <номер_порта>: Использовать заданный номер порта
 - --data-length <число>: Добавить произвольные данные к посылаемым пакетам
 - --ip-options <опции>: Посылать пакет с заданным ip опциями
 - --ttl <значение>: Установить IP поле time-to-live (время жизни)
 - --spoof-mac <MAC_адрес/префикс/название производителя>: Задать собственный MAC адрес
 - --badsum: Посылать пакеты с фиктивными TCP/UDP контрольными суммами
 
 - Вывод результатов:
	
- -oN/-oX/-oS/-oG <файл>: Выводить результаты нормального, XML, s|<rIpt kIddi3, и Grepable формата вывода, соответственно, в заданный файл
 - -oA <базовое_имя_файла>: Использовать сразу три основных формата вывода
 - -v: Увеличить уровень вербальности (задать дважды или более для увеличения эффекта)
 - -d[уровень]: Увеличить или установить уровень отладки (до 9)
 - --open: Показывать только открытые (или возможно открытые) порты
 - --packet-trace: Отслеживание принятых и переданных пакетов
 - --iflist: Вывести список интерфейсов и роутеров (для отладки)
 - --log-errors: Записывать ошибки/предупреждения в выходной файл нормального режима
 - --append-output: Добавлять в конец, а не перезаписывать выходные файлы
 - --resume <имя_файла>: Продолжить прерванное сканирование
 - --stylesheet <путь/URL>: Устанавливает XSL таблицу стилей для преобразования XML вывода в HTML
 - --webxml: Загружает таблицу стилей с Nmap.Org
 - --no-stylesheet: Убрать объявление XSL таблицы стилей из XML
 
 - Прочие опции:
	
- -6: Включить IPv6 сканирование
 - -A: Активировать функции определения ОС и версии, сканирование с использованием скриптов и трассировку
 - --datadir <имя_директории>: Определяет место расположения файлов Nmap
 - --send-eth/--send-ip: Использовать сырой уровень ethernet/IP
 - --privileged: Подразумевать, что у пользователя есть все привилегии
 - --unprivileged: Подразумевать, что у пользователя нет привилегий для использования сырых сокетов
 - -V: Вывести номер версии
 - -h: Вывести эту страницу помощи
 
 
















