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: Вывести эту страницу помощи