Nmap kali linux как пользоваться

Обновлено: 05.07.2024

Этичный хакинг и тестирование на проникновение, информационная безопасность

Что такое Nmap и для чего он нужен?

Nmap (“Network Mapper”) это утилита с открытым исходным кодом для исследования сети и проверки безопасности. Она была разработана для быстрого сканирования больших сетей, хотя прекрасно справляется и с единичными целями.

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

Эта программа первоначально написал Gordon Lyon и она с лёгкостью может ответить на следующие вопросы:

  1. Что за компьютеры работают в вашей локальной сети?
  2. Какие IP используются в локальной сети?
  3. Какие порты открыты на удалённой машине?
  4. Какая операционная система у цели?
  5. Какие службы запущены на целевой машине, какая у них версия?
  6. Узнать, заражена ли система вредоносным кодом или вирусом.
  7. Поиск неавторизованных серверов или сетевых служб в вашей сети
  8. Поиск и удаление компьютеров, которые не соответствуют минимальному уровню безопасности организации.

Улучшение в 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.

Обновление инфраструктуры

Ускорение сканирований

На протяжении 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 адрес

Сканировать хост по имени

Сканировать хост по имени в вербальном режиме (больше информации)

Сканировать множество IP адресов или подсеть (IPv4)

работа с однотипными подсетями, например 192.168.1.0/24

Вы также можете просканировать диапазон IP адресов:

Вы можете просканировать диапазон IP адресов используя подстановочный символ:

Наконец, вы можете просканировать всю подсеть:

Прочитать список хостов, сетей из файла (IPv4)

Опция -iL позволяет вам прочитать список системных целей используя текстовый файл. Это полезно при большом количестве хостов/сетей. Создайте текстовый файл:

Исключение хостов, сетей (IPv4)

При сканировании большого числа хостов, сетей, вы можете исключить хосты из сканирований:

Или исключите список, который взят из файла названного /tmp/exclude.txt

Составление списка работающих хостов без сканирования портов

Включить скрипт определения ОС и версии ПО (IPv4)

Узнать, защищён ли хост/сеть файерволом

Сканирование хоста при защите файерволом

Просканировать IPv6 хост/адрес

Опция -6 включает IPv6 сканирование. Синтаксис следующий:

Просканировать сеть и узнать, какие сервера и устройства работают

Обнаружение хостов или пинг сканирование (без выполнения сканирования портов - только определение, какие хосты онлайн):

Как выполнить быстрое сканирование?

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

Показать интерфейсы и маршруты хоста

Как просканировать конкретный порт?

Просканировать 80й порт

Просканировать TCP порт 80

Просканировать UDP порт 53

Просканировать два порта

Просканировать диапазон портов

Скомбинировать все опции

Просканировать все порты

Просканировать порты с наивысшими рейтингами (самые распространённые), рейтинг указывается целым числом больше 1

Как узнать удалённую операционную систему?

Как узнать номер версии удалённых служб (сервер / демон)?

Самый быстрый способ сканирования всех устройств/компьютеров на открытые порты

Показать только открытые (или возможно открытые) порты

Показать все отправленные и полученные пакеты

Сканировать хост используя TCP ACK (PA) и TCP Syn (PS) пинг

Если файервол блокирует стандартные ICMP пинги, попробуйте следующие методы обнаружения хостов:

Просканировать хост используя пинг протоколов IP

Просканировать хост используя UDP пинг

Это сканирование обходит файерволы и фильтры, которые отражают только TCP:

Узнайте самые часто используемые порты TCP, используя сканирование TCP SYN

Сканирование по умолчанию (более быстрое и менее заметное)

Проверить самые популярные TCP порты используя сканирование TCP подключение (предупреждение: заметное и медленное)

Проверить на использование самых распространённых TCP портов используя TCP ACK сканирование

Проверить на использование самых распространённых TCP портов используя Window сканирование

Проверить на использование самых распространённых TCP портов используя TCP Maimon сканирование

Сканирование хоста на UDP службы (UDP сканирование)

Самые популярные службы в Интернете работают по TCP протоколу. DNS, SNMP и DHCP – это три самых популярных UDP службы. Используйте следующий синтаксис для определения UDP служб:

Сканирование IP протокола

Этот тип сканирования позволяет вам определить, какие IP протоколы (TCP, ICMP, IGMP и т.д.) поддерживаются на целевой машине:

Сканирование файервола на проблемы безопасности

Следующие типы сканирования используют тонкую лазейку в TCP и хороши для тестирования безопасности распространенных атак:

Сканирование TCP Null чтобы одурачить файервол на генерацию ответа

Не устанавливает какие-либо биты (TCP флаг заголовка 0)

Сканирование TCP Fin для проверки файервола

Устанавливает просто TCP FIN бит

Сканирование TCP Xmas для проверки файервола

Устанавливает флаги FIN, PSH и URG, разукрашивая пакеты как новогоднюю ёлку

Сканирование файервола фрагментами пакетов

Опция -f приводит к тому, что затребованное сканирование (включая пинг сканирование) использует фрагменты IP пакетов. Идея разделить TCP заголовок на несколько пакетов заключается в том, чтобы усложнить фильтрам, системам обнаружения вторжений и другим неприятностям выявить, чем вы занимаетесь.

Установите свой собственный размер смещения опцией --mtu

Маскировка сканирования с помощью фиктивных хостов

Производится сканирование с использованием фиктивных хостов; в этом случае цель сканирования считает, что заданные вами фиктивные хосты также производят ее сканирование. Хотя IDS цели может сообщить о том, что было произведено 5-10 сканирований портов с каждого IP адреса, система не сможет узнать, с какого из этих IP адресов действительно производилось сканирование, а какие были лишь безвредными ловушками:

nmap — это аббревиатура от «Network Mapper», на русский язык наиболее корректно можно перевести как «сетевой картограф». Возможно, это не лучший вариант перевода на русский язык, но он довольно точно отображает суть — инструмент для исследования сети и проверки безопасности. Утилита кроссплатформенна, бесплатна, поддерживаются операционных системы Linux, Windows, FreeBSD, OpenBSD, Solaris, Mac OS X.

Рассмотрим использование утилиты в Debian. В стандартной поставке дистрибутива nmap отсутствует, установим его командой

Nmap умеет сканировать различными методами — например, UDP, TCP connect(), TCP SYN (полуоткрытое), FTP proxy (прорыв через ftp), Reverse-ident, ICMP (ping), FIN, ACK, SYN и NULL-сканирование. Выбор варианта сканирования зависит от указанных ключей, вызов nmap выглядит следующим образом:

nmap <ключи> цель

Хинт: Если во время сканирования нажать пробел — можно увидеть текущий прогресс сканирования и на сколько процентов он выполнен. Через несколько секунд получаем ответ, в котором пока что интересна строчка 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 определить невозможно, но примерную дату «свежести» и саму операционную систему определить можно. Можно просканировать сразу несколько хостов, для этого надо их перечислить через пробел:

Вернемся к нашему подопытному хосту. Хочется узнать поподробнее, какой используется софт. Попробуем уточнить полученные данные с помощью ключей -sV:

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

Агрессивное сканирование можно провести, указав ключ -A

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

В локальных сетях или просто имея на руках диапазон ip адресов, удобно проверить их на занятость с помощью ключей -sP:

Сканирование проходит довольно быстро, так как по сути это обычный ping-тест, отвечает ли хост на ping. Следует учесть, что хост может не отвечать на ping из-за настроек фаерволла. Если нужный участок сети нельзя ограничить маской, можно указать диапазон адресов, с какого и по какой надо провести сканирование. Например, есть диапазон адресов с 192.168.1.2 до 192.168.1.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 уточнил, что сканирование портов все-таки не является противозаконным.

Nmap в Kali Linux. Как пользоваться? Tutorial по поиску уязвимостей

Zip File, мамкины хацкеры. Мы с вами продолжаем углубляться в тему сетей и сегодня мне бы хотелось поговорить об одном из самых главных инструментов в арсенале каждого опытного сисадмина и безопасника. Речь пойдёт о мощнейшей программе Network Mapper или по-простому Nmap, предназначенной для оптимизации процесса сканирования корпоративных сетей самого разного уровня.

В своей работе Nmapиспользует специально сформированные IP-пакеты, чтобы определить доступные узлы в выбранной сетевом диапазоне. Также с его помощью можно узнать какие сервисы запущены на конкретном хосте. Какая операционная система используется для запуска этих сервисов, с помощью чего происходит фильтрация и ещё столько всего интересного, что изложить это в рамках даже очень долгого материала в принципе невозможно.

Однако разобраться в самой сути этой сканировалки портов под силу даже начинающему эникейщику. Ну а коль вы уже давно работаете в этой сфере, то вам сам бог велел озаботиться вопросом секьюр аудита. И хоть, в IT-шной среде многие исторически считают Nmapисключительно прерогативой чокнутых безопасников, отдельная прослойка админов с его помощью нет-нет, да и организовывает полезные ништяки.

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

Ну и конечно же разобрать самые популярные варианты использования в направлении быстрого исследования сетей и аудита плохо защищённых узлов. Этим сейчас и займёмся. Погнали.

В начале необходимо указывать тип сканирования, затем опции и только потом цели для обработки. Целью может являться, как одиночный ip-адрес, так и диапазон из нескольких адресов, сегмент, подсеть и даже целая сеть. Понятное дело, что все функции Мапки рассмотреть в принципе нереально. Ибо они по большей части ситуативные и зависят от преследуемых задач.

Программа показывает, что на узле находится 4 открытых порта и 1 в состоянии filtered. Но что это значит? Ведь все привыкли делить порты только на закрытые и открытые. На самом деле состояний у портов в разы больше. Помимо openи closed, есть ещё вышеупомянутый filtered, говорящий о том, что запросы до этого порта не доходят, а значит невозможно определить его состояние.

Также есть unfiltered, сообщающий, что порт доступен, но Nmapне может слёту определить его состояние. Нужно поиграться с настройками и изменить способам сканирования. Ну и соответственно есть ещё открытые и закрытые порты с фильтрацией. Такой статус частенько возникает, когда админ заигрался с настройками фаервола.

Окей. С топорным сканированием по имени разобрались. Аналогичным образом можно просканировать диапазон адресов в подсети. Вводим nmap, указываем диапазон и ждём результат. Программа показала все активные узлы с MAC-адресами и открытыми портами на роутере.

Теперь давайте попробуем проверить защищён ли один из хостов брандмауэром. Видим, что все порты на узле проходят фильтрацию, а значит фаервол врублен. А теперь давайте отключим его и чекнем снова.

Теперь все порты без фильтрации, а значит в случае их открытия – потенциально уязвимы. Именно такие хосты являются лёгкой добычей для злоумышленников. Но как спрашивается определить, какие узлы в сети в данный момент включены и активны, а какие находятся в дауне? Самым простым способом является метод host discovery или, как его ещё называют ping scan.

Помимо ICMP запросов, Nmap в данном случае будет отправлять ARPы, благодаря чему мы сможем узнать mac-адреса работающих устройств. Если вам требуется принудительно просканировать все узлы, независимо от того, проходит до них пинг или нет, что можно использовать ключ PNпозволяющий прошерстить всё, вплоть до статуса закрытых портов

К слову, о портах. Для того, чтобы определить причину состояния того или иного окошка, можно использовать опцию reason. Она выводит флаги в отдельный столбец. Открытые порты фильтруются ключом Open, а подробную информацию о переданных и полученных пакетах можно узнать, вызвав PacketTrace.

Что ещё. Инфу о настройке маршрутов и интерфейсах можно получить, набрав Iflist. Это по сути ip, route или netstat в адаптации Nmap’ки. При желании, можно определить версию удаленной операционной системы. Для этого используется команда osscan-guess с ключом O.

Бьюсь об заклад, что со временем, вам надоест набивать всё это дело в убогой консоли и вы задумаетесь об автоматизации процесса ввода команд посредством скриптов или какой-никакой графической оболочки. В качестве одного из вариантов оконника, могу посоветовать прогу Zenmap. Она является официальной ГУИшкой Nmap’а и предоставляет множество расширенных возможностей для людей, занимающихся сканированием на регулярной основе.

В частности, в Зенке есть функция сохранения отдельных профилей с заранее забитыми скриптами команд. Все результаты можно сохранять в виде отчётов и затем сравнивать их друг c другом постфактум.

