Количество
7.991 добавил 8 скриптов DICOM и дошёл до 620 скриптов NSE. Выпуск 7.96 дошёл до 612.
Nmap сканер
Версия 7.991
Обнаружение узлов, состояния портов TCP и UDP, версии служб, предположения об ОС и 620 скриптов NSE. Zenmap показывает те же результаты в окне. Ncat, Ndiff и Nping поставляются в комплекте.
Заметки ниже используют флаги и названия экранов из программы. Сканируйте только системы, которые вам разрешено проверять. Неполадки установки описаны в руководствах по устранению неполадок.
Узлы
Ping-сканирование (-sn) спрашивает, какие адреса включены, и пропускает список портов. В локальном сегменте Ethernet Nmap может использовать ARP. При проверке маршрутизируемой сети он также может использовать пробы ICMP echo, TCP и UDP.
Профиль Intense scan на этом снимке начинается с ping, затем идёт SYN-сканирование 1000 портов и загрузка NSE. Команда, которую показывает Zenmap: nmap -T4 -A -v -PE -PS22,25,80 -PA21,23,80,3389. -A включает определение ОС, определение версии, скрипты по умолчанию и traceroute.
Если сканирование собственного ПК под Windows не удаётся, обычная причина: отсутствует драйвер Npcap. См. сканирования localhost в Windows.
Порты
Порт бывает open, closed, filtered, unfiltered, open|filtered или closed|filtered. Open значит, что приложение приняло пробу. Closed значит, что узел ответил и никто не слушает. Filtered значит, что фильтр отбросил пробу, и Nmap не может это определить.
| Приём | Флаг | Что вы узнаёте |
|---|---|---|
| TCP SYN | -sS | Принимает ли порт TCP начало рукопожатия. Это обычное сканирование, когда разрешены сырые пакеты. |
| TCP connect | -sT | Тот же вопрос через сокетный API операционной системы. Работает без Npcap. В Windows выпуск 7.96 перестал помечать многие закрытые порты как filtered. |
| UDP | -sU | Отвечает ли порт UDP. Это медленнее TCP. Используйте, когда важны DNS, SNMP или похожие службы. |
| TCP ACK | -sA | Выглядит ли порт как unfiltered. Само по себе это не говорит, что служба открыта. |
| Только ping | -sn | Какие узлы включены, без сканирования портов. |
| Пропуск обнаружения | -Pn | Считать каждый целевой узел включённым. Полезно, когда ICMP заблокирован и вы уже знаете, что узел существует. |
Другие типы проб описаны в man-странице, которая устанавливается вместе с Nmap. Эта страница не разбирает обход межсетевого экрана.
Службы
-sV обращается к открытому порту и печатает имя службы и версию, если баннер распознан. На снимке порт 22: ssh со строкой OpenSSH, порт 53: domain с ISC BIND, порт 80: http с Apache httpd. Порт 25 и порт 113 закрыты.
-O сравнивает ответы с базой отпечатков. На снимке сказано, что совпадение ОС не было идеальным, потому что не пришёл ответ UDP. Это обычный исход, а не сбой установки. Nmap 7.99 добавил большой набор новых отпечатков ОС для IPv4 и IPv6 и обновил отпечатки служб.
--version-light является более лёгкой пробой версии в показанном здесь профиле Quick scan plus.
Скрипты
Nmap Scripting Engine запускает скрипты Lua против выбранных вами служб. Скрипты лежат в категориях вроде default, discovery, auth и vuln. Можно запустить набор по умолчанию, одну категорию или один скрипт. -A включает набор по умолчанию.
7.991 добавил 8 скриптов DICOM и дошёл до 620 скриптов NSE. Выпуск 7.96 дошёл до 612.
Поток скрипта, который работает дольше 5 секунд без передачи управления, например без вызова сокета, завершается.
Выделение свыше 400 MB вызывает ошибку. Проект сообщает, что эти пределы позже могут измениться.
Применяйте NSE на узлах, которые вам разрешено проверять. Скрипт может войти в систему, перечислить данные или затронуть службу, поэтому прочитайте его имя, прежде чем добавлять.
Интерфейс
Zenmap: официальный интерфейс. Поле цели, меню профиля и командная строка находятся вверху окна. Вкладки: Nmap Output, Ports / Hosts, Topology, Host Details и Scans. На снимках есть профили Quick scan, Quick scan plus и Intense scan. Нажатие Scan запускает команду в поле Command, так что её можно прочитать заранее.
7.96 добавил тёмный режим в меню Profile, пункт Toggle Dark Mode. 7.991 исправил сбои редактора профилей, когда сохранённая команда содержала знак процента, а также сбой KeyError: 'vl_6_logo' и DuplicateSectionError в редакторе профилей. Если более старый Zenmap по-прежнему закрывается, обновитесь и прочитайте руководство по Zenmap.
Установщик
Установщик Windows сделан на Nullsoft. Он спрашивает папку и какие части оставить: основные файлы Nmap, регистрацию PATH, драйвер пакетов, Zenmap, Ncat и Ndiff. Nping тоже входит в комплект.
Этот снимок старше. На нём всё ещё указан WinPcap. Текущие установщики ставят Npcap. Не ищите флажок WinPcap в 7.991. Размеры файлов и SHA-256 указаны на странице загрузки.
Остальной комплект
Ncat читает и пишет по сети и может использовать TLS. Именно его антивирусы отмечают чаще всего, потому что он может присоединить программу к соединению. 7.991 исправил зависание HTTP-прокси Ncat, которое расходовало память. Что делать, если антивирус отмечает Ncat
Сравнивает два результата сканирования, чтобы было видно изменившийся узел или порт. 7.991 исправил make check-ndiff на Python 3.12 и новее.
Создаёт пакеты и показывает ответы. Параметр --rate отказывается от скорости выше 1000 пакетов в секунду, потому что таймеры Nsock устроены в миллисекундах. Если предел не нужен, используйте --delay 0. В Windows без Npcap сырой Nping не запустится.
Скорость
Шаблоны меняют, как быстро уходят пробы. Более быстрый вариант не всегда лучше в рабочей локальной сети.
Paranoid и sneaky. Очень медленно. Для инвентаризации это нужно редко.
Polite. Более спокойный выбор, когда нельзя забивать канал.
Normal. Значение по умолчанию, если вы не передаёте -T.
Aggressive. Профили Quick scan и Intense scan на снимках используют -T4.
Insane. Легко задеть наблюдение и потерять точность. Оставьте его для лаборатории.
Файлы
Текст, который вы видите на вкладке Nmap Output. -oN записывает его в файл.
-oX является форматом, которого ждут другие инструменты, включая Ndiff.
-oG является стилем в одну строку для быстрого поиска. Для архива лучше XML.
-oA записывает обычный, XML и grepable файлы из одного сканирования. 7.991 также позволяет --stats-every печатать ход работы, когда терминала нет, вместе с --noninteractive.