Вывод результатов
Любая утилита безопасности полезна ровно настолько, насколько полезны выдаваемые ею результаты. Различные сложные тесты и алгоритмы имеют мало пользы, если они не представлены в хорошо организованной и удобной для понимания форме. Предоставляя разлиные способы вывода результатов Nmap используется людьми и программным обеспечением, т.к. нет такого формата, который подходил бы всем. Поэтому Nmap предлагает несколько форматов, включая интерактивный режим для чтения людьми и XML для удобного анализа программным обеспечением.
В дополнении к предоставлению различных форматов вывода, Nmap предлагает опции для упрваления уровнем вербальности выходных данных и отладочных сообщений. Результаты могут быть направлены на стандартный вывод или в файлы, причем Nmap может как добавлять в конец файлов, так и создавать новые. Выходные файлы также могут быть использованы для продолжения остановленного сканирования.
Nmap предоставляет пять различных выходных форматов. Формат по умолчанию называется интерактивный вывод,, результаты передаются на стандартный вывод (stdout). Есть также нормальный вывод,, который подобен интерактивному, за исключением того, что в процессе работы выводится меньше информации и предупреждений, т.к. предполагатеся, что эти результаты будут анализироваться после завершения сканирования, а не интерактивно.
XML вывод это один из наиболее важных выходных форматов, т.к. он может быть конвертирован в HTML, лего анализируется программами типа графического пользовательского интерфейса Nmap или может быть экспортирован в базу данных.
Оставшимися двумя форматами являются grepable формат, который содержит большую часть о целевом хосте в одной строке, и sCRiPt KiDDi3 0utPUt для пользователей, которые считают себя |<-r4d.
В то время как интерактивный вывод устанавливается по умолчанию и не имеет связанных с ним опций командой строки,
опции остальных четырех форматов вывода имеют похожий синтаксис. В качестве аргумента они принимают имя файла, где
должны храниться результаты. Возможно испльзование нескольких форматов, но каждый из них должен быть задан только один
раз. Например, вы хотите сохранить результаты предоставляемые форматом нормального вывода для себя, и в то же время
сохранить в формате XML результаты того же сканирования для анализа программами. Вы можете сделать это с помощью опции
-oX myscan.xml -oN myscan.nmap
. Для краткости здесь используются простые имена типа
myscan.xml
, но рекомендуется использовать более описательные имена. Каждый
выбирает имена по своему; я обычно использую длинные имена, содержащие дату сканирования и пару слов описания, и
помещаю эти файлы в директории с именем компании, которую я сканирую.
Хотя с помощью этих опций информация сохраняется в файлы, Nmap по-прежнему выводит интерактивную информацию на
стандартный вывод. Например, с помощью опции nmap -oX myscan.xml target XML
сохраняется в файл myscan.xml
, а стандартный вывод заполняется информацией, как
если бы опция -oX
вообще не была задана. Вы можете изменить это поведение передав в качестве
аргумента к одному из форматов вывода символ дефиса. Это деактивирует интерактивный вывод, а на стандартный вывод
будет пересылаться информация в заданном вами формате. Поэтому с помощью команды
nmap -oX - target на стандартный вывод будет пересылаться только XML.
Серьезный ошибки могут выводиться в стандартный поток ошибок, stderr.
В отличии от некоторых аргументов Nmap, пробел между флагом формата файла (например, -oX
) и
именем файла или дефисом здесь обязателен. Если вы опустите флаги и зададите аргументы типа -oG-
или
-oXscan.xml
, из-за функции обратной совместимости Nmap будут созданы файлы
нормального формата с именами G-
и
Xscan.xml
соответственно.
Все эти аргументы поддерживают strftime
перобразования в именах файлов. %H
, %M
,
%S
, %m
, %d
,
%y
и %Y
это то же самое что и в
strftime
. %T
то же самое что и
%H%M%S
, %R
то же самое что и
%H%M
и %D
то же самое что и
%m%d%y
. Знак %
, после которого следует любой
символ просто даст этот символ (%%
даст вам символ процента). Поэтому опция
-oX 'scan-%T-%D.xml'
будет использовать XML файл в формате
scan-144840-121307.xml
.
Nmap также предоставляет опции для управления вербальностью сканирования, а также для добавления в конец файлов вместо их перезаписи. Все эти опции описаны ниже.
-
-oN
(Нормальный вывод)<имя_файла>
-
-oX
(XML вывод)<имя_файла>
Перенаправляет
XML вывод
в заданный файл. Nmap включает определение типа документа (DTD), что позволяет XML парсерам использовать XML вывод Nmap. Изначально это предназначалось для программного использования, хотя это также позволяет людям интерпретировать XML вывод Nmap. DTD определяет возможные элементы, а также перечисляет атрибуты и значения, которые они могут принимать. Последняя версия всегда доступна наhttps://nmap.org/data/nmap.dtd
.XML предоставляет формат, который легко обрабатывается программным обеспечением. Бесплатные XML парсеры, доступны для всех основных языков программирования, включая C/C++, Perl, Python и Java. Люди даже написали привязки для большинства из этих языков для обработки выходных данных Nmap. Примерами являются Nmap::Scanner и Nmap::Parser на Perl CPAN. В большинстве случаев взаимодействия какого-либо приложения и Nmap, XML является предпочитаемым форматом.
-
-oS
(ScRipT KIdd|3 oUTpuT)<имя_файла>
-
-oG
(grepable вывод)<имя_файла>
Grepable вывод состоит из комментариев (линий начинающихся с #) и строк описывающих цели. Каждая строка включает комбинацию из 6 помеченных полей, разделенных знаками табуляции и оканчивающихся двоеточием. Поля следующие:
Хост
,Порты
,Протоколы
,Ignored State
,ОС
,Seq Index
,IP ID
иСтатус
.Как и в случае с XML выводом, это руководство не позволяет полностью описать формат. Более подробное описание этого формата доступно с
https://nmap.org/book/output-formats-grepable-output.html
.-
-oA
(Использовать все форматы вывода)<базовое_имя_файла>
-
-v
(Увеличить уровень вербальности) Увеличение уровня вербальности влечет за собой вывод большего количества информации во время сканирования. Когда Nmap предполагает, что сканирование займет больше нескольких минут, будет выводиться приблизительное время завершения работы и открытые порты по мере их обнаружения. Задайте эту опцию дважды или более для увеличения количества выводимой информации.
-
-d [уровень]
(Увеличить или установить уровень отладки) Когда даже вербальный режим не предоставляет вам достаточную информацию, вы можете использовать отладку! Отладка активируется опцией командной строки (
-d
), и уровень отладочной информации может быть увеличен путем задания этой опции несколько раз. В качестве альтернативы, вы можете передать уровень отладки как аргумент опции-d
. Например, опцией-d9
устанавливается девятый уровень. Это наивысший уровень, который будет предоставлять тысячи строк, до тех пор пока вы не запустите очень простое сканирование небольшого количества целей.Отладка полезна, если вы предполагаете, что в Nmap есть баг, или если вы просто озадачены тем, что делает Nmap и почему. Т.к. эта функция по большому счету предназначена для разработчиков, то выходная информация не всегда понятна. Вы можете получить что-то типа:
Timeout vals: srtt: -1 rttvar: -1 to: 1000000 delta 14987 ==> srtt: 14987 rttvar: 14987 to: 100000
. Если вы не понимаете, что это означает, вы можете проигнорировать эту информацию, посмотреть в исходному коде или попросить помощи у разработчиков (nmap-dev). Некоторые линии довольно понятны, но сообщения становятся более неясными с увеличением уровня отладки.-
--packet-trace
(Отслеживание принятых и переданных пакетов и данных) -
--open
(Показывать только открытые (или возможно открытые) порты) -
--iflist
(Вывести список интерфейсов и роутеров) -
--log-errors
(Записывать ошибки/предупреждения в выходной файл нормального режима)
-
--append-output
(Добавлять в конец, а не перезаписывать выходные файлы) -
--resume
(Продолжить прерванное сканирование)<имя_файла>
-
--stylesheet
(Устанавливает XSL таблицу стилей для преобразования XML вывода)<путь или URL>
Nmap использует XSL таблицу стилей
nmap.xsl
для просмотра или перевода XML вывода в HTML. XML вывод включает директивуxml-stylesheet
, которая указывает на файлnmap.xml
, туда, где он был размещен Nmap при установке (или на текущую рабочую директорию в Windows). Просто загрузите XML вывод Nmap в любой современный веб браузер, и он самостоятельно найдет файлnmap.xsl
для отображения результатов. Если вы хотите использовать другой файл таблицы стилей, то передайте имя этого файла в качестве аргумента опции--stylesheet
. Вы должны использовать полный путь к файлу или URL. Один из примеров:--stylesheet https://nmap.org/data/nmap.xsl
. Эта опция указывает браузеру загружать последнюю версию таблицы стилей с Nmap.Org. Опция--webxml
делает то же самое, но без лишнего набора на клавиатуре и запоминания. Загрузка XSL с Nmap.Org облегчает просмотр результатов на машине, на которой не установленна Nmap (и поэтому нет файлаnmap.xsl
). Поэтому URL часто бывает более полезен, но локальный файлnmap.xsl
используется по умолчанию из соображений приватности.-
--webxml
(Загружает таблицу стилей с Nmap.Org) Эта опция является просто псевдонимом
--stylesheet https://nmap.org/data/nmap.xsl
.-
--no-stylesheet
(Убрать объявление XSL таблицы стилей из XML)