Короче, если интересна реально продуктивная работа со сканами – обязательно посмотрите. К сожалению, в новых версиях KaliLinuxZenmapубрали из встроенных утилит. Поэтому для её возвращения придётся немного потанцевать с бубном. Но я само-собой скину вам в телеграмчик рабочий DEBовский файл с установкой. Так что обязательно подпишись, если ещё этого не сделал.

Также напоминаю, что, если вы хотите изучить тему сетей на более глубоком уровне, нежели в рамках развлекательных роликов на ютубчике, и поработать с действительно серьёзными штуками, не стоит откладывать обучение в долгий ящик. В данный момент у нас продолжается набор на курсы по первой части CiscoCCNAи ITEssentials. Данное обучение не из дешёвых и рассчитано только на тех, кто уже морально перешагнул тонкую грань эникейщика и желает попробовать себя в высшей лиге.

Более подробную информацию о программах обучения по этим популярнейшим направлениям вы можете получить, отправив мне на почту запрос с пометкой в теме Курсы Cisco. Решите уже для себя, хотите ли вы реально двигаться дальше и узнавать действительно серьёзные вещи из мира ITили так и хотите остаться в гомеостазе и навсегда законсервировать свой мозг в рамках зоны комфорта.

Всех тех, кто всё же решится на этот рывок – буду рад видеть в своей группе матёрых Цискачников. Ну а остальным, как говорится, большое спасибо за выбор. Бездействие – это тоже своего рода решение. Оставайтесь и дальше в жопе. Вселенной нужны батарейки.

На этом у меня всё. Ставь лайк если ролик оказался полезным, и ты узнал что-то новое про тупую сканировалку портов. Если темка зайдёт, непременно сделаю для вас ещё отдельный выпуск по ваиршарку. В заключении по традиции хочу пожелать всем удачи, успеха и самое главное, защищённых устройств. Берегите себя и свои гаджеты. Контролируйте все порты с помощью фаервола.

А лучше вообще, закройте всё на замок, если не понимаете, для чего это нужно. Целее будете. Ладненько. С вами, как обычно, был Денчик. Увидимся в комментах, комрады. Всем пока.

Nmap применяется для анализа сети и сканирования портов. У программы огромное количество опций. Изучению этой программы посвящены целые книги! Предлагаю в этой теме делиться интересными находками по nmap. Если тема разрастётся, лучшие примеры будут подняты в шапку.

Обычное сканирование выполняется командой вида:

В качестве ЦЕЛИ можно указать имя хоста, IP адрес, диапазоны IP адресов в разных нотациях.

Если нужно просканировать определённый порт или диапазон портов, то используется опция -p


Как просканировать все порты с nmap

По умолчанию nmap сканирует только самые популярные порты. Чтобы просканировать все порты, можно использовать опцию -p с указанием полного диапазона:

Если вы забываете максимальное количество портов (у меня есть такая проблема), то вы всегда можете посчитать его по формуле: 2 16 - 1

Но ещё проще использовать опцию -p следующим образом:

В качестве сканируемых портов можно указывать диапазон, разделённый дефисом. Если не указать начальное значение диапазона, то будут просканированы номера начиная с 1. Если не указать конечное значение диапазона, то будут просканированы номера вплоть до последнего. Если не указать ни начальное, ни конечное значение диапазона, то будут просканированые все возможные порты.

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

Иногда нужно только узнать, онлайн ли хост, либо просканировать локальную сеть, чтобы увидеть, какие устройства подключены к ней.

Если в этой ситуации пропустить сканирование портов, то можно сильно сэкономить время.

Чтобы только обнаружить активные хосты, но не сканировать их порты, используется опция -sn, например:

Как собрать банеры служб

Если служба запущена на нестандартном порту, то получается, что по номеру порта невозможно определить что это за служба. Тем не менее при попытке подключения служба может вывести достаточно информации, чтобы раскрыть себя. Именно этим пользуются сборщики банеров — инициализируют самое начало процесса подключения и смотрят, что им прислала служба. В nmap есть скрипт (NSE) который называется banner, чтобы он использовался, добавьте две опции к вашей команде -sV --script=banner.

Можно собирать банеры как для всех портов, так и для одного или нескольких.

Как просканировать UDP порты в nmap

По умолчанию nmap сканирует только TCP порты. Если использовать опцию -sU, то будут просканированы только UDP порты. Если нужно просканировать оба типа портов, то используйте одновременно -sS и -sU. Например:

