• Открыта запись на вторую часть курса по анонимности и безопасности в сети интернет "Paranoid II" от команды codeby. Анонимные роутеры, Подъём, настройка и администрирование Tor-ноды, Работа с железом ПК, Удаление аппаратных закладок, Минимизация рисков, Авторские разработки и многое другое. Подробнее ...

Статья Как вывести результаты сканирования nmap

The Codeby

The Codeby

ООО Кодебай
30.12.2015
3 247
4 658
Оглавление книги Книга по Nmap на русском
Предыдущая часть Как обойти брандмауэры при сканировании nmap

Как вывести результаты сканирования nmap

В данной главе рассмотрим:
  • Вывод результатов
  • Различные опции
  • Взаимодействие во время выполнения
  • Примеры
Вывод результатов nmap

Любая утилита безопасности полезна ровно настолько, насколько полезны выдаваемые ею результаты. Различные сложные тесты и алгоритмы имеют мало пользы, если они не представлены в хорошо организованной и удобной для понимания форме. Предоставляя разлиные способы вывода результатов 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 определяет возможные элементы, а также перечисляет атрибуты и значения, которые они могут принимать. Последняя версия всегда доступна на .

XML предоставляет формат, который легко обрабатывается программным обеспечением. Бесплатные XML парсеры, доступны для всех основных языков программирования, включая C/C++, Perl, Python и Java. Люди даже написали привязки для большинства из этих языков для обработки выходных данных Nmap. Примерами являются и на 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 вывода из-за недостатка места.

Тем не менее, этот формат вывода все еще довольно популярен. Это простой формат, который просто описывает каждый хост в одну строку и может быть легко обработан стандартными Unix утилитами как grep, awk, cut, sed, diff и Perl. Даже я иногда использую этот формат вывода. Поиск хостов, на которых открыт SSH порт или работает Solaris сводится к простой передаче результатов утилите grep, а затем утилитам типа awk или cut для вывода желаемой информации.

Grepable вывод состоит из комментариев (линий начинающихся с #) и строк описывающих цели. Каждая строка включает комбинацию из 6 помеченных полей, разделенных знаками табуляции и оканчивающихся двоеточием. Поля следующие: Хост, Порты, Протоколы, Ignored State, ОС, Seq Index, IP ID и Статус.

Наиболее важным из этих полей обычно является Порты, где дается описание каждого интересного порта. Это поле представляет собой разделенный запятыми список портов. Каждый элемент этого списка описывает один интересный порт и состоит из семи подполей, разделенных знаком косой черты (/). Подполя следующие: Номер порта, Состояние, Протокол, Владелец, Служба, SunRPC информация и Информация о версии.

Как и в случае с XML выводом, это руководство не позволяет полностью описать формат. Более подробное описание этого формата доступно с .
Код:
-oA <базовое_имя_файла> (Использовать все форматы вывода)
Для удобства вы можете задать опцию -oA <базовове_имя_файла>, чтобы сохранить результаты сканирования в обычном, XML и grepable форматах сразу. Они будут содержаться в файлах <базовове_имя_файла>.nmap, <базовове_имя_файла>.xml и <базовове_имя_файла>.gnmap соответственно. Как и с большинством программ вы можете предварять имя файла путем к директории, например, ~/nmaplogs/foocorp/ для Unix или c:hackingsco для Windows.

Опции управления вербальностью и отладкой
Код:
-v (Увеличить уровень вербальности)
Увеличение уровня вербальности влечет за собой вывод большего количества информации во время сканирования. Когда Nmap предполагает, что сканирование займет больше нескольких минут, будет выводиться приблизительное время завершения работы и открытые порты по мере их обнаружения. Задайте эту опцию дважды или более для увеличения количества выводимой информации.

Большинство изменений касаются только интерактивного режима; некоторые также нормального и script kiddie режимов. Остальные форматы вывода предназначены для обработки машинами, поэтому вся необходимая информация выдается Nmap по умолчанию. Тем не менее существуют несколько изменений в других режимах, когда размер выходной информации может быть существенно сокращен путем отбрасывания некоторых деталей. Например, линия комментариев в grepable формате, предоставляющая список всех просканированных портов, выводится только в вербальном режиме, т.к. список может быть довольно длинный.
Код:
-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 (Отслеживание принятых и переданных пакетов и данных)
Указывает Nmap выводить краткую информацию о каждом принятом и отправленном пакете. Обычно используется для отладки, но также может быть полезна новичкам для понимания того, что же действительно делает Nmap. Чтобы избежать вывода тысяч строк, вы можете ограничить количество портов для сканирования, например опцией -p20-30. Если вас интересует только то, что происходит при процессе определения версии, то вместо этой опции используйте –version-trace.
Код:
–open (Показывать только открытые (или возможно открытые) порты)
Иногда вас интересуют только порты, к которым вы фактически можете подключиться (а именно открытые), и вам не нужны результаты о закрытых, фильтруемых и закрытых|фильтруемых портах. Обработка выходной информации может быть легко произведена с помощью таких утилит как grep, awk и Perl, но по многочисленным просьбам эта функция была добавлена в Nmap. Задайте опцию –open, чтобы видеть информацию только об открытых, открытых|фильтруемых и не фильтруемых портах. Эти три типа портов расцениваются как обычно, что означает, что открытые|фильтруемые и нефильтруемые порты могут быть приняты во внимание, если их набралось большое количество.
Код:
–iflist (Вывести список интерфейсов и роутеров)
Выводит список интерфейсов и системных роутеров, обнаруженных Nmap. Это полезно для отладки проблем с роутерами и неправильного описания устройств (когда, например, Nmap рассматривает PPP соединение как ethernet).
Код:
–log-errors (Записывать ошибки/предупреждения в выходной файл нормального режима)
Обычно предупреждения и ошибки выводятся Nmap только на экран (интерактивный вывод), и не сохраняются в файлах нормального режима вывода (заданных опцией -oN). Если вы хотите записывать эти сообщения в заданные вами файлы, то используйте эту. Это может быть полезно, если вы не просматриваете интерактивный вывод или хотите сохранить все ошибки во время отладки какой-либо проблемы. Сообщения об ошибках и предупреждениях по-прежнему будут выводится в интерактивном режиме. Это не будет работать для большинства ошибок, вызванных неправильным заданием аргументов командой строки, т.к. Nmap может не успеть проинициализировать выходные файлы этих команд. В дополнении ко всему, некоторые предупреждения и ошибки Nmap используют другую систему, которая еще не поддерживает данную опцию.

Альтернативой опции –log-errors может служить перенаправление интерактивного вывода (включая стандартный поток ошибок) в файл. Большинство командных оболочек Unix легко справится с этим, но это может быть проблематично на Windows.

Различные опции вывода
Код:
–append-output (Добавлять в конец, а не перезаписывать выходные файлы)
Когда вы передаете в качестве аргумента какому-либо флагу формата вывода (например, -oX или -oN) имя файла, то по умолчанию этот файл перезаписывается. Если вы хотите оставить текущее содержание файла, а новые результаты добавлять в конец, используйте опцию –append-output. В результате все указанные файлы вывода не будут перезаписываться, а новое содержимое будем добавляться в конец. Существуют некоторые сложности с XML выводом (-oX), т.к. результирующий файл в этом случае обычно не сможет быть правильно проанализирован программами, пока не вы подправите его вручную.
Код:
–resume <имя_файла> (Продолжить прерванное сканирование)
Некоторые всесторонние варианты сканирования Nmap могут занимать очень продолжительное время – порядка нескольких дней. И они не всегда работают до завершения. Различные ограничения могут не позволить Nmap сканировать в течении рабочих часов, сеть может перестать работать, машина, на которой запущена Nmap может быть перезагружена, или сама Nmap может вылететь. Администратор, использующий Nmap, может отменить сканирование по каким-то другим причинам, просто нажав ctrl-C. Запуск целого сканирования с самого начала может быть нежелателен. К счастью, если были сохранены логи нормального (-oN) или grepable формата (-oG), пользователь может продолжить сканирование с того места, на котором оно было остановлено. Просто задайте опцию –resume и передайте в качестве аргумента имя выходного файла обычного или grepable формата. Никакие другие опции использовать не разрешается, т.к. Nmap будет продолжать сканирование с заданными ранее опциями. Просто запустите Nmap командой nmap –resume<имя_лог_файла>. Nmap будет добавлять новые результаты к выходным файлам, определенным при предыдущем запуске. Выходные файлы формата XML не поддерживаются функцией возобновления работы, т.к. комбинирование результатов двух сканирований в один правильный XML файл является сложной задачей.
Код:
–stylesheet <путь или URL> (Устанавливает XSL таблицу стилей для преобразования XML вывода)
Nmap использует XSL таблицу стилей nmap.xsl для просмотра или перевода XML вывода в HTML. XML вывод включает директиву xml-stylesheet, которая указывает на файл nmap.xml, туда, где он был размещен Nmap при установке (или на текущую рабочую директорию в Windows). Просто загрузите XML вывод Nmap в любой современный веб браузер, и он самостоятельно найдет файл nmap.xsl для отображения результатов. Если вы хотите использовать другой файл таблицы стилей, то передайте имя этого файла в качестве аргумента опции –stylesheet. Вы должны использовать полный путь к файлу или URL. Один из примеров: –stylesheet . Эта опция указывает браузеру загружать последнюю версию таблицы стилей с Nmap.Org. Опция –webxml делает то же самое, но без лишнего набора на клавиатуре и запоминания. Загрузка XSL с Nmap.Org облегчает просмотр результатов на машине, на которой не установленна Nmap (и поэтому нет файла nmap.xsl). Поэтому URL часто бывает более полезен, но локальный файл nmap.xsl используется по умолчанию из соображений приватности.
Код:
–webxml (Загружает таблицу стилей с Nmap.Org)
Эта опция является просто псевдонимом –stylesheet .
Код:
–no-stylesheet (Убрать объявление XSL таблицы стилей из XML)
Задайте эту опцию, чтобы не ассоциировать какую-либо XSL таблицу стилей с XML выводом. В этом случае директива xml-stylesheet опускается.

Различные опции

В этой секции описываются некоторые важные (и не очень важные) опции, которые не подходят к другим категориям.
Код:
-6 (Включает IPv6 сканирование)
Начиная с 2002 года Nmap имеет поддержку протокола IPv6 для своих наиболее используемых функций. В частности, пинг сканирование (только TCP), выявление возможности установки соединения и определение версии имеют поддержку протокола IPv6. Синтаксис команд такой же как и обычный за исключением того, что вы добавляете опцию -6. Конечно же, вы должны использовать синтаксис IPv6, если вы указываете адрес, а не имя хоста. Адрес может выглядеть как 3ffe:7501:4819:2000:210:f3ff:fe03:14d0, поэтому лучше использовать имена хостов. Вывод выглядит так же как и обычный, только на линии “интересных портов” будет IPv6 адрес.

Хотя протокол IPv6 еще не завоевал весь мир, в некоторых (обычно Азиатских) странах он используется интенсивно, и большинство современных операционных систем поддерживают его. Чтобы использовать Nmap с протоколом IPv6, и источник и цель сканирования должны быть настроены на работу с ним. Если ваш ISP (как большинство из них) не предоставляет вам IPv6 адрес, вы можете использовать широко распространенный и работающий с Nmap сервис Tunnel Brokers. Я использую бесплатный сервис на . Другие подобные сервисы перечислены на .
Код:
-A (Опции агрессивного сканирования)
Этой опцией активируется набор агрессивных опций сканирования. Я еще не решил до конца, какие же опции будут использоваться. Сейчас этот набор включает определение ОС (-O), сканирование с целью определения версии (-sV), сканирование с использованием скриптов (-sC) и трассировку (–traceroute). Возможно в будущем будут добавлены другие функции. Целью является создание всестороннего набора опций сканирования, чтобы людям не надо было запоминать большое количество флагов. Тем не менее, т.к. сканирование с использованием скриптов с настройками по умолчанию расценивается как "назойливое", вам не следует использовать опцию -A для сканирования целевых сетей без разрешения. Эта опция активирует только возможности, но не устанавливает опции времени (timing) (такие как -T4) или опции вербального вывода (-v), которые вы, возможно, хотели бы использовать.
Код:
–datadir <имя_директории> (Определяет место расположения файлов Nmap)
Во время работы Nmap получает некоторые данные из файлов nmap-service-probes, nmap-services, nmap-protocols, nmap-rpc, nmap-mac-prefixes и nmap-os-db. Если место расположение какого-либо из этих файлов было задано конкретно (используя опции –servicedb или –versiondb), то оно используется для этого файла. Далее Nmap ищет эти файлы в директории, заданной опцией –datadir (если задана). Если файлы не были найдены там, то Nmap ищет их в директории, определенной переменной окружения NMAPDIR . Далее идут ~/.nmap для реальных и действующих в данный момент UIDs (только POSIX системы) или расположение исполняемого файла Nmpa (только Win32), и далее /usr/local/share/nmap или /usr/share/nmap. В последнюю очередь Nmap будет искать эти файлы в текущей директории.
Код:
–servicedb <файл_служб> (Задает определенный файл служб)
Указывает Nmap использовать заданный файл служб вместо файла nmap-services, который поставляется вместе с Nmap. Использование этой опции также подразумевает использование опции быстрого сканирования (-F). Смотрите описание –datadir для более подробной информации о файлах данных Nmap.
Код:
–versiondb <файл_запросов_служб> (Задает определенный файл запросов для служб)
Указывает Nmap использовать заданный файл запросов для служб вместо файла nmap-service-probes, который поставляется вместе с Nmap. Смотрите описание –datadir для более подробной информации о файлах данных Nmap.
Код:
–send-eth (Использовать сырой уровень ethernet)
Указывает Nmap посылать пакеты с использование более низкого сырого уровня ethernet, а не с использованием более высокого уровня IP (сетевого). По умолчанию Nmap выбирает тот способ, который больше подоходит для используемой платформы. Сырые сокеты (уровень IP) в общем случае более эффективны для Unix машин, в то время как использование ethernet фреймов необходимо для операционных систем Windows, т.к. Microsoft отключила в них поддержку сырых сокетов. Nmap по-прежнему использует сырые IP пакеты на Unix не смотря на эту опцию, когда нет другого выбора (как в случае с не-ethernet соединениями).
Код:
–send-ip (Использовать сырой уровень IP)
Указывает Nmap посылать пакеты с использование сырых IP сокетов, а не с использованием более низкого уровня ethernet фреймов. Это дополнение к опции –send-eth описанной выше.
Код:
–privileged (Подразумевать, что у пользователя есть все привилегии)
Указывает Nmap, что у нее есть необходимые привилегии для использования сырых сокетов, пакетного сниффинга и сходных операций, которые обычно требуют привилегий пользователя root на Unix системах. По умолчанию Nmap завершает работу, если были запрошены такие опреации, но geteuid не нуль. Опцию –privileged хорошо использовать на системах с возможностями ядра Linux или подобных, которые могут быть сконфигурированы так, что непривилегированные пользовтели смогут осуществлять сканирование с использованием сырых сокетов. Удостоверьтесь, что эта опция указана перед любымими опциями требующими привилегий (сканирование SYN, определение ОС и т.д.). Переменная окурежния NMAP_PRIVILEGED может быть установлена как равнозначная альтернатива опции –privileged.
Код:
–unprivileged (Подразумевать, что у пользователя нет привилегий для использования сырых сокетов)
Эта опция противоположна –privileged. Указывает Nmap, что у пользователя нет привилегий для использования сырых сокетов и сниффинга. Полезна для тестирования, отладки или когда по какой-то причине на вашей системе не работае механизм сырых сокетов. Переменная окружения NMAP_UNPRIVILEGED может быть установлена как равнозначная альтернатива опции –unprivileged.
Код:
–release-memory (Освободить память перед завершением работы)
Эта опция полезна только во время отладки утечки памяти. Заставляет Nmap освободить занянутю память перед завершением работы, что облегчает задачу обнаружения действительной утечки памяти. В обычном режиме работы Nmap пропускает этот шаг, так ОС делает это самостоятельно при закрытии процесса.
Код:
–interactive (Запустить в интерактивном режиме)
Запускает Nmap в интерактивном режиме, который предлагает интерактивные подсказки Nmap, позволяющие запускать несколько процессов сканирования (параллельно или в фоне). Эта опция полезна для людей, которые запускают сканирование с многопользовательской системы, т.к. они часто хотят протестировать свою безопасность, при этом не давая узнать кому-либо другому в системе, что является целью их сканирования. Используйте опцию –interactive, для запуска этого режима, а затем нажмите h для справки. Эта опция используется редко, т.к. собственные командные оболочки более знакомы и содержат больше возможностей. Эта опция включает оператор (!) для запуска команд оболочки, что является одной из многих причин, почему не следует устанавливать Nmap setuid root. setuid root.
Код:
-V; –version (Вывести номер версии)
Выводит номер версии Nmap и завершает работу.
Код:
-h; –help (Вывести страницу помощи)
Выводит небольшую страницу помощи с наиболее часто используемыми командами и опциями. Запуск Nmap без аргументов приводит к такому же результату.

Взаимодействие во время выполнения

Во время работы Nmap, все нажатые клавиши фиксируются. Это позволяет вам взаимодействовать с программой не прерывая и не перезапуская ее. С помощью некоторых клавиш можно изменить опции сканирования, при использовании же других будут выведены сообщения о текущем статусе сканирования. Существует договоренность, что строчные буквы увеличивают количество выводимой информации, а прописные буквы уменьшают. Для справки можно нажать ‘?’.

v / V - Увеличить / уменьшить уровень вербальности
d / D - Увеличить / уменьшить отладочный уровень
p / P - Включить / выключить отслеживание пакетов
? - Вывести справку о взаимодействии во время выполнения
Что-либо другое - Выведет сообщение типа:
Код:
Stats: 0:00:08 elapsed; 111 hosts completed (5 up), 5 undergoing Service Scan
Service scan Timing: About 28.00% done; ETC: 16:18 (0:00:15 remaining)
Примеры

Здесь приведены несколько примеров использования Nmap, от самых простых до более изощренных. Некоторые реально существующие IP адреса и доменные имена использованны для того, чтобы сделать примеры более конкретными. На их место вы должны подставить адреса/имена из вашей собственной сети.. В то время как сканирование портов некоторой сети не является незаконным, некоторым администраторам сетей может не понравиться своевольное сканирование их сетей и они могут пожаловаться. Для начала постарайтесь получить разрешение.

В целях тестирования у вас есть разрешение сканировать scanme.nmap.org. Вы можете использовать сканирование с помощью Nmap, но не тестировать эксплоиты или производить атаки отказа в обслуживании. Для того чтобы не перегружать канал, пожалуйста, не производите более дюжины сканирований этого хоста в день. В случае злоупотребления этим свободным для сканирования хостом, он будет отключен и Nmap выдаст Failed to resolve given hostname/IP: scanme.nmap.org (не могу разрешить данное имя/IP: scanme.nmap.org). Все выше сказанное также относится и к хостам scanme2.nmap.org, scanme3.nmap.org, и так далее, несмотря на то, что эти хосты еще не существуют.
Код:
nmap -v scanme.nmap.org
Этой командой будут просканированы все TCP порты машины scanme.nmap.org . Опция -v активирует вербальный режим.
Код:
nmap -sS -O scanme.nmap.org/24
Этой командой будет произведено скрытное SYN сканирование всех 255 машин сети “класса C”, в которой расположена машина Scanme. Также будет произведена попытка определения операционной системы на каждом работающем хосте. Из-за SYN сканирования и опции определения ОС данная команда требует привилегий суперпользователя (root).
Код:
nmap -sV -p 22,53,110,143,4564 198.116.0-255.1-127
Запускает перебор хостов и TCP сканирование первой половины всех (из доступных 255) 8 битных подсетей адресного пространства 198.116 класса B. Также проверяет запущены ли SSH, DNS, POP3 или IMAP с использованием их стандартных портов, а также использует ли какое-нибудь приложение порт 4564. Если какой-нибудь из этих портов открыт, то будет произведена попытка определения работающего с этим портом приложения.
Код:
nmap -v -iR 100000 -PN -p 80
Указывает Nmap выбрать случайным образом 100,000 хостов и просканировать их на наличие запущенных на них веб-серверов (порт 80). Перебор хостов отключен опцией -PN, т.к. посылка пары предварительных запросов с целью определения доступности хоста является нецелесообразной, когда вас интересует всего один порт на каждом хосте.
Код:
nmap -PN -p80 -oX logs/pb-port80scan.xml -oG logs/pb-port80scan.gnmap 216.163.128.20/20
Этой командой будут просканированы 4096 IP адресов (без предварительного пингования), а выходные данные будут сохранены в фомате XML и формате, удобном для просмотра утилитой grep (grepable формат).
 
Мы в соцсетях: