Nmap также предоставляет механизм сокращений для задания таких опций. Просто передайте в качестве аргумента букву R, Tили U для задания опции записи маршрута, записи временной метки или обеих соответственно. Ослабление или ужесточение отслеживания источника может быть задано с помощью L или S, затем пробела, а затем разделенный пробелами список IP адресов.
Если вы хотите заданные опции в передаваемых и получаемых пакетах, задайте опцию --packet-trace. Для большей информации и примеров использования IP опций с Nmap, смотрите http://seclists.org/nmap-dev/2006/q3/0052.html.
--ttl <значение> (Установить IP поле time-to-live (время жизни)
Устанавливает IPv4 поле time-to-live в посылаемых пакетах в соответствии с заданным значением.
--randomize-hosts (Использовать произвольный порядок целей сканирования)
Указывает Nmap перемешать каждую группу, содержащую до 16384 хостов, перед началом сканирования. Это может сделать сканирование менее заметным для различного рода систем сетевого мониторинга, особенно если вы используете низкие значения таймингов. Если вы хотите перемешивать большие по размеру группы, то увеличьте значение PING_GROUP_SZ в nmap.hи перекомпилируйте программу. Альтернативным решением является генерация списка целевых IP адресов (-sL -n -oN <имя_файла>), обработка его с помощью Perl скрипта и затем передача его Nmap в качестве параметра опции -iL.
--spoof-mac
Указывает Nmap использовать заданный MAC адрес для всех отсылаемых сырых ethernet фреймов. Эта опция подразумевает использование, --send-eth чтобы быть уверенным, что Nmap действительно использует пакеты уровня ethernet. MAC адрес может быть задан в нескольких форматах. Если это просто число 0, то Nmap выбирает полностью произвольный MAC адрес для сессии. Если задается строка в виде простого набора шестнадцатиричных цифр (можно разделять пары двоеточиями), то Nmap будет использовать эту строку в качестве MAC адреса. Если задано менее 12-ти шестнадцатиричных цифр, то Nmap заполняет остаток из 6 байтов произвольными значениями. Если в качестве аргумента не передается ни 0, ни шестнадцатиричная строка, то Nmap просматривает nmap-mac-prefixes в поисках названия производителя, содержащего данную строку (нечувствительна к регистру). Если найдено совпадение, то Nmap использует OUI производителя (3-х байтный префикс), а оставшиеся 3 байта заполняет произвольно. Примеры аргументов опции --spoof-mac: Apple, 0, 01:02:03:04:05:06, deadbeefcafe, 0020F2 и Cisco. Эта опция оказывает влияние только на сканирования с использованием сырых пакетов, такие как SYN сканирование или определение ОС, а также не ориентированные на соединение функции, такие как определение версии или Nmap Scripting Engine (NSE).
--badsum (Посылать пакеты с фиктивными TCP/UDP контрольными суммами)
Указывает Nmap использовать неправильные TCP или UDP контрольные суммы для пакетов, отправляемых на целевой хост. Т.к. практически все реализации стека IP просто не обрабатывают такие пакеты, то любые ответы скорее всего приходят от брандмауэров или IDS, которые не обременяют себя проверкой контрольной суммы. Более детальное описание этой техники смотрите на https://nmap.org/p60-12.html
Вывод результатов
Любая утилита безопасности полезна ровно настолько, насколько полезны выдаваемые ею результаты. Различные сложные тесты и алгоритмы имеют мало пользы, если они не представлены в хорошо организованной и удобной для понимания форме. Предоставляя различные способы вывода результатов 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 также предоставляет опции для управления вербальностью сканирования, а также для добавления в конец файлов вместо их перезаписи. Все эти опции описаны ниже.
Форматы вывода 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 является предпочитаемым форматом.
XML вывод связывается с XSL таблицей стилей, которая используется для форматирования результатов как HTML. Самым легким способом использования этой возможности является загрузка XML вывода в браузер типа Firefox или IE. По умолчанию это будет работать только на машине, на которой установлена Nmap (или настроенной аналогично) из-за жесткой привязки полного пути файла nmap.xsl. Используйте опции --webxml или --stylesheet для создания XML файлов отображаемых как HTML только на подключенной к интернету машине.
-oS <имя_файла> (ScRipT KIdd|3 oUTpuT)
Script kiddie формат практически такой же как и интерактивный, за тем исключением, что после окончания сканирования он перерабатывается, чтобы больше подходит l33t HaXXorZ, который смотрит свысока на Nmap из-за постоянного использования заглавных букв и правописания. Лишенные чувства юмора люди должны иметь ввиду, что эта опция высмеивает script kiddies, перед тем как ругать меня за то, что я якобы «помогаю им».
-oG <имя_файла> (grepable вывод)
Это формат обсуждается последним, т.к. он нежелателен для использования. Формат вывода XML намного мощенее, а также особенно удобен для опытных пользователей. XML это стандарт, для которого доступны дюжины отличных парсеров, в то время как grepable вывод всего лишь мое простое изобретение. XML достаточно гибок для поддержания новых функций Nmap по мере их выхода, тогда как мне частенько приходится опускать некоторые возможности grepable вывода из-за н