Также с опцией -p перед номерами портов можно указать букву: T для TCP, U для UDP, S для SCTP или P для IP протоколов. Например, при задании аргумента -p U21-25,80,139,8080 будут просканированы UDP порты 53,111, и 137, а также все перечисленные TCP порты. Имейте в виду, что для сканирования обоих и UDP и TCP портов, вы должны указать опцию -sU и, по крайне мере, один из типов сканирования TCP (таких как -sS, -sF или -sT) — если этого не сделать, то даже не смотря на буквы U и T при перечислении портов, будет использоваться опции по умолчанию, то есть будут просканированы только TCP порты.


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

Как в Nmap делать трассировку узлов сети

Если вы не хотите сканировать порты, а хотите просто выполнить трассировку, то добавьте опцию -sn:

Кстати, это значительно сократить время до вывода результатов.

Бывает, что выводимые при трассировке программой nmap данные не являются полными. В этом случае попробуйте дополнительно добавить опцию -PE:


Указание диапазонов IP в Nmap

В Nmap очень гибкая система указания диапазонов — пожалуй, Nmap поддерживает больше всего форматов.

Диапазоны можно указывать через дефис, причём он может использоваться не только в последнем октете, но и вообще в любом. Запись при этом может выглядеть трудно читаемой, но зато такой способ является максимально гибким:

Можно использовать звёздочку и при этом её можно совмещать с другими способами записи диапазонов:

Поддерживается бесклассовая нотация:

Запускать Nmap с правами root или от обычного пользователя?

Программу Nmap можно запускать с привилегиями суперпользователя:

Или с привилегиями обычного пользователя:

На первый взгляд может показаться, что разницы нет, поскольку программа в любом случае возвращает результат. Но на самом деле при запуске от root программа Nmap может отправлять сырые пакеты с помощью которых сканирование является менее заметным: используются полуоткрытые соединения, которые приложения, прослушивающие порт, обычно вообще не замечают (но могут заметить файерволы и другое специальное сетевое оборудование).

При запуске от обычного пользователя, Nmap использует системный вызов и открывает полноценное соединение, что является более заметным и более медленным.

Некоторые виды сканирования невозможно запустить от пользователя с обычными правами! В этом случае программа выведет:

You requested a scan type which requires root privileges.

QUITTING!

Это означает, что перед вашей командой нужно добавить sudo.

Как сканировать IPv6 адреса в nmap


Чтобы сканировать открытые порты на IPv6 адресах необходимо соблюдение ряда условий:

  • удалённых хост должен иметь IPv6 адрес
  • ваш провайдер Интернет-услуг также должен иметь поддержку IPv6 и вашему устройству должен быть присвоен IPv6 адрес
  • если устройство, с которого выполняется сканирование, не напрямую подключено к роутеру, то эта сеть также должна поддерживать IPv6. Например, Интернет-провайдер, ваш роутер и ваш компьютер поддерживают IPv6 — следовательно, вы можете сканировать эту версию адресов. Но если вы с этого же компьютера попытаетесь выполнить сканирование, например, из виртуальной машины за NAT, которая подключена к сети 10.*.*.*, то сканирование завершиться неудачей из-за ошибки вида:

Если все условия соблюдены, то к команде сканирования nmap нужно добавить опцию -6 и в качестве цели указать:

  • полный IPv6 адрес
  • имя хоста (если к нему привязан IPv6)
  • для подсетей можно использовать нотацию CIDR

В настоящее время диапазоны октетов для IPv6 ещё не поддерживаются.

Даже если в качестве цели явно указан IPv6 адрес, опцию -6 нужно обязательно указывать, иначе возникнет ошибка вида:

2a0b1 looks like an IPv6 target specification -- you have to use the -6 option.

Все опции и возможности nmap поддерживаются также и для IPv6 адресов.

Если вам нужно просканировать порты на IPv6 адресе, но отсутствует такая техническая возможность, то вы можете воспользоваться онлайн сервисом « Сканирование открытых портов IPv6 адреса » (бесплатный, не требует регистрации).

Пример сканирования IPv6 адреса в Nmap:

Завершён перевод документации по опциям Nmap

В системах Linux документацию по Nmap можно посмотреть командой:

Там содержится полный перечень опций с их подробным описанием, причём на русском языке.

Но проблема в том, что русскоязычный вариант не обновлялся как минимум 10 лет!

Был начат перевод отсутствующих в русской версии фрагментов, одновременно отслеживался чейнджлог Nmap для добавления информации о новых опциях.

- по сравнению с оригинальной русской версией дополнена информация по уже присутствующим опциям

- добавлены новые опции с описанием, которые полностью отсутствуют в русскоязычной справке, в частности:

  • --discovery-ignore-rst
  • --defeat-icmp-ratelimit
  • --resolve-all
  • --script-timeout
  • --data
  • --data-string
  • --exclude-ports
  • --disable-arp-ping
  • --nsock-engine
  • --script-args-file

На самом деле, работа над поддержкой документации в актуальном состоянии продолжается. Скоро будут сделаны обновления, которые принёс недавний выпуск Nmap 7.90.

Быстрое сканирование огромных сетей в nmap

lijiejie, в своём блоге предложил вариант быстрого сканирования огромных подсетей.

Сканирование больших подсетей в nmap, например 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16,100.64.0.0/10 — это нетривиальная задача. На таких сетях nmap очень медленный и можно никогда не дождаться результатов сканирования. В результате многие просто используют другие инструменты, такие как Masscan и Zmap .

Сканируя огромное сетевое пространство, нас больше всего беспокоит эффективность, то есть затраты времени. Ради быстроты иногда можно пожертвовать точностью.

Основная идея быстрого сканирования — пинговать с высоким уровнем параллелизма:

  • -sn: не сканировать порты, только пинговать хост
  • -PE: определяет, жив ли хост через эхо ICMP
  • -n: не преобразует IP-адреса в доменные имена.
  • --min-hostgroup 1024: Регулирует размер групп для параллельного сканирования. Минимальная группировка установлена на 1024 IP-адреса. В Nmap есть возможность осуществлять сканирование портов или сканирование с целью определения версии нескольких хостов параллельно. Это происходит путём разделения целевого IP пространства на группы, а затем сканирования одной группы за раз. В общем случае целесообразно использовать большие группы. Недостатком является то, что вы не можете узанть информацию о каком-либо хосте, пока не закончится сканирование всей группы. Таким образом, если Nmap начнет сканирование группы из 50-ти хостов, то пользователь не будет получать никакой информации (кроме обновлений информации предлагаемых в вербальном режиме), пока не будет завершено сканирование всех 50-ти хостов. о умолчанию Nmap использует компромиссный подход к решению этой проблемы. Сначала производится сканирование небольших групп из 5-ти хостов, поэтому первые результаты приходят быстро, затем размер группы постепенно увеличивается до максимального - 1024. Точные значения по умолчанию зависят от заданных опций. Для большей эффективности Nmap использует группы больших размеров для UDP сканирования и для некоторых типов TCP сканирования портов.
  • --min-parallelism 1024: Регулирует распараллеливание запросов. Этот параметр очень важен. Чтобы в полной мере использовать системные и сетевые ресурсы, мы устанавливаем количество проверок на не менее чем 1024. Эти опции регулируют общее количество запросов для группы хостов. Опции используются при сканировании портов и при обнаружении хостов. По умолчанию Nmap высчитывает степень параллельности основываясь на производительности сети. Если пакеты отбрасываются, то Nmap использует меньшее количество запросов. Количество запросов медленно увеличивается по мере того, как сеть продолжает нормально работать. Эти опции устанавливают минимальную и максимальную границы для этой переменной. По умолчанию параллелизм устанавливается в 1, если сеть работает плохо, и может достигать нескольких сотен при идеальных условиях.
  • -oX nmap_output.xml: Вывести результат в формате XML, имя файла — nmap_output.xml

По окончании сканирования вы можете проанализировать XML-документ, чтобы узнать, какие IP-адреса активны.

Совет: количество одновременных зондов можно настроить в соответствии с условиями вашей сети.

Посмотрите на следующие данные результатов сканирования:


Просканировано 4012855 адресов за 2590 секунд — это 43 минуты. Найдено 140507 хостов онлайн. С настройками по умолчанию сканирование сети /10 заняло бы намного больше времени.

Читайте также: