Главная · Windows · Nmap быстрое сканирование. Как запустить простое сканирование Nmap

Nmap быстрое сканирование. Как запустить простое сканирование Nmap

nmap [ <Тип сканирования> ...] [ <Опции> ] { <цель сканирования> }

Описание

Nmap («Network Mapper » ) - это утилита с открытым исходным кодом для исследования сети и проверки безопасности. Она была разработана для быстрого сканирования больших сетей, хотя прекрасно справляется и с единичными целями. Nmap использует "сырые" IP пакеты оригинальным способом, чтобы определить какие хосты доступны в сети, какие службы (название приложения и версию) они предлагают, какие операционные системы (и версии ОС) они используют, какие типы пакетных фильтров/брандмауэров используются и еще множество других характеристик. В то время, как Nmap обычно используется для проверки безопасности, многие системные администраторы находят ее полезной для обычных задач, таких как контролирование структуры сети, управление расписаниями запуска служб и учет времени работы хоста или службы.

Выходные данные Nmap это список просканированных целей с дополнительной информацией по каждой из них в зависимости от заданных опций. Ключевой информацией является «таблица важных портов » . Эта таблица содержит номер порта, протокол, имя службы и состояние. Состояние может иметь значение open (открыт), filtered (фильтруется), closed (закрыт) или unfiltered (не фильтруется). Открыт означает, что приложение на целевой машине готово для установки соединения/принятия пакетов на этот порт. Фильтруется означает, что брандмауэр, сетевой фильтр, или какая-то другая помеха в сети блокирует порт, и Nmap не может установить открыт этот порт или закрыт. Закрытые порты не связаны ни с каким приложением, но могут быть открыты в любой момент. Порты расцениваются как не фильтрованные , когда они отвечают на запросы Nmap, но Nmap не может определить открыты они или закрыты. Nmap выдает комбинации открыт|фильтруется и закрыт|фильтруется , когда не может определить, какое из этих двух состояний описывает порт. Эта таблица также может предоставлять детали о версии программного обеспечения, если это было запрошено. Когда осуществляется сканирование по IP протоколу (-sO), Nmap предоставляет информацию о поддерживаемых протоколах, а не об открытых портах.

В дополнение к таблице важных портов Nmap может предоставлять дальнейшую информацию о целях: преобразованные DNS имена, предположение об используемой операционной системе, типы устройств и MAC адреса.

Типичное сканирование с использованием Nmap показано в Пример 1 . Единственные аргументы, использованные в этом примере - это -A , для определения версии ОС, сканирования с использованием скриптов и трассировки; -T4 для более быстрого выполнения; затем два целевых хоста.

Пример 1. Типичный пример сканирования с помощью Nmap

# nmap -A -T4 scanme..org) Interesting ports on scanme.сайт (64.13.134.52): (The 1663 ports scanned but not shown below are in state: filtered) PORT STATE SERVICE VERSION 22/tcp open ssh OpenSSH 3.9p1 (protocol 1.99) 53/tcp open domain 70/tcp closed gopher 80/tcp open http Apache httpd 2.0.52 ((Fedora)) 113/tcp closed auth Device type: general purpose Running: Linux 2.4.X|2.5.X|2.6.X OS details: Linux 2.4.7 - 2.6.11, Linux 2.6.0 - 2.6.11 Interesting ports on playground..168.0.40): (The 1659 ports scanned but not shown below are in state: closed) PORT STATE SERVICE VERSION 135/tcp open msrpc Microsoft Windows RPC 139/tcp open netbios-ssn 389/tcp open ldap? 445/tcp open microsoft-ds Microsoft Windows XP microsoft-ds 1002/tcp open windows-icfw? 1025/tcp open msrpc Microsoft Windows RPC 1720/tcp open H.323/Q.931 CompTek AquaGateKeeper 5800/tcp open vnc-http RealVNC 4.0 (Resolution 400x250; VNC port: 5900) 5900/tcp open vnc VNC (protocol 3.8) MAC Address: 00:A0:CC:63:85:4B (Lite-on Communications) Device type: general purpose Running: Microsoft Windows NT/2K/XP OS details: Microsoft Windows XP Pro RC1+ through final release Service Info: OSs: Windows, Windows XP Nmap finished: 2 IP addresses (2 hosts up) scanned in 88.392 seconds


Самую новую версию Nmap можно скачать с

Ниже вы найдете 20 базовых примеров использования команды Nmap .

Вы узнаете, как использовать Nmap из командной строки в Linux для поиска активных хостов в сети и сканирования открытых портов.

Вы увидите, как удаленно определить операционную систему с помощью отпечатков стека TCP/IP и как узнать версию программного обеспечения запущенного на удаленном сервере.

Я так-же покажу как с помощью Nmap осуществить скрытое сканирование , как определить фаервол и как подменить MAC адрес .

1. Сканирование Одного Хоста или IP Адреса

Сканировать Отдельный IP Адрес :

$ nmap 192.168.1.1

Сканировать сервер по Имени Хоста :

$ nmap server.сайт

Увеличить Уровень Детализации результатов сканирования:

$ nmap -v server..сайт

2. Сканирование Множества IP Адресов

Сканировать Множество IP Адресов :

$ nmap 192.168.1.1 192.168.1.2 192.168.1.3 $ namp 192.168.1.1,2,3

Сканировать Подсеть :

$ nmap 192.168.1.0/24 $ nmap 192.168.1.*

Сканировать Диапазон IP Адресов (192.168.1.0 — 192.168.1.200):

$ nmap 192.168.1.0-200

3. Поиск Активных Компьютеров в Сети

Дельный Совет: Сканируйте сеть с помощью одной лишь команды ping ! Вычислите все активные компьютеры!

Сканировать сеть в поиске Активных Хостов :

$ nmap -sn 192.168.1.0/24

4. Сканирование Списка Хостов из Файла

Сканирование списка хостов/сетей из Файла :

$ nmap -iL input.txt

Формат файла:

# Записи могут быть представлены в любом из форматов, с которыми работает # Nmap из командной строки (IP адреса, имена хостов, CIDR, IPv6, или октетные # диапазоны). Записи должны разделятся одним или более пробелами, табуляциями # или переходами на новую строку. $ cat input.txt server.сайт 192.168.1.0/24 192.168.2.1,2,3 192.168.3.0-200

5. Исключение IP/Хостов/Сетей из Сканирования

Исключить Цели из сканирования Nmap-ом:

$ nmap 192.168.1.0/24 --exclude 192.168.1.1 $ nmap 192.168.1.0/24 --exclude 192.168.1.1 192.168.1.5 $ nmap 192.168.1.0/24 --exclude 192.168.1.1,2,3

Исключить Список хостов, взятых из файла:

$ nmap 192.168.1.0/24 --excludefile exclude.txt

Формат файла с исключенными хостами аналогичен приведенному выше.

6. Сканирование Определенных Портов

Сканировать Один Порт :

$ nmap -p 80 192.168.1.1

Сканировать Несколько Портов :

$ nmap -p 80,443 192.168.1.1

Сканировать Диапазон Портов :

$ nmap -p 80-1000 192.168.1.1

Сканировать Все Порты :

$ nmap -p "*" 192.168.1.1

Сканировать несколько самых Распространенных Портов :

$ nmap --top-ports 5 192.168.1.1 $ nmap --top-ports 10 192.168.1.1

7. Определение Поддерживаемых IP Протоколов

Определить какие IP Протоколы (TCP, UDP, ICMP, и т.д.) поддерживает сканируемый хост:

$ nmap -sO 192.168.1.1

8. Сканирование TCP/UDP Портов

Сканировать все TCP Порты :

$ nmap -sT 192.168.1.1

Сканировать определенные TCP Порты :

$ nmap -p T:80 192.168.1.1

Сканировать все UDP Порты :

$ nmap -sU 192.168.1.1

Сканировать определенные UDP Порты :

$ nmap -p U:53 192.168.1.1

Объединение сканирования разных портов:

$ nmap -p U:53,79,113,T:21-25,80,443,8080 192.168.1.1

9. Быстрое Сканирование

Активировать Быстрый Режим сканирования:

$ nmap -F 192.168.1.1

* Сканирует меньшее кол-во портов, чем при обыкновенном сканировании.

10. Показывать Причину Состояния Порта

Показать Причину , по которой Nmap считает что порт находится в определенном состоянии:

$ nmap --reason 192.168.1.1

11. Показывать Только Открытые Порты

Показать Только Открытые Порты (либо возможно открытые):

$ nmap --open 192.168.1.1

12. Определение ОС

Одна из наиболее известных функциональных возможностей Nmap — это удаленное определение ОС на основе анализа работы стека TCP/IP.

Nmap посылает серию TCP и UDP пакетов на удаленный хост и изучает ответы.

После проведения множества тестов, Nmap сравнивает результаты со своей базой данных и, при нахождении соответствий, выводит информацию об ОС.

Включить Определение ОС :

$ nmap -O 192.168.1.1

13. Определение Версии Сервисов

Включить Определение Версии Сервисов :

$ nmap -sV 192.168.1.1

* Определяет версии программ, запущенных на удаленном сервере.

14. Обнаружение Фаервола

Узнать, защищен ли компьютер какими-либо Пакетными Фильтрами или Фаерволом :

$ nmap -sA 192.168.1.1

15. Подмена MAC Адреса

Подменить MAC Адреса :

$ nmap --spoof-mac 00:11:22:33:44:55 192.168.1.1

Подменить MAC Адрес Случайным MAC-ом :

$ nmap --spoof-mac 0 192.168.1.1

16. Сканирование Фаервола на Уязвимости

Эти три типа сканирования используют незаметную лазейку в TCP RFC , чтобы разделять порты на открытые и закрытые.

Когда сканируется система отвечающая требованиям RFC, любой пакет, не содержащий установленного бита SYN, RST или ACK, повлечет за собой отправку RST в ответ в случае, если порт закрыт, или не повлечет никакого ответа, если порт открыт.

Т.к. ни один из этих битов не установлен, то любая комбинация трех оставшихся (FIN, PSH и URG) будет являться правильной.

TCP Null сканирование:

$ nmap -sN 192.168.1.1

* Не устанавливаются никакие биты (Флагов в TCP заголовоке 0).

TCP Fin сканирование:

$ nmap -sF 192.168.1.1

* Устанавливается только TCP FIN бит.

TCP Xmas сканирование:

$ nmap -sX 192.168.1.1

* Устанавливаются FIN, PSH и URG флаги (пакет светится как новогодняя елка).

17. Скрытое Сканирование

Дельный Совет: Сохраняйте анонимность во время сканирования портов! Используйте Nmap + Tor + ProxyChains ! Безопасное и простое тестирование на проникновение!

TCP SYN сканирование:

$ nmap -sS 192.168.0.1

* Известное как сканированием с использованием полуоткрытых соединений, так как не отрывает полных TCP соединений.

18. Отключение Обнаружения Хостов (No Ping)

Не пинговать хосты перед сканированием:

$ nmap -Pn 192.168.1.1

19. Отключение Использования DNS

Дельный Совет: Необходимо усилить безопасность в Linux? Шифруйте DNS трафик для защиты от спуфинга!

Никогда не производить обратное преобразование DNS имен для каждого обнаруженного активного IP адреса.

В обязанности сетевого администратора входит множество вещей и аудит сети — одна из основных. Аудит сети не является чем-то трудным, если её размер небольшой. Но что делать, если размер администрируемой вами сети делает невозможным обход «вручную» каждого устройства или хоста для того, чтобы выяснить работает он или нет, какая ОС на нём установлена, какие порты открыты, а какие нет? Если вы оказались в такой ситуации, то вам очень поможет программа, ставшая фактически стандартом в мире OpenSource утилит аудита сетей — Zenmap .

Zenmap является графической оболочкой для популярной утилиты Nmap . Nmap — это консольный OpenSouce инструмент для анализа безопасности и аудита сети. Несмотря на то, что Nmap сам по себе является очень мощной утилитой, при работе в больших сетях многие администраторы не имеют особого желания пользоваться одними консольными инструментами. Как говорят некоторые из них: «Картинка стоит тысячи слов». И в случае с Zenmap они безусловно правы, поскольку при помощи него вы можете получить интерактивную графическую карту вашей сети.

Установка и запуск

Установка Zenmap в большинстве современных дистрибутивов не представляет собой каких-то сложностей, если вы воспользуетесь штатным менеджером пакетов и установите её из репозитариев. Также, естественно, вы можете и собрать Zenmap самостоятельно, хотя лично я особого смысла в этом не вижу. Ну и не забывайте, что Zenmap — GUI к Nmap, который, само собой, должен присутствовать в системе (в случае с установкой через менеджер пакетов он сам вам об этом скажет).

Запуск Zenmap лучше всего выполнять из-под root , поскольку для полнофункциональной работы Nmap требуются права суперпользователя:

Sudo zenmap

Использование

Запустив Zenmap, вы увидите довольно простой пользовательский интерфейс:

Давайте начнём. Первое, что нам понадобится — это цель (target) сканирования. Давайте представим, что вам необходимо просканировать сеть с IP-адресами по маске 192.168.100.* . Введите в поле Target этот шаблон. Далее, необходимо в выпадающем списке Profile выбрать подходящий профиль сканирования из предложенных. Сразу хочу вас предупредить, сканирование с использованием «Intense scan» может сделать «нехорошо» некоторым сетевым девайсам, таким как свитчи или маршрутизаторы. Будьте с ним поаккуратней. После выбора подходящего профиля изменится и содержимое поля «Command» , которое содержит в себе команду nmap с параметрами. В случае необходимости вы всегда можете подкорректировать её «под себя».

После того, как цель определена и выбран профиль сканирования, можно нажимать «Scan» и отправляться пить кофе (или не отправляться, всё зависит от объёма поставленной nmap задачи и скорости вашей сети). После того, как сканирование будет завершено, в левой панели вы увидите список найденных хостов.

В правой панели вы видите пять закладок:

  • Nmap Output : закладка, открывающаяся по умолчанию, в которой видно текстовый вывод работы nmap;
  • Ports/Hosts : здесь видно какие порты открыты и на каких хостах;
  • Topology : на этой закладке отображается топология вашей сети в графическом виде;
  • Host Details : здесь можно увидеть подробную информацию о результатах сканирования хоста, выбранного в левой панели;
  • Scans : в этой закладке собраны все ваши предыдущие команды сканирования, история то бишь.

Топология

Перейдя на закладку Topology , вы найдёте наиболее интересную часть Zenmap. Здесь отображается топология исследуемой сети в виде скопления кружков с именами хостов или их IP-адресами. Если исследуемая сеть достаточно большая, то разобрать в этой куче кружков практически ничего невозможно.

Нажмите на кнопку Controls вверху и при помощи появившихся справа кнопок Zoom и Ring gap настройте отображение удобным для вас образом. Также, используя чекбоксы в разделе View , вы можете выбрать информацию о хостах, которая будет отображаться на карте.

Как говорилось выше, графическая топология, представленная в Zenmap, является интерактивной. При помощи клика по хосту вы можете сделать его центральной частью карты, а в разделе Navigation вы можете вращать всю карту целиком, как вам захочется. Эти функции особенно удобны в случае, когда размеры вашей сети достаточно большие и вам необходимо работать с какой-то отдельной частью топологии. Чтобы получить подробную информацию о каком-либо хосте, достаточно кликнуть правой кнопкой по нему:

Профили сканирования

В Zenmap можно использовать предустановленные профили, а можно создавать свои собственные. Для того, чтобы создать новый профиль или отредактировать существующий, откройте меню Profile и затем выберите New Profile or Command или Edit Selected Profile соответственно. В появившемся окне настройте всё так, как вам необходимо.

Само собой, если вы изменили существующий профиль, то вам нужно будет перезапустить сканирование заново, с учётом внесённых изменений.

Заключение

Zenmap — невероятно мощная утилита, предоставляющая возможность сетевым администраторам выполнять аудит сетей практически любого размера. Отличная вещь, простая в использовании и вдобавок — OpenSource. Обязательно покопайтесь в редакторе профилей, и настройте всё наилучшим для себя образом, и тогда вы в полной мере сможете оценить всю мощь этого инструмента.

Аргументом опции --scanflags может быть числовое значение, например, 9 (PSH и FIN флаги), но использование символьных имен намного проще. Используйте любые комбинации URG , ACK , PSH , RST , SYN и FIN . Например, опцией --scanflags URGACKPSHRSTSYNFIN будут установлены все флаги, хотя это и не очень полезно для сканирования. Порядок задания флагов не имеет значения.

В добавлении к заданию желаемых флагов, вы также можете задать тип TCP сканирования (например, -sA или -sF). Это укажет Nmap на то, как необходимо интерпретировать ответы. Например, при SYN сканировании отсутствие ответа указывает на фильтруемый порт, тогда как при FIN сканировании - на открытый|фильтруемый. Nmap будет осуществлять заданный тип сканирования, но используя указанные вами TCP флаги вместо стандартных. Если вы не указываете тип сканирования, то по умолчанию будет использоваться SYN.

-sI <зомби_хост> [: <порт> ] ("ленивое" idle сканирование)

Помимо его незаметности (в силу своей природы), этот тип сканирования также позволяет определять основанные на IP доверительные отношения между машинами. Список открытых портов показывает открытые порты с точки зрения зомби машины. Поэтому вы можете попробовать просканировать цель используя различные зомби машины, которым, вы считаете, возможно будут доверять (посредством правил роутера/пакетного фильтра).

Вы можете добавить номер порта после двоеточия к зомби хосту, если хотите использовать конкретный порт. По умолчанию будет использоваться порт 80.

Порты также могут быть заданы именами, которым они соответствуют в файле nmap-services . Вы даже можете использовать шаблоны * и? в именах. Например, чтобы просканировать ftp и все порты начинающиеся с http используйте -p ftp,http* . В таких случаях лучше брать аргументы -p в кавычки.

Диапазоны портов заключаются в квадратные скобки; будут просканированы порты из этого диапазона, встречающиеся в nmap-services . Например, с помощью следующей опции будут просканированы все порты из nmap-services равные или меньше 1024: -p [-1024] . В таких случаях лучше брать аргументы -p в кавычки.

-sO (Сканирование IP протокола)

Сканирование такого типа позволяет определить, какие IP протоколы (TCP, ICMP, IGMP и т.д.) поддерживаются целевыми машинами. Технически такое сканирование не является разновидностью сканирования портов, т.к. при нем циклически перебираются номера IP протоколов вместо номеров TCP или UDP портов. Хотя здесь все же используется опция -p для выбора номеров протоколов для сканирования, результаты выдаются в формате таблицы портов, и даже используется тот же механизм сканирования, что и при различных вариантах сканирования портов. Поэтому он достаточно близок к сканированию портов и описывается здесь.

Помимо полезности непосредственно в своей сфере применения, этот тип сканирования также демонстрирует всю мощь открытого программного обеспечения (open-source software). Хотя основная идея довольна проста, я никогда не думал включить такую функцию в Nmap, и не получал запросов на это. Затем, летом 2000-го, Джерард Риджер (Gerhard Rieger) развил эту идею, написал превосходный патч воплощающий ее и отослал его на nmap-hackers рассылку. Я включил этот патч в Nmap и на следующий день выпустил новую версию. Лишь единицы комерческого программного обеспечения могут похвастаться пользователями, достаточно полными энтузиазма для разработки и предоставления своих улучшений!

Способ работы этого типа сканирования очень похож на реализованный в UDP сканировании. Вместо того, чтобы изменять в UDP пакете поле, содержащее номер порта, отсылаются заголовки IP пакета, и изменяется 8 битное поле IP протокола. Заголовки обычно пустые, не содержащие никаких данных и даже правильного заголовка для требуемого протокола. Исключениями явлются TCP, UDP и ICMP. Включение правильного заголовка для этих протоколов необходимо, т.к. в обратном случае некоторые системы не будут их отсылать, да и у Nmap есть все необходимые функции для их создания. Вместо того, чтобы ожидать в ответ ICMP сообщение о недостижимости порта, этот тип сканирования ожидает ICMP сообщение о недостижимости протокола . Если Nmap получает любой ответ по любому протоколу, то протокол помечается как открытый. ICMP ошибка о неостижимости протокола (тип 3, код 2) помечает протокол как закрытый. Другие ICMP ошибки недостижимости (тип 3, код 1, 3, 9, 10 или 13) помечают протокол как фильтруемый (в то же время они показывают, что протокол ICMP открыт). Если не приходит никакого ответа после нескольких запросов, то протокол помечается как открыт|фильтруется

. -b (FTP bounce сканирование)

Интересной возможностью FTP протокола (RFC 959) является поддержка так называемых прокси FTP соединений. Это позволяет пользователю подключиться к одному FTP серверу, а затем попросить его передать файлы другому. Это является грубым нарушением, поэтому многие сервера прекратили поддерживать эту функцию. Используя эту функцию, можно осуществить с помощью данного FTP сервера сканирование портов других хостов. Просто попросите FTP сервер переслать файл на каждый интересующий вас порт целевой машины по очереди. Сообщение об ошибке укажет: открыт порт или нет. Это хороший способ обхода брандмауэров, т.к. организационные FTP сервера обычно имеют больше доступа к другим внутренним хостам, чем какие-либо другие машины. В Nmap такой тип сканирования задается опцией -b . В качестве аргумента ей передается <имя_пользователя> : <пароль> @ <сервер> : <порт> . <Сервер> - это сетевое имя или IP адрес FTP сервера. Как и в случае в обычными URL, вы можете опустить <имя_пользователя> : <пароль> , тогда будут использованы анонимные данные (пользователь: anonymous пароль: -wwwuser@). Номер порта (и предшествующее ему двоеточие) также можно не указывать; тогда будет использован FTP порт по умолчанию (21) для подключения к <серверу> .

Эта уязвимость была широко распространена в 1997, когда была выпущена Nmap, но теперь почти везде исправлена. Уязвимые сервера по-прежнему есть, так что, если ничего другое не помогает, то стоит попробовать. Если вашей целью является обход бранмауэра, то просканируйте целевую сеть на наличие открытого порта 21 (или даже на наличие любых FTP служб, если вы используете определение версии), а затем попробуйте данный тип сканирования с каждым из найденных. Nmap скажет вам, уязвим хост или нет. Если вы просто пытаетесь замести следы, то вам нет необходимости (и, фактически, не следует) ограничивать себя только хостами целевой сети. Перед тем как вы начнете сканировать произвольные Интернет адреса на наличие уязвимого FTP сервера, имейте ввиду, что многим системным администраторам это не понравится.

Сравнительное быстрое (благодаря ключам -nF ) сканирование локальной сети с маской 255.255.255.0 :

nmap -nF 192.168.0.0/24

Сканирование сети

Основные опции сканирования начинаются с -s.
По-умолчанию nmap практикует скрытое сканирование (-sS) сети, не создавая соединений до конца: nmap <маска подсети> .

Например:

nmap 192.168.0.1-254

Пинг-сканирование ( -sP ), в этом режиме порты не сканируются, что, конечно, заметно увеличивает скорость работы:


При этом сканировании отправляеться ICMP эхо-запрос, такой же как это делает утилита ping.
Однако пинг сканирование может привети и к ложноотрицательному срабатыванию, когда активнй, хост настроен не отвечать на ICMP эхо-запросы. Здесь логично использовать ключ -Pn , считаz все хосты активными.

Два следующих ключа, также призванны сократить время сканирования: -n не производить разрешение DNS имен. Преобразование DNS может быть медленным;
-F быстрое сканирование, ограничивает число сканируемых портов с 1000 до 100;
-sS TCP SYN сканирование или т.н. полуоткрытое сканирование ибо оно не устанавливает полных соединений , посылая только запросы на открытие и не производя больше никаких операций. В отличии от -sT . используется по-умолчанию;
-sA TCP ACK сканирование , позволяет определить, фильтруются ли порты;
-sU сканирование UDP портов.

маска подсети

Следующие три формата записи идентичны:

192.168.1.0/24
192.168.1.0-255
192.168.1.*
Если адресов немного, то их можно перечислить: 192.168.1.1,2,3,4

сканирование хоста

-sV определение сервисов;
-p порт1, порт2, ... - сканирование заданного порта или их писка
-p- сканирование всех портов;
-O определение операционной системы .

Если не удаётся точно определить ОС можно просмотреть список вероятных версий операционных использую ключ --osscan-guess :

Aggressive OS guesses: Linux 3.5 (99%), Cisco SRP 527 WAP (Linux 2.6) (99%), Linux 2.6.9 - 2.6.30 (97%), Tomato 1.28 (Linux 2.6.22) (97%), DD-WRT v24-sp2 (Linux 2.6.24) (97%), Linux 2.6.18 - 2.6.32 (96%), Linux 2.6.9 - 2.6.19 (96%), Belkin N600 DB WAP (96%), Ubiquiti AirMax NanoStation WAP (Linux 2.6) (95%), Linux 2.6.15 (likely TP-Link WAP) (95%)
-A позволяет использовать расширенные возможности программы по детектированию ОС (-O), определению версии (-sV) и др.

открыт (open) Приложение принимает запросы на TCP соединение или UDP пакеты на этот порт.

закрыт (closed) Закрытый порт доступен (он принимает и отвечает на запросы Nmap), но не используется каким-либо приложение.

фильтруется (filtered) Nmap не может определить, открыт ли порт, т.к. фильтрация пакетов не позволяет достичь запросам Nmap этого порта.

открыт|фильтруется (open|filtered) Nmap характеризует порт таким состоянием, когда не может определить открыт порт или фильтруется.

закрыт|фильтруется (closed|filtered) Это состояние используется, когда Nmap не может определить закрыт порт или фильтруется. Используется только при сканировании IP ID idle типа.

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

основные опции вывода начинается с -o
Сохранение результатов сканирования в XML и копирование стандартного вывода в файл.

OX myscan.xml -oN myscan.nmap

OA <базовое_имя_файла> использовать все (gmap, xml, normal) форматы вывода.

Формат вывода gmap является своеобразной альтернативой выводу в XML и проигрывает последнему по мощности.

Webxml загружает таблицу стилей с Nmap.Org чтобы создать XML файл отображаемый как HTML
-v увеличивает уровень вербальности (количество выводимой информации), например показывает приблизительное время завершения работы. Ещё увеличить число подробностей можно задав этот параметр дважды.

Алсо

В Mtasploit Framework есть db_nmap , который взаимодействует со встроенной в MSF БД, записывая обнаруженные хосты и сервисы соответственно в таблицы hosts и services .
Кроме того можно используя команду db_import report_file загрузить отчёт nmap"а в формате XML в БД MSF .

Поддельные адреса сканера
-D , - маскирует реальный адрес сканера, среди нескольких поддельных. В примере, адрес сканера - 192.168.56.1 , адрес-приманка - 192.168.56.100 . Вывод снифера показывает, что сканирование происходит с этих двух адресов, однако сканер находится только на первом.

nmap -p 23 192.168.56.101 -D 192.168.56.100
--randomize-hosts сканирование заданного диапазона хостов в произвольном порядке.
Порядок сканирования портов по-умолчанию в nmap случайный , за исключением некоторых популярных портов, которые сканер проверяет в первую очередь. Ключ -r включает упорядоченное сканирование.

Подделка mac адреса
--spoof-mac <0 (случайный), mac (001122334455) или производитель (Apple, Cisco)>

***
Сканирование через Tor
Применяем proxychains для перенаправления трафика через сеть Tor.
Проследим, чтобы в разделе ProxyList конфигурационного файла /etc/proxychains.conf proxychains был указан порт tor"а:

socks4 127.0.0.1 9050
Запустим tor и приступим к сканированию.
SYN сканирвание в таких условиях не работает, поэтому для каждого порта подключение выполняться полностью (-sT ). Цель не пингуем (-PN ) и не производим DNS разрешения (-n ) чтобы не создавать трафика идущего мимо Tor. Cканирование довольно медленное, поэтому сканируем только самые популярныйе порты (-F )
proxychains nmap -PN -n -sT -F 45.33.32.156
ProxyChains-3.1 (http://proxychains.sf.net)

Starting Nmap 6.40 (http://nmap.org) at 2041-12-01 12:57
|S-chain|-<>-127.0.0.1:9050-<><>-45.33.32.156:1723-<--denied
|S-chain|-<>-127.0.0.1:9050-<><>-45.33.32.156:53-<--denied


...
|S-chain|-<>-127.0.0.1:9050-<><>-45.33.32.156:22-<><>-OK
|S-chain|-<>-127.0.0.1:9050-<><>-45.33.32.156:587-<--denied
|S-chain|-<>-127.0.0.1:9050-<><>-45.33.32.156:113-<--denied
|S-chain|-<>-127.0.0.1:9050-<><>-45.33.32.156:80-<><>-OK

...
Nmap scan report for scanme.nmap.org (45.33.32.156)
Host is up (0.60s latency).
Not shown: 98 closed ports
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http

Nmap done: 1 IP address (1 host up) scanned in 102.05 seconds