Этот документ описывает версию Nmap 4.22SOC8. Последняя документация доступна на английском языке по ссылке https://nmap.org/book/man.html .
Nmap ( « Network Mapper » ) — это утилита с открытым исходным кодом для исследования сети и проверки безопасности. Она была разработана для быстрого сканирования больших сетей, хотя прекрасно справляется и с единичными целями. Nmap использует «сырые» IP пакеты оригинальным способом, чтобы определить какие хосты доступны в сети, какие службы (название приложения и версию) они предлагают, какие операционные системы (и версии ОС) они используют, какие типы пакетных фильтров/брандмауэров используются и еще множество других характеристик. В то время, как Nmap обычно используется для проверки безопасности, многие системные администраторы находят ее полезной для обычных задач, таких как контролирование структуры сети, управление расписаниями запуска служб и учет времени работы хоста или службы.
Выходные данные Nmap это список просканированных целей с дополнительной информацией по каждой из них в зависимости от заданных опций. Ключевой информацией является « таблица важных портов » . Эта таблица содержит номер порта, протокол, имя службы и состояние. Состояние может иметь значение open (открыт), filtered (фильтруется), closed (закрыт) или unfiltered (не фильтруется).
Как использовать Nmap. Подробная инструкция
Открыт означает, что приложение на целевой машине готово для установки соединения/принятия пакетов на этот порт. Фильтруется означает, что брандмауэр, сетевой фильтр, или какая-то другая помеха в сети блокирует порт, и Nmap не может установить открыт этот порт или закрыт . Закрытые порты не связаны ни с каким приложением, но могут быть открыты в любой момент.
Порты расцениваются как не фильтрованные , когда они отвечают на запросы Nmap, но Nmap не может определить открыты они или закрыты. Nmap выдает комбинации открыт|фильтруется и закрыт|фильтруется , когда не может определить, какое из этих двух состояний описывает порт. Эта таблица также может предоставлять детали о версии программного обеспечения, если это было запрошено. Когда осуществляется сканирование по IP протоколу ( -sO ), Nmap предоставляет информацию о поддерживаемых протоколах, а не об открытых портах.
В дополнение к таблице важных портов Nmap может предоставлять дальнейшую информацию о целях: преобразованные DNS имена, предположение об используемой операционной системе, типы устройств и MAC адреса.
Типичное сканирование с использованием Nmap показано в Пример 1. Единственные аргументы, использованные в этом примере — это -A , для определения версии ОС, сканирования с использованием скриптов и трассировки; -T4 для более быстрого выполнения; затем два целевых хоста.
Пример 1. Типичный пример сканирования с помощью Nmap
# nmap -A -T4 scanme.nmap.org playground Starting Nmap ( https://nmap.org ) Interesting ports on scanme.nmap.org (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.nmap.org (192.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 400×250; 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.org
КАК ПОЛЬЗОВАТЬСЯ NMAP | СКАНИРОВАНИЕ ПОРТОВ | Open Source
Nmap — руководство для начинающих
nmap — это аббревиатура от «Network Mapper», на русский язык наиболее корректно можно перевести как «сетевой картограф». Возможно, это не лучший вариант перевода на русский язык, но он довольно точно отображает суть — инструмент для исследования сети и проверки безопасности. Утилита кроссплатформенна, бесплатна, поддерживаются операционных системы Linux, Windows, FreeBSD, OpenBSD, Solaris, Mac OS X.
Рассмотрим использование утилиты в Debian. В стандартной поставке дистрибутива nmap отсутствует, установим его командой
# aptitude install nmap
Nmap умеет сканировать различными методами — например, UDP, TCP connect(), TCP SYN (полуоткрытое), FTP proxy (прорыв через ftp), Reverse-ident, ICMP (ping), FIN, ACK, SYN и NULL-сканирование. Выбор варианта сканирования зависит от указанных ключей, вызов nmap выглядит следующим образом:
Для опытов возьмем специальный хост для экспериментов, созданный самими разработчиками nmap — scanme.nmap.org. Выполним от root’а
Ключи сканирования задавать необязательно — в этом случае nmap проверит хост на наличие открытых портов и служб, которые слушают эти порты.
Запустим командой:
Через несколько секунд получим результат:
Interesting ports on scanme.nmap.org (74.207.244.221):
Not shown: 998 closed ports
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
Ничего необычного, ssh на стандартном порту и http на 80. Nmap распознаёт следующие состояния портов: open, filtered, closed, или unfiltered. Open означает, что приложение на целевой машине готово для принятия пакетов на этот порт. Filtered означает, что брандмауэр, фильтр, или что-то другое в сети блокирует порт, так что Nmap не может определить, является ли порт открытым или закрытым.
Closed — не связанны в данный момент ни с каким приложением, но могут быть открыты в любой момент. Unfiltered порты отвечают на запросы Nmap, но нельзя определить, являются ли они открытыми или закрытыми.
# nmap -O scanme.nmap.org
Хинт: Если во время сканирования нажать пробел — можно увидеть текущий прогресс сканирования и на сколько процентов он выполнен. Через несколько секунд получаем ответ, в котором пока что интересна строчка Device type:
Device type: general purpose|WAP|webcam|storage-misc
Running (JUST GUESSING) : Linux 2.6.X|2.4.X (93%), AXIS Linux 2.6.X (89%), Linksys Linux 2.4.X (89%)
Aggressive OS guesses: Linux 2.6.17 — 2.6.28 (93%), Linux 2.6.9 — 2.6.27 (93%), Linux 2.6.24 (Fedora 8) (92%), Linux 2.6.18 (Slackware 11.0) (92%), Linux 2.6.19 — 2.6.26 (92%), OpenWrt (Linux 2.4.32) (91%), Linux 2.6.22 (91%), Linux 2.6.22 (Fedora Core 6) (90%), Linux 2.6.13 — 2.6.27 (90%), Linux 2.6.9 — 2.6.18 (90%)
No exact OS matches for host (test conditions non-ideal).
Вообще, точную версию ядра средствами nmap определить невозможно, но примерную дату «свежести» и саму операционную систему определить можно. Можно просканировать сразу несколько хостов, для этого надо их перечислить через пробел:
# nmap -O example.com example2.com
Вернемся к нашему подопытному хосту. Хочется узнать поподробнее, какой используется софт. Попробуем уточнить полученные данные с помощью ключей -sV:
# nmap -sV example.com example2.com
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 5.3p1 Debian 3ubuntu7 (protocol 2.0)
80/tcp open http Apache httpd 2.2.14 ((Ubuntu))
Service Info: OS: Linux
Прогресс налицо — мы узнали точные названия используемых служб и даже их версии, а заодно узнали точно, какая операционная система стоит на сервере. С расшифровкой никаких проблем не возникает, все вполне понятно.
Агрессивное сканирование можно провести, указав ключ -A
# nmap -A scanme.nmap.org
Nmap выведет очень много информации, я не стану приводить пример. Сканирование может длится довольно долго, занимая несколько минут.
В локальных сетях или просто имея на руках диапазон ip адресов, удобно проверить их на занятость с помощью ключей -sP:
# nmap -sP 192.168.1.0/24
Сканирование проходит довольно быстро, так как по сути это обычный ping-тест, отвечает ли хост на ping. Следует учесть, что хост может не отвечать на ping из-за настроек фаерволла. Если нужный участок сети нельзя ограничить маской, можно указать диапазон адресов, с какого и по какой надо провести сканирование. Например, есть диапазон адресов с 192.168.1.2 до 192.168.1.5. Тогда выполним:
# nmap -sP 192.168.1.2-5
Ответ будет выглядеть так:
Host 192.168.1.2 is up (0.0023s latency)
Host 192.168.1.3 is up (0.0015s latency)
Host 192.168.1.4 is up (0.0018s latency)
Host 192.168.1.5 is up (0.0026s latency)
В моем случае все ip в данный момент были в сети.
Это далеко не все возможности nmap, но уместить их в рамках одной статьи несколько сложновато.
Если вам ближе GUI — есть замечательная утилита Zenmap — графическая оболочка для nmap, умеющая заодно и строить предполагаемую карту сети.
Хочу предупредить, что сканирование портов на удаленных машинах может нарушать закон.
UDPInflame уточнил, что сканирование портов все-таки не является противозаконным.
Источник: habr.com
HackWare.ru
Этичный хакинг и тестирование на проникновение, информационная безопасность
Уроки по Nmap. Урок 1: Для чего нужен Nmap, что нового в версии 7, примеры опций
Что такое Nmap и для чего он нужен?
Nmap (“Network Mapper”) это утилита с открытым исходным кодом для исследования сети и проверки безопасности. Она была разработана для быстрого сканирования больших сетей, хотя прекрасно справляется и с единичными целями.
Nmap использует сырые IP пакеты оригинальными способами, чтобы определить какие хосты доступны в сети, какие службы (название приложения и версию) они предлагают, какие операционные системы (и версии ОС) они используют, какие типы пакетных фильтров/брандмауэров используются и еще дюжины других характеристик. В тот время как Nmap обычно используется для проверки безопасности, многие сетевые и системные администраторы находят ее полезной для обычных задач, таких как контролирование структуры сети, управление расписаниями запуска служб и учет времени работы хоста или службы.
Эта программа первоначально написал Gordon Lyon и она с лёгкостью может ответить на следующие вопросы:
- Что за компьютеры работают в вашей локальной сети?
- Какие IP используются в локальной сети?
- Какие порты открыты на удалённой машине?
- Какая операционная система у цели?
- Какие службы запущены на целевой машине, какая у них версия?
- Узнать, заражена ли система вредоносным кодом или вирусом.
- Поиск неавторизованных серверов или сетевых служб в вашей сети
- Поиск и удаление компьютеров, которые не соответствуют минимальному уровню безопасности организации.
Улучшение в Nmap 7:
Значительное расширение скриптового движка Nmap (Scripting Engine — NSE)
По мере созревания ядра Nmap, всё больше и больше функциональности вместо добавления в него разрабатывается как часть подсистемы NSE. После шестой версии в Nmap 7 был добавлен 171 новый скрипт и 20 библиотек. Примеры включают irewall-bypass, supermicro-ipmi-conf, oracle-brute-stealth и ssl-heartbleed. И NSE сейчас достаточно мощный, чтобы выполнять основные функции, такие как обнаружение хостов (dns-ip6-arpa-scan), сканирование версий (ike-version, snmp-info и т.д..) и шлифование RPC (rpc-grind).
Зрелая поддержка IPv6
Улучшение сканирования IPv6 было важным аспектом в шестом выпуске Nmap, но Nmap 7 превосходит всех с полной поддержкой IPv6 в указании диапазонов в стиле CIDR, «ленивом» (Idle) сканировании, параллельных обратных запросах DNS и большем покрытии NSE.
Обновление инфраструктуры
Проекту Nmap уже 18 лет, но это не значит, что он застрял в прошлом. Проект Nmap продолжает воспринимать новые технологии для улучшения процесса разработки и обслуживания разрастающейся пользовательской базы. Например, они перевели Nmap.Org на SSL для уменьшения риска от исполнимых троянов и вообще в целом уменьшения возможности перехвата.
Они также используют систему контроля версия Git в качестве большей части рабочего процесса и имеют официальное зеркало репозитория исходников Nmap Subversion на Github и там же можно отправить своей код для проекта. Они также создали официальный баг трэкер, который тоже хостится на Github. Отслеживание ошибок и улучшение запросов уже приносит свои результаты.
Ускорение сканирований
На протяжении 18 лет Nmap постоянно раздвигает границы скорости синхронного сканирования сети и этот релиз не стал исключением. Новые движки Nsock дают увеличение производительности на системах Windows и BSD, переназначение задач предотвращает неприятные крайние случаи на многосетевых системах, а твики NSE ведут к убыстрению сканирований -sV.
Решение по сканированию SSL/TLS
Безопасность транспортного уровня (TLS), как и его предшественник SSL, являются фундаментом безопасности веба, поэтому когда обнаруживаются большие уязвимости вроде Heartbleed, POODLE и FREAK, Nmap отвечает скриптами NSE для обнаружения уязвимости. Скрипт ssl-enum-ciphers script был полностью переделан под выполнение быстрого анализа проблем с развёрнутыми TLS, и были подкручены зонды для сканирования версий в целях быстрого выявления самых новых версий рукопожатий TLS.
Улучшение в Ncat
Утилита Ncat (она входит в пакет Nmap) была принята семейством дистрибутивов Red Hat/Fedora в качестве пакета по умолчанию для команд “netcat” и “nc”. Авторы Nmap очень этому рады. Это сотрудничество позволило победить многие баги и улучшить совместимость с опциями Netcat. Также добавлен встроенный интерпретатор Lua для создания простых, кроссплатформенных демонов и фильтров трафика.
Экстремальная портативность
Nmap является кроссплатформенной программой, которая работает на самых разных необычных и древних системах. Но разработчики поставляют актуальные исполнимые файлы для популярных операционных систем. Nmap 7 чисто работает на Windows 10 и на всех промежуточных версиях вплоть до Windows Vista.
По многочисленным просьбам разработчики даже собрали его под Windows XP, хотя этим пользователям рекомендуют обновить их системы. Mac OS X поддерживается с 10.8 Mountain Lion через 10.11 El Capitan. Плюс обновлена поддержка для Solaris и AIX. А у пользователей Linux, как всегда, всё просто.
Примеры опций для сканирования Nmap
Далее небольшая памятка по самым популярным функциям Nmap. Крайне рекомендуется справочный раздел по Nmap на сайте Kali.Tools. Там сделан перевод мануала для Nmap седьмой версии.
Сканирование единичного хоста или IP адреса (IPv4)
Сканировать единичный IP адрес
nmap 192.168.1.1
Сканировать хост по имени
nmap suip.biz
Сканировать хост по имени в вербальном режиме (больше информации)
nmap -v suip.biz
Сканировать множество IP адресов или подсеть (IPv4)
nmap 192.168.1.1 192.168.1.2 192.168.1.3
работа с однотипными подсетями, например 192.168.1.0/24
nmap 192.168.1.1,2,3
Вы также можете просканировать диапазон IP адресов:
nmap 192.168.1.1-20
Вы можете просканировать диапазон IP адресов используя подстановочный символ:
nmap 192.168.1.*
Наконец, вы можете просканировать всю подсеть:
nmap 192.168.1.0/24
Прочитать список хостов, сетей из файла (IPv4)
Опция -iL позволяет вам прочитать список системных целей используя текстовый файл. Это полезно при большом количестве хостов/сетей. Создайте текстовый файл:
nmap -iL /tmp/test.txt
Исключение хостов, сетей (IPv4)
При сканировании большого числа хостов, сетей, вы можете исключить хосты из сканирований:
nmap 192.168.1.0/24 —exclude 192.168.1.5 nmap 192.168.1.0/24 —exclude 192.168.1.5,192.168.1.254
Или исключите список, который взят из файла названного /tmp/exclude.txt
nmap -iL /tmp/scanlist.txt —excludefile /tmp/exclude.txt
Составление списка работающих хостов без сканирования портов
nmap -sn 192.168.1.0/24
Включить скрипт определения ОС и версии ПО (IPv4)
nmap -A 192.168.1.254 nmap -v -A 192.168.1.1 nmap -A -iL /tmp/scanlist.txt
Узнать, защищён ли хост/сеть файерволом
nmap -sA 192.168.1.254 nmap -sA suip.biz
Сканирование хоста при защите файерволом
nmap -Pn 192.168.1.1 nmap -Pn suip.biz
Просканировать IPv6 хост/адрес
Опция -6 включает IPv6 сканирование. Синтаксис следующий:
nmap -6 IPv6-Адрес-Здесь nmap -6 suip.biz nmap -6 2607:f0d0:1002:51::4 nmap -v -A -6 2607:f0d0:1002:51::4
Просканировать сеть и узнать, какие сервера и устройства работают
Обнаружение хостов или пинг сканирование (без выполнения сканирования портов — только определение, какие хосты онлайн):
nmap -sn 192.168.1.0/24
Как выполнить быстрое сканирование?
nmap -F 192.168.1.1
Показать причину, по которой порт в конкретном состоянии
nmap —reason 192.168.1.1 nmap —reason suip.biz
Показать интерфейсы и маршруты хоста
nmap —iflist
Как просканировать конкретный порт?
map -p [порт] имя_хоста
Просканировать 80й порт
nmap -p 80 192.168.1.1
Просканировать TCP порт 80
nmap -p T:80 192.168.1.1
Просканировать UDP порт 53
nmap -p U:53 192.168.1.1
Просканировать два порта
nmap -p 80,443 192.168.1.1
Просканировать диапазон портов
nmap -p 80-200 192.168.1.1
Скомбинировать все опции
nmap -p U:53,111,137,T:21-25,80,139,8080 192.168.1.1 nmap -p U:53,111,137,T:21-25,80,139,8080 suip.biz nmap -v -sU -sT -p U:53,111,137,T:21-25,80,139,8080 192.168.1.254
Просканировать все порты
nmap -p «1-» 192.168.1.1
Просканировать порты с наивысшими рейтингами (самые распространённые), рейтинг указывается целым числом больше 1
nmap —top-ports 5 192.168.1.1 nmap —top-ports 10 192.168.1.1
Как узнать удалённую операционную систему?
nmap -O 192.168.1.1 nmap -O —osscan-guess 192.168.1.1 nmap -v -O —osscan-guess 192.168.1.1
Как узнать номер версии удалённых служб (сервер / демон)?
nmap -sV 192.168.1.1
Самый быстрый способ сканирования всех устройств/компьютеров на открытые порты
nmap -T5 192.168.1.0/24
Показать только открытые (или возможно открытые) порты
nmap —open 192.168.1.1 nmap —open suip.biz
Показать все отправленные и полученные пакеты
nmap —packet-trace 192.168.1.1 nmap —packet-trace suip.biz
Сканировать хост используя TCP ACK (PA) и TCP Syn (PS) пинг
Если файервол блокирует стандартные ICMP пинги, попробуйте следующие методы обнаружения хостов:
nmap -PS 192.168.1.1 nmap -PS 80,21,443 192.168.1.1 nmap -PA 192.168.1.1 nmap -PA 80,21,200-512 192.168.1.1
Просканировать хост используя пинг протоколов IP
nmap -PO 192.168.1.1
Просканировать хост используя UDP пинг
Это сканирование обходит файерволы и фильтры, которые отражают только TCP:
nmap -PU 192.168.1.1 nmap -PU 2000.2001 192.168.1.1
Узнайте самые часто используемые порты TCP, используя сканирование TCP SYN
Сканирование по умолчанию (более быстрое и менее заметное)
nmap -sS 192.168.1.1
Проверить самые популярные TCP порты используя сканирование TCP подключение (предупреждение: заметное и медленное)
nmap -sT 192.168.1.1
Проверить на использование самых распространённых TCP портов используя TCP ACK сканирование
nmap -sA 192.168.1.1
Проверить на использование самых распространённых TCP портов используя Window сканирование
nmap -sW 192.168.1.1
Проверить на использование самых распространённых TCP портов используя TCP Maimon сканирование
nmap -sM 192.168.1.1
Сканирование хоста на UDP службы (UDP сканирование)
Самые популярные службы в Интернете работают по TCP протоколу. DNS, SNMP и DHCP – это три самых популярных UDP службы. Используйте следующий синтаксис для определения UDP служб:
nmap -sU 192.168.1.1 nmap -sU suip.biz
Сканирование IP протокола
Этот тип сканирования позволяет вам определить, какие IP протоколы (TCP, ICMP, IGMP и т.д.) поддерживаются на целевой машине:
nmap -sO 192.168.1.1
Сканирование файервола на проблемы безопасности
Следующие типы сканирования используют тонкую лазейку в TCP и хороши для тестирования безопасности распространенных атак:
Сканирование TCP Null чтобы одурачить файервол на генерацию ответа
Не устанавливает какие-либо биты (TCP флаг заголовка 0)
nmap -sN 192.168.1.254
Сканирование TCP Fin для проверки файервола
Устанавливает просто TCP FIN бит
nmap -sF 192.168.1.254
Сканирование TCP Xmas для проверки файервола
Устанавливает флаги FIN, PSH и URG, разукрашивая пакеты как новогоднюю ёлку
nmap -sX 192.168.1.254
Сканирование файервола фрагментами пакетов
Опция -f приводит к тому, что затребованное сканирование (включая пинг сканирование) использует фрагменты IP пакетов. Идея разделить TCP заголовок на несколько пакетов заключается в том, чтобы усложнить фильтрам, системам обнаружения вторжений и другим неприятностям выявить, чем вы занимаетесь.
nmap -f 192.168.1.1 nmap -f fw2.nixcraft.net.in nmap -f 15 fw2.nixcraft.net.in
Установите свой собственный размер смещения опцией —mtu
nmap —mtu 32 192.168.1.1
Маскировка сканирования с помощью фиктивных хостов
Производится сканирование с использованием фиктивных хостов; в этом случае цель сканирования считает, что заданные вами фиктивные хосты также производят ее сканирование. Хотя IDS цели может сообщить о том, что было произведено 5-10 сканирований портов с каждого IP адреса, система не сможет узнать, с какого из этих IP адресов действительно производилось сканирование, а какие были лишь безвредными ловушками:
nmap -n -Ddecoy-ip1,decoy-ip2,your-own-ip,decoy-ip3,decoy-ip4 remote-host-ip nmap -n -D192.168.1.5,10.5.1.2,172.1.2.4,3.4.2.1 192.168.1.5
Сканирование файервола с подменой MAC адреса
Подмена (спуфинг) MAC адреса
nmap —spoof-mac MAC-ADDRESS-HERE 192.168.1.1
Добавьте другие опции
nmap -v -sT -Pn —spoof-mac MAC-ADDRESS-HERE 192.168.1.1
Используйте случайный MAC адрес
Номер 0 означает, nmap выберет совершенно произвольный MAC адрес
nmap -v -sT -Pn —spoof-mac 0 192.168.1.1
Как сохранить вывод в текстовый файл?
nmap 192.168.1.1 > output.txt nmap -oN /path/to/filename 192.168.1.1 nmap -oN output.txt 192.168.1.1
Источник: hackware.ru