Это команда nmap, которую можно запустить в бесплатном хостинг-провайдере OnWorks, используя одну из наших многочисленных бесплатных онлайн-рабочих станций, таких как Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS.
ПРОГРАММА:
ИМЯ
nmap - инструмент исследования сети и сканер безопасности / портов
СИНТАКСИС
птар [Сканировать Тип...] [Варианты] {цель Спецификация}
ОПИСАНИЕ
Nmap («Network Mapper») - инструмент с открытым исходным кодом для исследования сети и обеспечения безопасности.
аудит. Он был разработан для быстрого сканирования больших сетей, хотя отлично работает против
одиночные хозяева. Nmap использует необработанные IP-пакеты по-новому, чтобы определить, какие хосты доступны
в сети, какие услуги (название и версия приложения) предлагают эти хосты,
какие операционные системы (и версии ОС) они работают, какой тип пакета
фильтры / брандмауэры и десятки других характеристик. Хотя Nmap обычно
используется для аудита безопасности, многие системные и сетевые администраторы считают его полезным для
рутинные задачи, такие как инвентаризация сети, управление графиками обновления услуг и
мониторинг работоспособности хоста или службы.
Результатом работы Nmap является список просканированных целей с дополнительной информацией по каждой.
в зависимости от используемых опций. Ключевым моментом в этой информации является «интересные порты.
table ».. В этой таблице перечислены номер порта и протокол, имя службы и состояние. В
состояние может быть открытым, отфильтрованным, закрытым или нефильтрованным. Открытым. означает, что приложение
на целевой машине прослушивает соединения / пакеты на этом порту. Отфильтровано. средства
что брандмауэр, фильтр или другое сетевое препятствие блокирует порт, поэтому Nmap
не могу сказать, открыт он или закрыт. Закрыто. на портах нет приложений, которые прослушивают
их, хотя они могли открыться в любой момент. Порты классифицируются как нефильтрованные. когда
они реагируют на зонды Nmap, но Nmap не может определить, открыты они или
закрыто. Nmap сообщает о комбинациях состояний открыто | отфильтровано. и закрыто | фильтруется. когда это
не может определить, какое из двух состояний описывает порт. Таблица портов может также включать
сведения о версии программного обеспечения при запросе определения версии. Когда IP-протокол
требуется сканирование (-так), Nmap предоставляет информацию о поддерживаемых IP-протоколах, а не
прослушивающие порты.
Помимо интересной таблицы портов, Nmap может предоставить дополнительную информацию о
цели, включая обратные DNS-имена, предположения об операционной системе, типы устройств и MAC
адреса.
Типичное сканирование Nmap показано в Примере 1. Единственные аргументы Nmap, используемые в этом примере
-A, чтобы включить определение ОС и версии, сканирование скриптов и трассировку; -T4 для
более быстрое исполнение; а затем имя хоста.
Пример 1. A представитель Nmap сканирование
# птар -A -T4 scanme.nmap.org
Отчет о сканировании Nmap для scanme.nmap.org (74.207.244.221)
Хост завершен (время ожидания 0.029s).
Запись rDNS для 74.207.244.221: li86-221.members.linode.com
Не показано: 995 закрытых портов
ВЕРСИЯ ГОСУДАРСТВЕННОЙ СЛУЖБЫ ПОРТА
22 / tcp open ssh OpenSSH 5.3p1 Debian 3ubuntu7 (протокол 2.0)
| ssh-hostkey: 1024 8d:60:f1:7c:ca:b7:3d:0a:d6:67:54:9d:69:d9:b9:dd (DSA)
|_2048 79:f8:09:ac:d4:e2:32:42:10:49:d3:bd:20:82:85:ec (RSA)
80 / tcp открыть http Apache httpd 2.2.14 ((Ubuntu))
| _http-title: Вперед, ScanMe!
646 / TCP с фильтром ldp
1720 / tcp с фильтром H.323 / Q.931
9929 / tcp открыть nping-echo Nping echo
Тип устройства: общего назначения
Запуск: Linux 2.6.X
OS CPE: cpe: / o: linux: linux_kernel: 2.6.39
Сведения об ОС: Linux 2.6.39
Сетевое расстояние: 11 переходов
Служебная информация: ОС: Linux; CPE: cpe: / o: linux: ядро
TRACEROUTE (с использованием порта 53 / tcp)
HOP RTT АДРЕС
[Для краткости вырезать первые 10 хмелей]
11 17.65 мс li86-221.members.linode.com (74.207.244.221)
Выполнено Nmap: 1 IP-адрес (1 хост активен) просканирован за 14.40 секунды
Последнюю версию Nmap можно получить по адресу https://nmap.org. Новейшая версия
эта страница руководства доступна по адресу https://nmap.org/book/man.html. Он также включен как
глава Nmap Network Scanning: Официальное руководство проекта Nmap по обнаружению сети и
Проверка безопасности (см. https://nmap.org/book/).
ДОПОЛНИТЕЛЬНЫЕ ОПЦИИ РЕЗЮМЕ
Эта сводка опций печатается, когда Nmap запущен без аргументов и последняя версия
всегда доступен по адресу https://svn.nmap.org/nmap/docs/nmap.usage.txt. Помогает людям
запомните наиболее распространенные варианты, но они не могут заменить подробную документацию в
остальная часть этого руководства. Некоторые непонятные опции здесь даже не включены.
Nmap 7.01 (https://nmap.org)
Использование: nmap [Тип (ы) сканирования] [Параметры] {целевая спецификация}
ЦЕЛЕВАЯ СПЕЦИФИКАЦИЯ:
Может передавать имена хостов, IP-адреса, сети и т. Д.
Пример: scanme.nmap.org, microsoft.com/24, 192.168.0.1; 10.0.0-255.1-254
-iL : Ввод из списка хостов / сетей
-iR : Выберите случайные цели
--исключать : Исключить хосты / сети
--excludefile : Исключить список из файла
ХОЗЯИН ОТКРЫТИЕ:
-sL: List Scan - просто перечислить цели для сканирования
-sn: Ping Scan - отключить сканирование портов
-Pn: рассматривать все хосты как подключенные - пропустить обнаружение хостов
-PS / PA / PU / PY [список портов]: TCP SYN / ACK, UDP или SCTP обнаружение для заданных портов
-PE / PP / PM: проверка запросов на обнаружение запросов ICMP echo, timestamp и netmask.
-PO [список протоколов]: пинг IP-протокола
-n / -R: никогда не выполнять разрешение DNS / всегда разрешать [по умолчанию: иногда]
--dns-серверы : Укажите настраиваемые DNS-серверы
--system-dns: использовать DNS-преобразователь ОС
--traceroute: трассировать путь перехода к каждому хосту
МЕТОДЫ СКАНИРОВАНИЯ:
-sS / sT / sA / sW / sM: TCP SYN / Connect () / ACK / Window / Maimon сканирует
-sU: UDP сканирование
-sN / sF / sX: сканирование TCP Null, FIN и Xmas
--scanflags : Настроить флаги сканирования TCP
-sI : Сканирование в режиме ожидания
-sY / sZ: сканирование SCTP INIT / COOKIE-ECHO
-sO: сканирование протокола IP
-b : Сканирование отказов FTP
СПЕЦИФИКАЦИЯ ПОРТА И ПОРЯДОК СКАНИРОВАНИЯ:
-п : Сканировать только указанные порты
Пример: -p22; -p1-65535; -p U: 53,111,137, T: 21-25,80,139,8080, S: 9
--exclude-ports : Исключить указанные порты из сканирования
-F: Быстрый режим - сканировать меньше портов, чем сканирование по умолчанию
-r: последовательно сканировать порты - без случайного выбора
--top-порты : Сканировать наиболее распространенные порты
--port-ratio : Сканировать порты чаще, чем
ОБНАРУЖЕНИЕ СЕРВИСА / ВЕРСИИ:
-sV: исследовать открытые порты для определения информации о сервисе / версии.
--версия-интенсивность : Установите от 0 (светлый) до 9 (попробуйте все датчики)
--version-light: ограничить наиболее вероятными зондами (интенсивность 2)
--version-all: попробовать каждый зонд (интенсивность 9)
--version-trace: показать подробную активность сканирования версий (для отладки)
СЦЕНАРИЙ СКАНИРОВАНИЕ:
-sC: эквивалент --script = default
--script = : список разделенных запятыми
каталоги, файлы сценариев или категории сценариев
--script-args = : предоставить аргументы скриптам
--script-args-file = filename: предоставить аргументы сценария NSE в файле
--script-trace: показать все отправленные и полученные данные
--script-updatedb: обновить базу данных скриптов.
--script-help = : Показать справку о скриптах.
список файлов сценариев, разделенных запятыми, или
категории-скрипты.
ОБНАРУЖЕНИЕ ОС:
-O: включить определение ОС
--osscan-limit: ограничить обнаружение ОС перспективными целями.
--osscan-guess: угадывать ОС более агрессивно
ВРЕМЯ И ПРОИЗВОДИТЕЛЬНОСТЬ:
Варианты, которые принимают в секундах или добавьте "мс" (миллисекунды),
«s» (секунды), «m» (минуты) или «h» (часы) к значению (например, 30 м).
-T <0-5>: установить шаблон времени (чем выше, тем быстрее)
--min-hostgroup / max-hostgroup : Размеры групп сканирования параллельных хостов
--мин-параллелизм / макс-параллелизм : Распараллеливание зонда
--min-rtt-timeout / max-rtt-timeout / начальный-rtt-timeout : Указывает
время прохождения зонда туда и обратно.
--max-retries : Ограничивает количество повторных передач зондов сканирования портов.
--host-timeout : Откажитесь от цели после столь долгого
--scan-delay / - максимальная задержка сканирования : Отрегулируйте задержку между датчиками
--мин-скорость : Отправлять пакеты не медленнее, чем в секунду
--max-rate : Отправлять пакеты не быстрее, чем в секунду
ФЕЙЕРВОЛ / IDS УКЛОНЕНИЕ И ПОДДЕРЖКА:
-f; --mtu : пакеты фрагментов (необязательно с заданным MTU)
-D : Скрыть сканирование с помощью ловушек
-S : Адрес источника подделки
-e : Использовать указанный интерфейс
-g / - порт источника : Использовать заданный номер порта
--прокси : Ретрансляция соединений через прокси HTTP / SOCKS1
--данные : Добавить пользовательские данные к отправленным пакетам
- строка-данных : Добавить настраиваемую строку ASCII к отправляемым пакетам
- длина-данных : Добавлять случайные данные к отправленным пакетам
--ip-параметры : Отправлять пакеты с указанными параметрами IP
--ttl : Установить поле времени жизни IP
--spoof-mac : Подделать свой MAC-адрес
--badsum: отправлять пакеты с поддельной контрольной суммой TCP / UDP / SCTP
ВЫХОД:
-oN / -oX / -oS / -oG : Выводить сканирование в обычном формате, XML, s |
и Grepable формат, соответственно, для данного имени файла.
-oA : Вывод одновременно в трех основных форматах.
-v: увеличить уровень детализации (используйте -vv или больше для большего эффекта)
-d: увеличить уровень отладки (используйте -dd или больше для большего эффекта)
--reason: Показать причину, по которой порт находится в определенном состоянии
--open: показывать только открытые (или, возможно, открытые) порты
--packet-trace: показать все отправленные и полученные пакеты
--iflist: Распечатать интерфейсы хоста и маршруты (для отладки)
--append-output: Добавлять, а не затирать указанные выходные файлы
--продолжить : Возобновить прерванное сканирование
--stylesheet : Таблица стилей XSL для преобразования вывода XML в HTML
--webxml: ссылка на таблицу стилей из Nmap.Org для более переносимого XML
--no-stylesheet: запретить связывание таблицы стилей XSL с выводом XML.
MISC:
-6: включить сканирование IPv6
-A: включить обнаружение ОС, определение версии, сканирование скриптов и трассировку.
--датадир : Укажите местоположение пользовательского файла данных Nmap
--send-eth / - send-ip: отправлять с использованием сырых кадров Ethernet или IP-пакетов
--privileged: предполагать, что пользователь имеет все права
--unprivileged: предположить, что у пользователя нет прав на использование сырых сокетов.
-V: распечатать номер версии
-h: распечатать эту сводную страницу справки.
ПРИМЕРЫ:
nmap -v -A scanme.nmap.org
nmap -v -sn 192.168.0.0/16 10.0.0.0/8
nmap -v -iR 10000 -Pn -p 80
НА СТРАНИЦЕ РУКОВОДСТВА (https://nmap.org/book/man.html) БОЛЬШЕ ВАРИАНТОВ И ПРИМЕРОВ
TARGET ТЕХНИЧЕСКИЕ ХАРАКТЕРИСТИКИ
Все в командной строке Nmap, не являющееся параметром (или аргументом параметра), обрабатывается.
в качестве спецификации целевого хоста. Самый простой случай - указать целевой IP-адрес или
имя хоста для сканирования.
Иногда вы хотите просканировать целую сеть соседних хостов. Для этого Nmap поддерживает
В стиле CIDR. адресация. Вы можете добавить /ошеломляет на IPv4-адрес или имя хоста и Nmap
просканирует каждый IP-адрес, для которого первый ошеломляет такие же, как для справки
Указан IP или имя хоста. Например, 192.168.10.0/24 просканирует 256 хостов между
192.168.10.0 (двоичный: 11000000 10101000 00001010 00000000) и 192.168.10.255 (двоичный:
11000000 10101000 00001010 11111111) включительно. 192.168.10.40/24 будет сканировать точно
те же цели. Учитывая, что хост scanme.nmap.org. находится по IP-адресу 64.13.134.52,
спецификация scanme.nmap.org/16 просканирует 65,536 64.13.0.0 IP-адресов между XNUMX и
64.13.255.255. Наименьшее допустимое значение - / 0, предназначенное для всего Интернета. В
наибольшее значение / 32, которое сканирует только названный хост или IP-адрес, потому что все адреса
биты фиксированы.
Обозначения CIDR короткие, но не всегда достаточно гибкие. Например, вы можете сканировать
192.168.0.0/16, но пропустите любые IP-адреса, заканчивающиеся на .0 или .255, потому что они могут использоваться как подсеть
сетевые и широковещательные адреса. Nmap поддерживает это посредством адресации диапазона октетов. Скорее
чем указать обычный IP-адрес, вы можете указать список чисел, разделенных запятыми, или
диапазоны для каждого октета. Например, 192.168.0-255.1-254 пропустит все адреса в
диапазон, заканчивающийся на .0 или .255, и 192.168.3-5,7.1 будет сканировать четыре адреса
192.168.3.1, 192.168.4.1, 192.168.5.1 и 192.168.7.1. Любая сторона диапазона может быть
опущено; значения по умолчанию - 0 слева и 255 справа. Использование - само по себе
то же, что 0-255, но не забудьте использовать 0- в первом октете, чтобы целевая спецификация
не похоже на параметр командной строки. Диапазоны не должны ограничиваться последними октетами:
спецификатор 0-255.0-255.13.37 выполнит сканирование в Интернете для всех IP-адресов.
оканчивается на 13.37. Такая широкая выборка может быть полезна для интернет-опросов и
исследование.
Адреса IPv6 могут быть указаны только с их полным IPv6-адресом или именем хоста.
CIDR и диапазоны октетов еще не поддерживаются для IPv6.
Адреса IPv6 с неглобальной областью действия должны иметь суффикс идентификатора зоны. В системах Unix это
- знак процента, за которым следует имя интерфейса; полный адрес может быть
fe80 :: a8bb: ccff: fedd: eeff% eth0. В Windows используйте порядковый номер интерфейса вместо
имя интерфейса: fe80 :: a8bb: ccff: fedd: eeff% 1. Вы можете увидеть список индексов интерфейсов по
выполнение команды netsh.exe интерфейс ipv6 по оценкам, интерфейс.
Nmap принимает несколько спецификаций хоста в командной строке, и они не должны быть
того же типа. Команда птар scanme.nmap.org 192.168.0.0/8 10.0.0,1,3-7.- делает то, что ты
ожидал бы.
Хотя цели обычно указываются в командной строке, следующие параметры также
доступны для управления выбором цели:
-iL имя входного файла (Ввод из списка).
Читает целевые спецификации из имя входного файла. Передача огромного списка хостов часто
неудобно в командной строке, но это обычное желание. Например, ваш DHCP-сервер
вы можете экспортировать список из 10,000 XNUMX текущих договоров аренды, которые вы хотите просканировать. Или может ты хочешь
сканировать все IP-адреса кроме для тех, кто ищет хосты, использующие неавторизованный статический IP
адреса. Просто сгенерируйте список хостов для сканирования и передайте это имя файла в Nmap как
аргумент -iL вариант. Записи могут быть в любом из форматов, принятых Nmap.
в командной строке (IP-адрес, имя хоста, CIDR, IPv6 или диапазоны октетов). Каждая запись
должны быть разделены одним или несколькими пробелами, знаками табуляции или новой строки. Вы можете указать дефис
(-) в качестве имени файла, если вы хотите, чтобы Nmap считывал хосты из стандартного ввода, а не из
фактический файл.
Входной файл может содержать комментарии, которые начинаются с символа # и доходят до конца
линии.
-iR Num хостов (Выберите случайные цели).
Для интернет-опросов и других исследований вы можете выбрать цели на
случайный. В Num хостов аргумент сообщает Nmap, сколько IP-адресов нужно сгенерировать. Нежелательные IP-адреса
например, в определенных диапазонах частных, многоадресных или нераспределенных адресов
автоматически пропускается. Аргумент 0 может быть указан для бесконечного сканирования. Хранить
имея в виду, что некоторые сетевые администраторы недовольны несанкционированным сканированием своих
сети и может жаловаться. Используйте эту опцию на свой страх и риск! Если ты найдешь себя
очень скучно одним дождливым днем, попробуйте команду птар Рп -sS -p 80 -iR 0 --открытым, в
найти случайные веб-серверы для просмотра.
--исключать host1[,host2[, ...]] (Исключить хосты / сети).
Задает список целей, разделенных запятыми, которые следует исключить из сканирования, даже если они
являются частью указанного вами сетевого диапазона. Список, который вы передаете, использует обычный
Синтаксис Nmap, поэтому он может включать имена хостов, сетевые блоки CIDR, диапазоны октетов и т. Д.
быть полезным, когда сеть, которую вы хотите просканировать, включает в себя неприкосновенные критически важные
серверы, системы, которые, как известно, отрицательно реагируют на сканирование портов, или подсети
управляется другими людьми.
--excludefile исключить_файл (Исключить список из файла).
Он предлагает те же функции, что и --исключать вариант, за исключением того, что исключенный
цели указываются в символах новой строки, пробела или табуляции. исключить_файл , а не
в командной строке.
Файл исключения может содержать комментарии, которые начинаются с символа # и доходят до конца
линии.
ВЕДУЩИЙ DISCOVERY
Один из самых первых шагов в любой миссии сетевой разведки - уменьшить
(иногда огромный) набор диапазонов IP в список активных или интересных хостов. Сканирование
каждый порт каждого IP-адреса медленный и обычно не нужен. Конечно что
делает хост интересным во многом зависит от целей сканирования. Сетевые администраторы могут
интересоваться только хостами, на которых запущена определенная служба, в то время как аудиторы безопасности могут заботиться
о каждом устройстве с IP-адресом. Администратору может быть удобно использовать
просто ICMP-пинг для определения хостов во внутренней сети, в то время как внешнее проникновение
тестировщик может использовать разнообразный набор из десятков зондов, пытаясь обойти брандмауэр.
ограничения.
Поскольку потребности в обнаружении хостов очень разнообразны, Nmap предлагает множество вариантов для
настройка используемых методов. Обнаружение хоста иногда называют сканированием ping, но оно
намного больше, чем простые пакеты эхо-запросов ICMP, связанные с вездесущим инструментом ping.
Пользователи могут полностью пропустить этап проверки связи с помощью сканирования списка (-SL) или отключив ping (Рп),
или задействуйте сеть с произвольными комбинациями многопортовых TCP SYN / ACK, UDP, SCTP
Зонды INIT и ICMP. Цель этих зондов - получить ответы, демонстрирующие
что IP-адрес действительно активен (используется хостом или сетевым устройством). На многих
сети, только небольшой процент IP-адресов активен в любой момент времени. Это
особенно часто встречается с частным адресным пространством, таким как 10.0.0.0/8. В этой сети 16
миллиона IP-адресов, но я видел, как его используют компании, у которых меньше тысячи машин. Хозяин
обнаружение может найти эти машины в море редко выделенных IP-адресов.
Если параметры обнаружения хоста не указаны, Nmap отправляет эхо-запрос ICMP, пакет TCP SYN.
на порт 443, пакет TCP ACK на порт 80 и запрос отметки времени ICMP. (Для IPv6
Запрос отметки времени ICMP опущен, потому что он не является частью ICMPv6.) Эти значения по умолчанию:
эквивалентно -ПЭ -PS443 -ПА80 -ПП параметры. Исключением являются ARP (для
IPv4) и обнаружение соседей. (для IPv6) сканирование, которое используется для любых целей на локальном
сеть Ethernet. Для непривилегированных пользователей оболочки Unix зонды по умолчанию - это SYN-пакет.
к портам 80 и 443 с помощью соединяться системный вызов .. Это обнаружение хоста часто
Достаточно при сканировании локальных сетей, но более полный набор зондов обнаружения
рекомендуется для аудита безопасности.
The -П* опции (которые выбирают типы пинга) можно комбинировать. Вы можете увеличить свои шансы на
проникновение через строгие брандмауэры путем отправки многих типов зондов с использованием разных портов / флагов TCP
и коды ICMP. Также обратите внимание, что ARP / Neighbor Discovery (-PR). выполняется по умолчанию против
цели в локальной сети Ethernet, даже если вы укажете другие -П* варианты, потому что это
почти всегда быстрее и эффективнее.
По умолчанию Nmap обнаруживает хост, а затем выполняет сканирование портов каждого хоста.
определяет находится в сети. Это верно, даже если вы укажете нестандартные типы обнаружения хоста.
такие как зонды UDP (-ПУ). Читайте о -sn возможность узнать, как выполнять только хост
открытие или использование Рп чтобы пропустить обнаружение хоста и сканирование портов всех целевых хостов. Следующий
параметры управления обнаружением хоста:
-SL (Просмотр списка).
Сканирование списка - это вырожденная форма обнаружения хоста, которая просто перечисляет каждый хост
указанные сети без отправки пакетов на целевые узлы. По умолчанию,
Nmap по-прежнему выполняет обратное разрешение DNS на хостах, чтобы узнать их имена. Часто
Удивительно, сколько полезной информации выдают простые имена хостов. Например, fw.chi
- это название брандмауэра одной компании в Чикаго. Nmap также сообщает общее количество
IP-адреса в конце. Сканирование списка - хорошая проверка работоспособности, чтобы убедиться, что у вас есть
правильные IP-адреса для ваших целей. Если хосты используют доменные имена, вы не
признаем, стоит продолжить расследование, чтобы предотвратить сканирование не той компании
сеть.
Поскольку идея состоит в том, чтобы просто распечатать список целевых хостов, варианты для более высокого уровня
такие функции, как сканирование портов, обнаружение ОС или сканирование ping, не могут быть объединены
с этим. Если вы хотите отключить сканирование ping, все еще выполняя такие более высокие
функциональность уровня, читайте на Рп (пропустить пинг) вариант.
-sn (Без сканирования портов).
Эта опция указывает Nmap не выполнять сканирование портов после обнаружения хоста, а только распечатывать
доступные хосты, ответившие на зонды обнаружения хоста. Это часто известно
как «сканирование ping», но вы также можете запросить, чтобы сценарии хоста traceroute и NSE были
бег. По умолчанию это на один шаг более навязчиво, чем сканирование списка, и часто может быть
используется для тех же целей. Позволяет вести легкую разведку целевой сети без
привлекает много внимания. Знание того, сколько хостов подключено, более ценно для злоумышленников
чем список, предоставленный сканированием списка каждого IP-адреса и имени хоста.
Системные администраторы также часто считают эту возможность полезной. Его легко использовать
для подсчета доступных машин в сети или мониторинга доступности сервера. Это часто
называется ping sweep, и он более надежен, чем ping широковещательный адрес, потому что
многие хосты не отвечают на широковещательные запросы.
Обнаружение хоста по умолчанию выполняется с помощью -sn состоит из эхо-запроса ICMP, TCP SYN для
порт 443, TCP ACK для порта 80 и запрос отметки времени ICMP по умолчанию. При исполнении
непривилегированным пользователем отправляются только SYN-пакеты (с использованием соединяться вызов) в порты 80
и 443 в створ. Когда привилегированный пользователь пытается сканировать цели на локальном
сеть Ethernet, запросы ARP используются, если --send-ip было указано. В -sn вариант
можно комбинировать с любыми типами зондов обнаружения ( -П* варианты, исключая Рп)
для большей гибкости. Если используется какой-либо из этих типов зонда и номеров портов,
зонды по умолчанию отменены. Если установлены строгие брандмауэры между
исходный хост, на котором запущен Nmap, и целевая сеть, использование этих передовых методов является
рекомендуемые. В противном случае хосты могут быть пропущены, когда брандмауэр отбрасывает зонды или их
ответы.
В предыдущих выпусках Nmap -sn был известен как -сп..
Рп (Нет пинга).
Эта опция полностью пропускает этап обнаружения Nmap. Обычно Nmap использует этот этап
для определения активных машин для более тяжелого сканирования. По умолчанию Nmap выполняет только
тяжелое зондирование, такое как сканирование портов, определение версии или обнаружение ОС на хостах
которые оказались вверху. Отключение обнаружения хоста с помощью Рп заставляет Nmap пытаться
запрошенные функции сканирования против каждую указан целевой IP-адрес. Итак, если класс
B целевое адресное пространство (/ 16) указано в командной строке, все 65,536 XNUMX IP-адресов
сканируются. Правильное обнаружение хоста пропускается, как при сканировании списка, но вместо
остановив и распечатав целевой список, Nmap продолжает выполнять запрошенные функции
как если бы каждый целевой IP был активен. Чтобы пропустить сканирование ping и сканирование портов, при этом позволяя
NSE для запуска, используйте два варианта Рп -sn одновременно.
Для машин в локальной сети Ethernet сканирование ARP по-прежнему будет выполняться (если только
--отключить-арп-пинг or --send-ip указан), потому что Nmap нужны MAC-адреса для
дальнейшее сканирование целевых хостов. В предыдущих версиях Nmap Рп законопроект -P0. и -ПН..
-ПС порт список (TCP SYN Ping).
Эта опция отправляет пустой TCP-пакет с установленным флагом SYN. Пункт назначения по умолчанию
порт 80 (настраивается во время компиляции путем изменения DEFAULT_TCP_PROBE_PORT_SPEC, в
nmap.h) .. В качестве параметра можно указать альтернативные порты. Синтаксис такой же, как у
для -p за исключением того, что спецификаторы типа порта, такие как T:, не допускаются. Примеры
-PS22 и -ПС22-25,80,113,1050,35000. Обратите внимание, что между -ПС и
список портов. Если указано несколько зондов, они будут отправлены параллельно.
Флаг SYN указывает удаленной системе, что вы пытаетесь установить
связь. Обычно порт назначения будет закрыт, и пакет RST (сброс)
отправлен назад. Если порт окажется открытым, цель выполнит второй шаг
Трехстороннее рукопожатие TCP. ответив TCP-пакетом SYN / ACK. Машина работает
Затем Nmap разрывает возникающее соединение, отвечая RST, а не
отправка пакета ACK, который завершит трехстороннее рукопожатие и установит
полное подключение. Пакет RST отправляется ядром машины, на которой запущен Nmap в
ответ на неожиданный SYN / ACK, а не сам Nmap.
Nmap не волнует, открыт порт или закрыт. Либо RST, либо SYN / ACK
ответ, обсуждавшийся ранее, сообщает Nmap, что хост доступен и отвечает.
На ящиках Unix только привилегированный пользователь root. обычно может отправлять и получать
необработанные пакеты TCP .. Для непривилегированных пользователей автоматически применяется обходной путь.
посредством чего соединяться системный вызов инициируется для каждого целевого порта. Это
эффект отправки SYN-пакета на целевой хост в попытке установить
связь. Если соединяться возвращается с быстрым успехом или неудачей ECONNREFUSED,
базовый TCP-стек должен получить SYN / ACK или RST, и хост помечен
доступный. Если попытка подключения остается зависшей до истечения тайм-аута,
хост отмечен как отключенный.
-ПА порт список (TCP ACK Ping).
Проверка связи TCP ACK очень похожа на только что обсуждавшуюся проверку связи SYN. Разница, поскольку
Вы могли догадаться, что вместо флага SYN установлен флаг TCP ACK. Такой
пакет ACK претендует на подтверждение данных по установленному TCP-соединению,
но такой связи нет. Таким образом, удаленные хосты всегда должны отвечать RST
пакет, раскрывающий их существование в процессе.
The -ПА опция использует тот же порт по умолчанию, что и SYN-зонд (80), а также может принимать
список портов назначения в том же формате. Если непривилегированный пользователь попытается это сделать,
соединяться используется обходной путь, описанный ранее. Этот обходной путь несовершенный, потому что
соединяться фактически отправляет пакет SYN, а не ACK.
Причина, по которой предлагаются зонды пинга SYN и ACK, состоит в том, чтобы максимизировать шансы
в обход межсетевых экранов. Многие администраторы настраивают маршрутизаторы и другие простые межсетевые экраны.
для блокировки входящих SYN-пакетов, за исключением тех, которые предназначены для общедоступных служб, таких как
веб-сайт компании или почтовый сервер. Это предотвращает другие входящие подключения к
организации, позволяя пользователям беспрепятственно исходить из
Интернет. Такой подход без сохранения состояния занимает мало ресурсов на брандмауэре / маршрутизаторе и
широко поддерживается аппаратными и программными фильтрами. Файл Linux Netfilter / iptables.
программное обеспечение межсетевого экрана предлагает --син удобный вариант для реализации этого безгражданства
подход. Когда действуют такие правила брандмауэра без сохранения состояния, SYN ping проверяет
(-ПС) могут быть заблокированы при отправке на закрытые целевые порты. В таких случаях
Зонд ACK светится, когда он проходит сквозь эти правила.
Другой распространенный тип межсетевого экрана использует правила с отслеживанием состояния, которые отбрасывают неожиданные пакеты. Этот
Первоначально эта функция была обнаружена в основном в высокопроизводительных межсетевых экранах, хотя
чаще встречается с годами. Система Linux Netfilter / iptables поддерживает это посредством
--штат опция, которая классифицирует пакеты в зависимости от состояния соединения. Зонд SYN
с большей вероятностью будет работать против такой системы, поскольку неожиданные пакеты ACK обычно
признал фиктивным и уронил. Решение этой затруднительной ситуации - отправить как SYN, так и
ACK проверяет, задавая -ПС и -ПА.
-ПУ порт список (UDP-пинг).
Другой вариант обнаружения хоста - это UDP-пинг, который отправляет UDP-пакет заданному
порты. Для большинства портов пакет будет пустым, хотя некоторые используют зависящие от протокола
полезная нагрузка, которая с большей вероятностью вызовет ответ. Описана база данных полезной нагрузки.
at https://nmap.org/book/nmap-payloads.html.. --данные, - строка-данных и
- длина-данных настройки.
Список портов имеет тот же формат, что и ранее обсужденный. -ПС и -ПА
параметры. Если порты не указаны, значение по умолчанию - 40125 .. Это значение по умолчанию может быть
настраивается во время компиляции путем изменения DEFAULT_UDP_PROBE_PORT_SPEC. в nmap.h .. A
крайне необычный порт используется по умолчанию, потому что отправка на открытые порты часто
нежелательно для данного типа сканирования.
При попадании в закрытый порт на целевой машине зонд UDP должен вызвать ICMP
пакет о недоступности порта взамен. Это означает для Nmap, что машина включена и
доступный. Многие другие типы ошибок ICMP, такие как недоступность хоста / сети или TTL
превышение указывает на неработающий или недоступный хост. Отсутствие ответа также
интерпретируется таким образом. Если достигнут открытый порт, большинство служб просто игнорируют
пустой пакет и не возвращает никакого ответа. Вот почему порт пробы по умолчанию
40125, который вряд ли будет использоваться. Несколько сервисов, таких как Персонаж
Протокол генератора (chargen), ответит на пустой пакет UDP и, таким образом, раскроет
Nmap, что машина имеется.
Основное преимущество этого типа сканирования заключается в том, что он обходит брандмауэры и фильтрует,
только экран TCP. Например, однажды у меня была беспроводная широкополосная связь Linksys BEFW11S4.
роутер. Внешний интерфейс этого устройства по умолчанию фильтрует все TCP-порты, но
Зонды UDP по-прежнему будут выявлять сообщения о недоступности порта и, таким образом, выдавать устройство.
-ПЯ порт список (SCTP INIT Ping).
Эта опция отправляет пакет SCTP, содержащий минимальный блок INIT. По умолчанию
порт назначения - 80 (настраивается во время компиляции путем изменения
DEFAULT_SCTP_PROBE_PORT_SPEC. в nmap.h). Альтернативные порты можно указать как
параметр. Синтаксис такой же, как у -p за исключением того, что спецификаторы типа порта, такие как
S: не допускаются. Примеры -PY22 и -PY22,80,179,5060. Обратите внимание, что может быть
нет пробела между -ПЯ и список портов. Если указано несколько зондов, они будут
отправлено параллельно.
Блок INIT предлагает удаленной системе, что вы пытаетесь установить
ассоциация. Обычно порт назначения будет закрыт, а блок ABORT будет
отправлен назад. Если порт окажется открытым, цель выполнит второй шаг
Четырехстороннее рукопожатие SCTP. ответив блоком INIT-ACK. Если машина работает
У Nmap есть функциональный стек SCTP, а затем он разрушает зарождающуюся ассоциацию с помощью
отвечает блоком ABORT вместо отправки блока COOKIE-ECHO, который будет
следующий шаг в четырехстороннем рукопожатии. Пакет ABORT отправляется ядром
машина, запускающая Nmap в ответ на неожиданный INIT-ACK, а не сам Nmap.
Nmap не волнует, открыт порт или закрыт. Либо ABORT, либо INIT-ACK
ответ, обсуждавшийся ранее, сообщает Nmap, что хост доступен и отвечает.
На ящиках Unix только привилегированный пользователь root. обычно может отправлять и получать
сырые пакеты SCTP .. Использование SCTP INIT Pings в настоящее время невозможно для непривилегированных
пользователи ..
-ПЭ; -ПП; -ВЕЧЕРА (Типы эхо-запросов ICMP).
В дополнение к обсуждаемым необычным типам обнаружения хостов TCP, UDP и SCTP
ранее Nmap мог посылать стандартные пакеты, отправляемые повсеместной программой ping.
Nmap отправляет пакет ICMP типа 8 (эхо-запрос) на целевые IP-адреса, ожидая
тип 0 (эхо-ответ) в ответ от доступных хостов. К сожалению для сети
исследователи, многие хосты и брандмауэры теперь блокируют эти пакеты, а не отвечают как
требуется RFC 1122[2] .. По этой причине сканирование только по протоколу ICMP редко бывает достаточно надежным.
против неизвестных целей через Интернет. Но для системных администраторов, контролирующих
внутренней сети, они могут быть практичным и эффективным подходом. Использовать -ПЭ вариант
чтобы включить это поведение эхо-запроса.
Хотя эхо-запрос является стандартным запросом проверки связи ICMP, Nmap на этом не останавливается. ICMP
стандарты (RFC 792[3]. а также RFC 950[4]. ) также укажите запрос отметки времени, информацию
пакеты запроса и маски адреса имеют коды 13, 15 и 17 соответственно. В то время как
Якобы целью этих запросов является получение информации, такой как маски адресов.
и в настоящее время их можно легко использовать для обнаружения хоста. Система, которая отвечает
готово и доступно. Nmap в настоящее время не реализует пакеты информационных запросов, так как
они не пользуются широкой поддержкой. RFC 1122 настаивает на том, что «хост НЕ ДОЛЖЕН реализовывать
эти сообщения ». Запросы по метке времени и маске адреса можно отправлять с -ПП и -ВЕЧЕРА
варианты соответственно. Ответ с отметкой времени (код ICMP 14) или ответ маски адреса (код
18) показывает, что хост доступен. Эти два запроса могут быть полезны, когда
администраторы специально блокируют пакеты эхо-запросов, забывая при этом другие
Для той же цели можно использовать запросы ICMP.
-ПО протокол список (Пинг IP-протокола).
Одним из новых вариантов обнаружения хоста является пинг IP-протокола, который отправляет IP-адрес.
пакеты с указанным номером протокола, установленным в их IP-заголовке. Список протоколов
принимает тот же формат, что и списки портов в ранее обсужденных TCP, UDP и SCTP
параметры обнаружения хоста. Если протоколы не указаны, по умолчанию отправляется несколько
IP-пакеты для ICMP (протокол 1), IGMP (протокол 2) и IP-in-IP (протокол 4). В
протоколы по умолчанию можно настроить во время компиляции, изменив
DEFAULT_PROTO_PROBE_PORT_SPEC. в nmap.h. Обратите внимание, что для ICMP, IGMP, TCP (протокол
6), UDP (протокол 17) и SCTP (протокол 132), пакеты отправляются с надлежащим
заголовки протокола. в то время как другие протоколы отправляются без дополнительных данных, кроме
Заголовок IP (если ни один из --данные, - строка-данных или - длина-данных варианты
указано).
Этот метод обнаружения хоста ищет ответы, используя тот же протокол, что и
probe или сообщения о недоступности протокола ICMP, которые означают, что данный протокол
не поддерживается на целевом хосте. Любой тип ответа означает, что
целевой хост жив.
-PR (ARP Ping).
Один из наиболее распространенных сценариев использования Nmap - сканирование локальной сети Ethernet. В большинстве локальных сетей
особенно те, которые используют диапазоны частных адресов, указанные RFC 1918[5], обширная
большинство IP-адресов не используются в любой момент времени. Когда Nmap пытается отправить необработанный
IP-пакет, такой как эхо-запрос ICMP, операционная система должна определить
аппаратный адрес назначения (ARP), соответствующий целевому IP-адресу, чтобы он мог
правильно адресовать Ethernet-фрейм. Это часто происходит медленно и проблематично, поскольку
операционные системы не были написаны с ожиданием, что они должны будут делать
миллионы ARP-запросов к недоступным хостам за короткий период времени.
Сканирование ARP заставляет Nmap и его оптимизированные алгоритмы отвечать за запросы ARP. И если это
получает ответ, Nmap даже не нужно беспокоиться об IP-пинг-пакетах
поскольку он уже знает, что хост активен. Это значительно ускоряет сканирование ARP и многое другое.
надежнее, чем сканирование по IP. Так делается по умолчанию при сканировании хостов Ethernet.
которые обнаруживает Nmap, находятся в локальной сети Ethernet. Даже если разные типы пинга (например,
as -ПЭ or -ПС) указаны, Nmap использует ARP вместо любой из целей, которые
в той же локальной сети. Если вы категорически не хотите выполнять сканирование ARP, укажите
--отключить-арп-пинг.
Для IPv6 (опция -6), -PR использует обнаружение соседей ICMPv6 вместо ARP. Сосед
Обнаружение, определенное в RFC 4861, можно рассматривать как IPv6-эквивалент ARP.
--отключить-арп-пинг (Нет ARP или ND Ping).
Nmap обычно выполняет обнаружение ARP или IPv6 Neighbor Discovery (ND) локально подключенных
хосты Ethernet, даже если другие параметры обнаружения хоста, такие как Рп or -ПЭ используются. К
отключите это неявное поведение, используйте --отключить-арп-пинг опцию.
Поведение по умолчанию обычно быстрее, но эта опция полезна в сетях, использующих
прокси-ARP, в котором маршрутизатор спекулятивно отвечает на все запросы ARP, делая каждый
цель отображается согласно ARP-сканированию.
--traceroute (Отследить путь к хосту).
Трассировки выполняются после сканирования с использованием информации из результатов сканирования для
определить порт и протокол, которые с наибольшей вероятностью достигнут цели. Работает со всеми
типы сканирования, кроме сканирования с подключением (-sT) и сканирование в режиме ожидания (-сИ). Все трассировки используют Nmap
динамическая временная модель и выполняются параллельно.
Traceroute работает, отправляя пакеты с низким TTL (время жизни) в попытке
извлекать сообщения ICMP Time Exceeded от промежуточных переходов между сканером и
целевой хост. Стандартные реализации traceroute начинаются с TTL, равного 1, и увеличиваются.
TTL до тех пор, пока не будет достигнут целевой хост. Трассировка Nmap начинается с высокого
TTL, а затем уменьшает TTL до нуля. Выполнение этого в обратном направлении позволяет Nmap
использовать умные алгоритмы кэширования для ускорения трассировки на нескольких хостах. В среднем
Nmap отправляет на 5–10 пакетов меньше на хост, в зависимости от состояния сети. Если один
подсеть сканируется (т.е. 192.168.0.0/24) Nmap может потребоваться отправить только два пакета
большинству хозяев.
-n (Нет разрешения DNS).
Сообщает Nmap никогда выполняет обратное разрешение DNS на найденных активных IP-адресах.
Поскольку DNS может работать медленно даже со встроенным параллельным преобразователем заглушек Nmap, этот параметр
может сократить время сканирования.
-R (Разрешение DNS для всех целей).
Сообщает Nmap всегда выполнить обратное разрешение DNS на целевых IP-адресах. Как обычно
обратный DNS применяется только к реагирующим (онлайн) хостам.
--system-DNS (Используйте системный DNS-преобразователь).
По умолчанию Nmap разрешает IP-адреса, отправляя запросы непосредственно на серверы имен.
настроен на вашем хосте, а затем прослушивает ответы. Много запросов (часто десятки)
выполняются параллельно для повышения производительности. Укажите эту опцию, чтобы использовать свой
вместо этого системный преобразователь (по одному IP-адресу через получить информацию о имени вызов). Это медленнее
и редко бывает полезным, если вы не обнаружите ошибку в параллельном преобразователе Nmap (пожалуйста, дайте нам
знаю, если вы это сделаете). Системный преобразователь всегда используется для сканирования IPv6.
--dns-серверы server1[,server2[, ...]] (Серверы, используемые для обратных DNS-запросов).
По умолчанию Nmap определяет ваши DNS-серверы (для разрешения rDNS) из вашего
файл resolv.conf (Unix) или реестр (Win32). В качестве альтернативы вы можете использовать это
возможность указать альтернативные серверы. Эта опция не соблюдается, если вы используете
--system-DNS или сканирование IPv6. Использование нескольких DNS-серверов часто бывает быстрее, особенно
если вы выбираете авторитетные серверы для своего целевого IP-пространства. Эта опция также может
улучшите скрытность, так как ваши запросы могут быть отклонены практически от любого рекурсивного DNS
сервер в Интернете.
Эта опция также пригодится при сканировании частных сетей. Иногда всего несколько
серверы имен предоставляют правильную информацию rDNS, и вы можете даже не знать, где они
находятся. Вы можете просканировать сеть на наличие порта 53 (возможно, с определением версии), а затем попробовать
Сканирование списка Nmap (-SL) с указанием каждого сервера имен по одному с помощью --dns-серверы
пока вы не найдете тот, который работает.
PORT СКАНИРОВАНИЕ ОСНОВЫ
Хотя функциональность Nmap с годами росла, она начиналась как эффективный порт.
сканер, и это остается его основной функцией. Простая команда птар цель сканирует 1,000
TCP-порты на хосте цель. Хотя многие сканеры портов традиционно объединяют все порты
в открытом или закрытом состоянии Nmap гораздо более детализирован. Он делит порты на шесть
состояния: открыто, закрыто, отфильтровано, нефильтровано, открыто | отфильтровано или закрыто | отфильтровано.
Эти состояния не являются внутренними свойствами самого порта, но описывают, как Nmap видит
их. Например, сканирование Nmap из той же сети, что и цель, может показать порт 135 / tcp.
как открытое, при одновременном сканировании с теми же параметрами со всего Интернета
может показать этот порт как отфильтрованный.
The шесть порт утверждает признанный by Nmap
Приложение активно принимает TCP-соединения, дейтаграммы UDP или SCTP.
ассоциации по этому порту. Их поиск часто является основной целью сканирования портов.
Люди, заботящиеся о безопасности, знают, что каждый открытый порт - это путь для атаки. Злоумышленники и
пентестеры хотят использовать открытые порты, в то время как администраторы пытаются закрыть или
защитите их с помощью брандмауэров, не препятствуя работе законных пользователей. Открытые порты также
интересны для сканирования, не связанного с безопасностью, потому что они показывают службы, доступные для использования на
сеть.
Закрытый порт доступен (он принимает пакеты проб Nmap и отвечает на них), но
нет приложения, которое его слушает. Они могут быть полезны для демонстрации того, что хост
по IP-адресу (обнаружение хоста или сканирование ping) и как часть обнаружения ОС.
Поскольку закрытые порты доступны, возможно, стоит сканировать позже, если некоторые открытые порты доступны.
вверх. Администраторы могут захотеть заблокировать такие порты с помощью брандмауэра. Затем они
появится в отфильтрованном состоянии, обсуждается далее.
Nmap не может определить, открыт ли порт, потому что фильтрация пакетов предотвращает его
зонды от достижения порта. Фильтрация может осуществляться с помощью специального межсетевого экрана.
устройство, правила маршрутизатора или программное обеспечение межсетевого экрана на основе хоста. Эти порты расстраивают злоумышленников
потому что они предоставляют так мало информации. Иногда они отвечают ошибкой ICMP
сообщения типа 3, код 13 (пункт назначения недоступен: связь
административно запрещено), но фильтры, которые просто отбрасывают зонды, не отвечая
гораздо более распространены. Это заставляет Nmap повторить попытку несколько раз на случай, если зонд
был сброшен из-за перегрузки сети, а не из-за фильтрации. Это замедляет сканирование
драматически.
Нефильтрованное состояние означает, что порт доступен, но Nmap не может определить
будь то открытый или закрытый. Только сканирование ACK, которое используется для сопоставления брандмауэра
набор правил, классифицирует порты в этом состоянии. Сканирование нефильтрованных портов с помощью другого сканирования
такие типы, как сканирование окна, сканирование SYN или сканирование FIN, могут помочь определить, является ли порт
открыть.
Nmap помещает порты в это состояние, когда не может определить, открыт ли порт.
или отфильтрованный. Это происходит для типов сканирования, при которых открытые порты не отвечают. Отсутствие
ответа также может означать, что фильтр пакетов отбросил зонд или какой-либо ответ, который он
вызванный. Таким образом, Nmap не знает наверняка, открыт порт или фильтруется.
Сканирование UDP, IP-протокол, FIN, NULL и Xmas позволяет классифицировать порты таким образом.
Это состояние используется, когда Nmap не может определить, закрыт ли порт или
фильтрованный. Он используется только для сканирования в режиме ожидания IP-идентификатора.
PORT СКАНИРОВАНИЕ МЕТОДЫ
Как новичок, занимающийся ремонтом автомобилей, я могу часами бороться, пытаясь подогнать свой
элементарные инструменты (молоток, изолента, гаечный ключ и т. д.) для выполнения поставленной задачи. Когда я проиграю
жалко и буксирую мой драндулет к настоящему механику, он неизменно ловит рыбу в огромном орудии.
сундук, пока не вытащите идеальную штуковину, которая делает работу легкой. Искусство
сканирование портов аналогично. Специалисты разбираются в десятках техник сканирования и выбирают
подходящий вариант (или комбинацию) для данной задачи. Неопытные пользователи и скрипт
детишки. с другой стороны, попробуйте решить все проблемы с помощью SYN-сканирования по умолчанию. С
Nmap бесплатен, единственным препятствием на пути к мастерству сканирования портов являются знания. Это определенно лучше
автомобильный мир, где может потребоваться большое мастерство, чтобы определить, что вам нужна стойка
пружинный компрессор, то за него все равно придется заплатить тысячи долларов.
Большинство типов сканирования доступны только привилегированным пользователям. Это потому, что они отправляют
и получать сырые пакеты. который требует корневого доступа в системах Unix. Используя
учетная запись администратора в Windows рекомендуется, хотя Nmap иногда работает для
непривилегированные пользователи на этой платформе, когда WinPcap уже загружен в ОС.
Требование привилегий root было серьезным ограничением, когда Nmap был выпущен в 1997 году, так как многие
пользователи имели доступ только к общим учетным записям оболочки. Теперь мир другой. Компьютеры
дешевле, гораздо больше людей имеют постоянный прямой доступ в Интернет, а настольные системы Unix
(включая Linux и Mac OS X). Теперь доступна версия Nmap для Windows,
позволяя ему работать на еще большем количестве рабочих столов. По всем этим причинам пользователям меньше нужно
запускать Nmap из ограниченных общих учетных записей оболочки. Это удачно, поскольку привилегированные варианты
сделать Nmap намного более мощным и гибким.
Хотя Nmap пытается получить точные результаты, имейте в виду, что все его идеи
на основе пакетов, возвращаемых целевыми машинами (или брандмауэрами перед ними). Такой
хосты могут быть ненадежными и отправлять ответы, предназначенные для того, чтобы запутать или ввести Nmap в заблуждение. Много
более распространены хосты, не соответствующие RFC, которые не отвечают должным образом на зонды Nmap.
Сканирование FIN, NULL и Xmas особенно подвержено этой проблеме. Такие вопросы
специфичны для определенных типов сканирования и обсуждаются в отдельных записях типов сканирования.
В этом разделе описывается около дюжины методов сканирования портов, поддерживаемых Nmap. Только один
метод может использоваться одновременно, за исключением того, что сканирование UDP (-sU) и любое сканирование SCTP
типы (-sY, -сЗ) можно комбинировать с любым из типов сканирования TCP. В качестве помощи памяти порт
варианты типа сканирования имеют вид -sC, Где C является заметным символом в имени отсканированного изображения,
обычно первый. Единственным исключением является устаревшее сканирование отказов FTP (-b). По
по умолчанию Nmap выполняет SYN-сканирование, хотя заменяет сканирование соединения, если пользователь
не иметь надлежащих привилегий для отправки сырых пакетов (требуется root-доступ в Unix). Принадлежащий
сканирований, перечисленных в этом разделе, непривилегированные пользователи могут выполнять только подключение и отказ FTP
сканы.
-sS (TCP SYN сканирование).
SYN-сканирование является наиболее популярным вариантом сканирования по умолчанию и по уважительным причинам. Может быть
выполняется быстро, сканирование тысяч портов в секунду в быстрой сети не
затруднены ограничительными брандмауэрами. Кроме того, он относительно ненавязчив и незаметен.
поскольку он никогда не завершает TCP-соединения. SYN-сканирование работает с любым совместимым TCP
стек, а не зависящий от особенностей конкретных платформ, как Nmap
FIN / NULL / Xmas, Maimon и простое сканирование. Это также позволяет четко и надежно
различие между открытым, закрытым и отфильтрованным состояниями.
Этот метод часто называют полуоткрытым сканированием, потому что вы не открываете
полное TCP-соединение. Вы отправляете SYN-пакет, как будто собираетесь открыть настоящий
подключение, а затем дождитесь ответа. SYN / ACK указывает, что порт прослушивает
(открытый), в то время как RST (сброс) указывает на то, что он не слушает. Если нет ответа
полученный после нескольких повторных передач, порт помечается как отфильтрованный. Порт
также помечается как отфильтрованный, если ошибка недоступности ICMP (тип 3, код 0, 1, 2, 3, 9, 10 или
13) получен. Порт также считается открытым, если пакет SYN (без ACK
flag) получен в ответ. Это может быть связано с чрезвычайно редкой известной функцией TCP.
как одновременное открытое или разделенное соединение с подтверждением связи (см.
https://nmap.org/misc/split-handshake.pdf).
-sT (Сканирование TCP-соединения).
Сканирование TCP-соединения - это тип сканирования TCP по умолчанию, когда сканирование SYN не является вариантом. Это
случай, когда у пользователя нет привилегий сырых пакетов. Вместо того, чтобы писать в сыром виде
пакетов, как и большинство других типов сканирования, Nmap запрашивает базовую операционную систему
установить соединение с целевой машиной и портом, выполнив соединяться система
вызов. Это тот же системный вызов высокого уровня, который используется веб-браузерами, клиентами P2P и большинством
другие сетевые приложения используют для установления соединения. Это часть
программный интерфейс, известный как Berkeley Sockets API. Вместо того, чтобы читать необработанный пакет
ответов по сети, Nmap использует этот API для получения информации о состоянии каждого
попытка подключения.
Когда доступно сканирование SYN, это обычно лучший выбор. Nmap имеет меньше контроля над
высокий уровень соединяться вызова, чем с необработанными пакетами, что делает его менее эффективным. В
системный вызов завершает соединения с открытыми целевыми портами, а не выполняет
полуоткрытый сброс, который выполняет сканирование SYN. Мало того, что это занимает больше времени и требует большего
пакеты для получения той же информации, но целевые машины с большей вероятностью будут регистрировать
связь. Приличная IDS тоже поймает, но у большинства машин такой сигнализации нет.
система. Многие службы в вашей средней системе Unix добавят примечание в системный журнал, и
иногда появляется загадочное сообщение об ошибке, когда Nmap подключается, а затем закрывает соединение
без отправки данных. Поистине жалкие сервисы терпят крах, когда это происходит, хотя это
необычно. Администратор, которая видит в своих журналах несколько попыток подключения из
единственная система должна знать, что она была просканирована.
-sU (Сканирование UDP).
Хотя большинство популярных сервисов в Интернете работают по протоколу TCP, UDP[6] услуги
широко распространены. DNS, SNMP и DHCP (зарегистрированные порты 53, 161/162 и 67/68)
три самых распространенных. Поскольку сканирование UDP обычно медленнее и сложнее
чем TCP, некоторые аудиторы безопасности игнорируют эти порты. Это ошибка, так как ее можно использовать
Службы UDP довольно распространены, и злоумышленники, конечно, не игнорируют весь протокол.
К счастью, Nmap может помочь в инвентаризации UDP-портов.
Сканирование UDP активируется с помощью -sU вариант. Его можно комбинировать с типом сканирования TCP.
например, сканирование SYN (-sS), чтобы проверить оба протокола во время одного запуска.
Сканирование UDP работает путем отправки пакета UDP на каждый целевой порт. Для некоторых распространенных портов
например, 53 и 161, для увеличения скорости отклика отправляется полезная нагрузка, зависящая от протокола, но
для большинства портов пакет пуст, если только --данные, - строка-данных или - длина-данных
параметры указаны. Если возвращается ошибка недоступности порта ICMP (тип 3, код 3),
порт закрыт. Другие ошибки недоступности ICMP (тип 3, коды 0, 1, 2, 9, 10 или
13) пометьте порт как отфильтрованный. Иногда служба отвечает пакетом UDP,
доказывая, что он открыт. Если после повторной передачи ответа не получено, порт
классифицирован как открытый | отфильтрованный. Это означает, что порт может быть открыт или, возможно, пакет
фильтры блокируют связь. Обнаружение версии (-sV) можно использовать, чтобы помочь
отличать действительно открытые порты от фильтрованных.
Большая проблема при сканировании UDP - сделать это быстро. Открытые и фильтруемые порты редко
отправить любой ответ, оставив Nmap на тайм-аут, а затем провести повторную передачу только через
если зонд или ответ были потеряны. Закрытые порты часто являются еще большей проблемой.
Обычно они отправляют обратно сообщение об ошибке недоступности порта ICMP. Но в отличие от отправленных RST-пакетов
из-за закрытых портов TCP в ответ на SYN или сканирование соединения, ограничение скорости многих хостов. ICMP
сообщения о недоступности порта по умолчанию. Linux и Solaris особенно строго относятся к
это. Например, ядро Linux 2.4.20 ограничивает сообщения о недоступности адресата до
один в секунду (в net / ipv4 / icmp.c).
Nmap обнаруживает ограничение скорости и соответственно замедляется, чтобы избежать переполнения сети.
с бесполезными пакетами, которые целевая машина сбросит. К сожалению, Linux-стиль
ограничение одного пакета в секунду делает сканирование 65,536 18 портов более XNUMX часов. Идеи
для ускорения сканирования UDP включите параллельное сканирование большего количества хостов,
сначала сканирование только популярных портов, сканирование из-за брандмауэра и использование
--host-тайм-аут пропускать медленные хосты.
-sY (Сканирование SCTP INIT).
SCTP[7] - относительно новая альтернатива протоколам TCP и UDP, объединяющая большинство
характеристики TCP и UDP, а также добавление новых функций, таких как множественная адресация и
многопоточность. Он в основном используется для служб, связанных с SS7 / SIGTRAN, но имеет
потенциал для использования в других приложениях. SCTP INIT сканирование - это SCTP
эквивалент сканирования TCP SYN. Это можно сделать быстро, сканируя тысячи портов.
в секунду в быстрой сети, которой не препятствуют ограничительные брандмауэры. Как и сканирование SYN,
Сканирование INIT относительно ненавязчиво и незаметно, так как оно никогда не завершает SCTP.
ассоциации. Это также позволяет четко и надежно различать открытые, закрытые и
и отфильтрованные состояния.
Этот метод часто называют полуоткрытым сканированием, потому что вы не открываете
полная ассоциация SCTP. Вы отправляете блок INIT, как будто собираетесь открыть настоящий
ассоциации, а затем дождитесь ответа. Блок INIT-ACK указывает, что порт
прослушивание (открытие), в то время как блок ABORT указывает на то, что он не слушает. Если нет ответа
получен после нескольких повторных передач, порт помечается как отфильтрованный. Порт
также помечается как отфильтрованный, если ошибка недоступности ICMP (тип 3, код 0, 1, 2, 3, 9, 10 или
13) получен.
-SN; -сФ; -sX (Сканирование TCP NULL, FIN и Xmas).
Эти три типа сканирования (с --scanflags описанный вариант
в следующем разделе) использовать тонкую лазейку в TCP RFC[8] различать
между открытыми и закрытыми портами. На странице 65 RFC 793 говорится, что «если порт [назначения]
состояние ЗАКРЫТО .... входящий сегмент, не содержащий RST, вызывает отправку RST
в ответ." Затем на следующей странице обсуждаются пакеты, отправленные на открытые порты без
Установлены биты SYN, RST или ACK, указывающие, что «вы вряд ли попадете сюда, но если вы это сделаете,
отбросьте сегмент и вернитесь ».
При сканировании систем, совместимых с этим текстом RFC, любой пакет, не содержащий SYN,
Биты RST или ACK приведут к возврату RST, если порт закрыт и нет ответа.
вообще если порт открыт. Пока ни один из этих трех битов не включен, любой
комбинация трех других (FIN, PSH и URG) в порядке. Nmap использует это с
три типа сканирования:
Нулевое сканирование (-SN)
Не устанавливает никаких битов (заголовок флага TCP равен 0)
FIN сканирование (-сФ)
Устанавливает только бит TCP FIN.
Рождественское сканирование (-sX)
Устанавливает флаги FIN, PSH и URG, зажигая пакет как рождественскую елку.
Эти три типа сканирования абсолютно одинаковы по поведению, за исключением установленных флагов TCP.
в зондовых пакетах. Если получен пакет RST, порт считается закрытым, в то время как нет
ответ означает, что он открыт | фильтруется. Порт помечается как отфильтрованный, если ICMP недоступен.
получена ошибка (тип 3, код 0, 1, 2, 3, 9, 10 или 13).
Ключевым преимуществом этих типов сканирования является то, что они могут незаметно проходить через определенные
межсетевые экраны без отслеживания состояния и маршрутизаторы с фильтрацией пакетов. Еще одно преимущество в том, что эти
Типы сканирования немного более скрытны, чем даже SYN-сканирование. Не рассчитывай на это
хотя - большинство современных продуктов IDS можно настроить на их обнаружение. Большой недостаток -
что не все системы в точности следуют RFC 793. Ряд систем отправляют RST
ответы на зонды независимо от того, открыт порт или нет. Это вызывает все
портов, которые должны быть помечены как закрытые. Основные операционные системы, которые это делают, - это Microsoft.
Windows, многие устройства Cisco, BSDI и IBM OS / 400. Это сканирование действительно работает с большинством
Хотя системы на основе Unix. Еще одним недостатком этих сканирований является то, что они не могут
отличать открытые порты от определенных отфильтрованных, оставляя вам ответ
открыть | отфильтровано.
-sA (Сканирование TCP ACK).
Это сканирование отличается от других рассмотренных до сих пор тем, что никогда не определяет
открытые (или даже открытые | отфильтрованные) порты. Он используется для определения наборов правил брандмауэра,
определение того, являются ли они с отслеживанием состояния или нет, и какие порты фильтруются.
В пакете проверки ACK-сканирования установлен только флаг ACK (если вы не используете --scanflags). когда
сканирование нефильтрованных систем, открытых и закрытых портов будет возвращать пакет RST. Nmap
затем помечает их как неотфильтрованные, что означает, что они доступны для пакета ACK, но
являются ли они открытыми или закрытыми, не определено. Порты, которые не отвечают или не отправляют
определенные сообщения об ошибках ICMP (тип 3, код 0, 1, 2, 3, 9, 10 или 13) помечены
фильтрованный.
-сЗ (Сканирование окна TCP).
Сканирование окна точно такое же, как сканирование ACK, за исключением того, что оно использует реализацию
детализация определенных систем, чтобы отличать открытые порты от закрытых, а не
всегда печатается без фильтров, когда возвращается RST. Он делает это, исследуя TCP
Поле окна возвращенных пакетов RST. В некоторых системах открытые порты используют положительный
размер окна (даже для пакетов RST), в то время как закрытые имеют нулевое окно. Так что вместо
всегда перечисляет порт как неотфильтрованный, когда он получает ответ RST, Window Scan перечисляет
порт как открытый или закрытый, если значение TCP Window в этом сбросе положительное или нулевое,
соответственно.
Это сканирование основано на деталях реализации меньшинства систем, находящихся на
Интернет, поэтому ему не всегда можно доверять. Системы, которые его не поддерживают, обычно
вернуть все порты закрытыми. Конечно, возможно, что у машины действительно нет открытого
порты. Если большинство просканированных портов закрыто, но несколько общих номеров портов (например, 22, 25,
53) отфильтрованы, система, скорее всего, восприимчива. Иногда системы
даже показывают прямо противоположное поведение. Если ваше сканирование показывает 1,000 открытых портов и три
закрытые или отфильтрованные порты, то эти три вполне могут быть действительно открытыми.
-см (TCP-сканирование Маймона).
Сканирование Маймона названо в честь его первооткрывателя Уриэля Маймона. Он описал
в выпуске журнала Phrack Magazine № 49 (ноябрь 1996 г.) .. Nmap, который включал это
техника, была выпущена двумя номерами позже. Этот метод точно такой же, как и NULL,
Сканирование FIN и Xmas, за исключением того, что зонд FIN / ACK. В соответствии с RFC 793[8] (ПТС),
пакет RST должен быть сгенерирован в ответ на такой зонд, открыт ли порт
или закрыто. Однако Уриэль заметил, что многие системы, основанные на BSD, просто отбрасывают пакет.
если порт открыт.
--scanflags (Пользовательское сканирование TCP).
По-настоящему продвинутые пользователи Nmap не должны ограничиваться предлагаемыми стандартными типами сканирования.
The --scanflags опция позволяет вам создать собственное сканирование, указав произвольный TCP
flags .. Дайте волю своему творчеству, избегая систем обнаружения вторжений.
поставщики которых просто пролистали справочную страницу Nmap, добавив конкретные правила!
The --scanflags аргумент может быть числовым значением флага, например 9 (PSH и FIN), но
использовать символические имена проще. Просто смешайте любую комбинацию URG, ACK, PSH,
RST, SYN и FIN. Например, --scanflags УРГАКПШРЦЫНФИН все устанавливает, хотя
это не очень полезно для сканирования. Порядок, в котором они указаны, значения не имеет.
Помимо указания желаемых флагов, вы можете указать тип сканирования TCP (например,
-sA or -сФ). Этот базовый тип сообщает Nmap, как интерпретировать ответы. Например, SYN
сканирование рассматривает отсутствие ответа, чтобы указать отфильтрованный порт, в то время как сканирование FIN обрабатывает
то же, что и открытый | отфильтрованный. Nmap будет вести себя так же, как и для базового типа сканирования,
за исключением того, что вместо этого он будет использовать указанные вами флаги TCP. Если вы не укажете базу
типа, используется SYN-сканирование.
-сЗ (Сканирование SCTP COOKIE ECHO).
SCTP COOKIE ECHO scan - это более продвинутое сканирование SCTP. Он использует факт
что реализации SCTP должны незаметно отбрасывать пакеты, содержащие фрагменты COOKIE ECHO
на открытых портах, но отправить ABORT, если порт закрыт. Преимущество этого сканирования
Тип заключается в том, что сканирование портов не так очевидно, как сканирование INIT. Также может быть
наборы правил брандмауэра без отслеживания состояния, блокирующие блоки INIT, но не блоки COOKIE ECHO. Не надо
быть обманутым, думая, что это сделает сканирование портов невидимым; хорошая IDS будет
также может обнаруживать сканирование SCTP COOKIE ECHO. Обратной стороной является то, что SCTP COOKIE ECHO сканирует
не может различать открытые и отфильтрованные порты, оставляя вас с состоянием
open | фильтруется в обоих случаях.
-сИ о зомби кашель[:пробный порт] (сканирование в режиме ожидания).
Этот расширенный метод сканирования позволяет выполнять по-настоящему слепое сканирование TCP-порта цели.
(это означает, что с вашего реального IP-адреса на цель не отправляются никакие пакеты). Вместо этого
уникальная атака по побочному каналу использует предсказуемую последовательность идентификаторов фрагментации IP
генерация на хосте зомби для сбора информации об открытых портах на цели.
Системы IDS будут отображать сканирование как исходящее от указанной вами зомби-машины (которая
должны быть на высоте и соответствовать определенным критериям). Этот увлекательный тип сканирования слишком сложен, чтобы
полностью опишите в этом справочном руководстве, поэтому я написал и опубликовал неофициальный документ с
полная информация на https://nmap.org/book/idlescan.html.
Помимо того, что этот тип сканирования чрезвычайно незаметен (из-за его слепоты),
позволяет отображать доверительные отношения между машинами на основе IP. Список портов
показывает открытые порты от перспектива of о зомби хост. Так что вы можете попробовать сканировать
нацеливаться на различных зомби, которым, по вашему мнению, можно доверять. (через роутер / пакет
правила фильтрации).
Вы можете добавить двоеточие, а затем номер порта к хосту зомби, если хотите зондировать
конкретный порт на зомби для изменения IP ID. В противном случае Nmap будет использовать порт, который он
по умолчанию используется для пингов TCP (80).
-так (Сканирование протокола IP).
Сканирование протокола IP позволяет определить, какие протоколы IP (TCP, ICMP, IGMP и т. Д.)
поддерживаются целевыми машинами. Технически это не сканирование портов, так как оно циклически
через номера IP-протоколов, а не номера портов TCP или UDP. Тем не менее, он по-прежнему использует
-p возможность выбора номеров отсканированных протоколов, сообщает результаты в обычном режиме
формат таблицы портов, и даже использует тот же базовый механизм сканирования, что и истинный порт
методы сканирования. Таким образом, он достаточно близок к сканированию портов и принадлежит именно этому месту.
Сканирование протокола не только само по себе полезно, но и демонстрирует силу
программное обеспечение с открытым исходным кодом. Хотя основная идея довольно проста, я не думал
чтобы добавить его, и не получил никаких запросов на такую функциональность. Затем летом
2000, Герхард Ригер. задумал, написал отличный патч, реализующий ее,
и отправил его в список рассылки анонса. (тогда называли nmap-hackers) .. Я
включил этот патч в дерево Nmap и на следующий день выпустил новую версию.
Немногие части коммерческого программного обеспечения вызывают у пользователей достаточно энтузиазма в разработке и
вносят свои улучшения!
Сканирование протокола работает аналогично сканированию UDP. Вместо того, чтобы повторять
поле номера порта UDP-пакета, он отправляет заголовки IP-пакетов и выполняет итерацию через
восьмибитное поле протокола IP. Заголовки обычно пустые, не содержат данных и не содержат
даже правильный заголовок для заявленного протокола. Исключение составляют TCP, UDP, ICMP,
SCTP и IGMP. Соответствующий заголовок протокола для них включен, поскольку некоторые системы
в противном случае не будет их отправлять, и потому что в Nmap уже есть функции для их создания.
Вместо того, чтобы следить за сообщениями о недоступности порта ICMP, выполняется сканирование протокола.
ищите ICMP протокол недоступные сообщения. Если Nmap получит ответ в любом
протокол с целевого хоста, Nmap помечает этот протокол как открытый. Протокол ICMP
недостижимая ошибка (тип 3, код 2) приводит к тому, что протокол помечается как закрытый, пока
порт недоступен (тип 3, код 3) отмечает, что протокол открыт. Другой ICMP недоступен
ошибки (тип 3, код 0, 1, 9, 10 или 13) приводят к тому, что протокол помечается как отфильтрованный
(хотя они доказывают, что ICMP одновременно открыт). Если ответа не получено
после повторных передач протокол помечается как открытый | фильтруется
-b Ftp реле кашель (Сканирование отказов FTP).
Интересная особенность протокола FTP (RFC 959[9]) - это поддержка так называемого прокси
FTP-соединения. Это позволяет пользователю подключиться к одному FTP-серверу, а затем запросить файлы
быть отправлено на сторонний сервер. Такая функция созрела для злоупотреблений на многих уровнях, поэтому
большинство серверов перестали его поддерживать. Одно из злоупотреблений, допускаемых этой функцией, -
заставляя FTP-сервер сканировать порты других хостов. Просто попросите FTP-сервер отправить
файл по очереди на каждый интересующий порт целевого хоста. Сообщение об ошибке будет
опишите, открыт порт или нет. Это хороший способ обойти брандмауэры
потому что организационные FTP-серверы часто размещаются там, где у них есть больший доступ
другие внутренние хосты, чем любой старый Интернет-хост. Nmap поддерживает сканирование отказов FTP
с -b вариант. Требуется аргумент в форме username:password@сервер:порт.
серверу это имя или IP-адрес уязвимого FTP-сервера. Как и в случае с обычным URL, вы
может опустить username:password, в этом случае анонимные учетные данные для входа (пользователь: анонимный
пароль: -wwwuser @). Номер порта (и предшествующее двоеточие) можно опустить как
ну, в этом случае порт FTP по умолчанию (21) на сервер используется.
Эта уязвимость была широко распространена в 1997 году, когда был выпущен Nmap, но в основном использовалась
фиксированный. Уязвимые серверы все еще существуют, поэтому стоит попробовать, когда ничего не помогает.
Если вашей целью является обход брандмауэра, просканируйте целевую сеть на наличие порта 21 (или даже для
любые службы FTP, если вы просканируете все порты с определением версии) и используйте ftp-bounce.
Скрипт NSE. Nmap сообщит вам, уязвим хост или нет. Если ты просто
пытаясь замести следы, вам не нужно (да и не следует) ограничивать
себя к хостам в целевой сети. Перед тем, как отправиться сканировать случайный Интернет
адреса для уязвимых FTP-серверов, учтите, что системные администраторы могут вас не оценить
злоупотребляют своими серверами таким образом.
PORT ТЕХНИЧЕСКИЕ ХАРАКТЕРИСТИКИ И SCAN ЗАКАЗАТЬ
В дополнение ко всем методам сканирования, обсуждавшимся ранее, Nmap предлагает опции для
указание, какие порты сканируются и порядок сканирования - случайный или последовательный.
По умолчанию Nmap сканирует 1,000 наиболее распространенных портов для каждого протокола.
-p порт диапазоны (Сканируйте только указанные порты).
Этот параметр указывает, какие порты вы хотите сканировать, и отменяет значение по умолчанию.
Допустимы индивидуальные номера портов, а также диапазоны, разделенные дефисом (например, 1-1023).
Начальные и / или конечные значения диапазона могут быть опущены, в результате чего Nmap будет использовать 1 и
65535 соответственно. Так что вы можете указать -р- для сканирования портов с 1 по 65535 XNUMX.
Сканирование нулевого порта. разрешено, если вы укажете это явно. Для сканирования протокола IP
(-так), эта опция указывает номера протоколов, которые вы хотите сканировать (0–255).
При сканировании комбинации протоколов (например, TCP и UDP) вы можете указать
конкретный протокол, поставив перед номерами портов символы T: для TCP, U: для UDP, S: для
SCTP или P: для протокола IP. Квалификатор действует до тех пор, пока вы не укажете другой квалификатор.
Например, аргумент -p U: 53,111,137, Т: 21-25,80,139,8080 будет сканировать порты UDP 53,
111 и 137, а также перечисленные порты TCP. Обратите внимание: чтобы сканировать как UDP, так и TCP, вы
необходимо указать -sU и хотя бы один тип сканирования TCP (например, -sS, -сФ или -sT). Если нет
указан квалификатор протокола, номера портов добавляются во все списки протоколов. Порты
также можно указать по имени в соответствии с тем, что порт упоминается в
nmap-сервисы. Вы даже можете использовать подстановочные знаки * и? с именами. Например, чтобы
просканируйте FTP и все порты, имена которых начинаются с «http», используйте -p ftp, http *. Будь осторожен
о расширениях оболочки и процитируйте аргумент -p если не уверен.
Диапазоны портов можно заключить в квадратные скобки, чтобы указать порты внутри них.
диапазон, который появляется в nmap-services. Например, следующее будет сканировать все порты в
nmap-services 1024 или меньше: -p [-1024 XNUMX]. Будьте осторожны с расширениями оболочки и
процитировать аргумент -p если не уверен.
--exclude-порты порт диапазоны (Исключить указанные порты из сканирования).
Эта опция указывает, какие порты вы хотите, чтобы Nmap исключил из сканирования. В порт
диапазоны указаны аналогично -p. Для сканирования протокола IP (-так), этот вариант
указывает номера протоколов, которые вы хотите исключить (0–255).
Когда порты просят исключить, они исключаются из всех типов сканирования (т. Е.
они не будут сканироваться ни при каких обстоятельствах). Это также включает открытие
фаза.
-F (Быстрое сканирование (ограниченный порт)).
Указывает, что вы хотите сканировать меньше портов, чем установлено по умолчанию. Обычно Nmap сканирует
наиболее распространенные 1,000 портов для каждого сканируемого протокола. С участием -F, это уменьшается до 100.
Nmap нужен файл nmap-services с информацией о частоте, чтобы знать, какие
порты самые распространенные. Если информация о частоте порта недоступна, возможно,
из-за использования специального файла nmap-services, Nmap сканирует все названные порты плюс
порты 1-1024. В этом случае, -F означает сканировать только порты, указанные в сервисах
.
-r (Не меняйте порты случайным образом).
По умолчанию Nmap рандомизирует порядок просканированных портов (за исключением некоторых, обычно
доступные порты перемещены в начало из соображений эффективности). Этот
рандомизация обычно желательна, но вы можете указать -r для последовательных (отсортированных
от самого низкого до самого высокого) сканирование портов.
--port-ratio соотношение<десятичный номер между 0 и 1>
Сканирует все порты в файле nmap-services с соотношением больше заданного. соотношение
должно быть от 0.0 до 1.1.
--top-порты n
Сканирует n порты с самым высоким коэффициентом, найденные в файле nmap-services после исключения всех портов
указано --exclude-порты. n должно быть 1 или больше.
СЕРВИС И Версия ОБНАРУЖЕНИЕ
Наведите Nmap на удаленный компьютер, и он может сказать вам, что порты 25 / tcp, 80 / tcp и 53 / udp
открыты. Используя свои nmap-сервисы. база данных около 2,200 известных сервисов. Nmap
сообщит, что эти порты, вероятно, соответствуют почтовому серверу (SMTP), веб-серверу
(HTTP) и сервер имен (DNS) соответственно. Этот поиск обычно точен - огромное
Большинство демонов, прослушивающих TCP-порт 25, на самом деле являются почтовыми серверами. Однако вы
не стоит ставить на это свою безопасность! Люди могут запускать службы на чужих портах и запускают их.
Даже если Nmap прав, и на гипотетическом сервере, показанном выше, работают SMTP, HTTP и DNS.
серверов, это не так много информации. При оценке уязвимости (или даже
простой сетевой инвентарь) ваших компаний или клиентов, вы действительно хотите знать, какие
почтовые и DNS-серверы и версии работают. Наличие точного номера версии помогает
существенно при определении того, для каких эксплойтов сервер уязвим. Обнаружение версии
поможет вам получить эту информацию.
После обнаружения портов TCP и / или UDP с помощью одного из других методов сканирования версия
обнаружение опрашивает эти порты, чтобы определить, что на самом деле работает. В
nmap-сервис-зонды. база данных содержит зонды для запроса различных сервисов и сопоставления
выражения для распознавания и анализа ответов. Nmap пытается определить протокол службы
(например, FTP, SSH, Telnet, HTTP), имя приложения (например, ISC BIND, Apache httpd, Solaris
telnetd), номер версии, имя хоста, тип устройства (например, принтер, маршрутизатор), семейство ОС
(например, Windows, Linux). По возможности Nmap также получает перечисление Common Platform Enumeration.
(CPE). представление этой информации. Иногда разные детали, например,
X-сервер открыт для подключений, версия протокола SSH или имя пользователя KaZaA
доступный. Конечно, большинство сервисов не предоставляют всю эту информацию. Если бы Nmap был
скомпилированный с поддержкой OpenSSL, он будет подключаться к серверам SSL для вывода службы
прослушивание этого уровня шифрования. Некоторые порты UDP остаются открытыми | фильтруется
состояние после сканирования порта UDP не может определить, открыт порт или отфильтрован.
Обнаружение версии попытается вызвать ответ от этих портов (так же, как это происходит с
открытые порты) и измените состояние на открытие в случае успеха. открытые | отфильтрованные TCP-порты
относились так же. Обратите внимание, что Nmap -A опция включает определение версии среди других
вещи. Документ, описывающий работу, использование и настройку определения версии.
доступна на https://nmap.org/book/vscan.html.
Когда обнаруживаются службы RPC, программа измельчения RPC Nmap. автоматически используется для
определить программу RPC и номера версий. Он принимает все порты TCP / UDP, определенные как
RPC и заполняет их командами NULL программы SunRPC в попытке определить,
они являются портами RPC, и если да, то какую программу и номер версии они обслуживают. Таким образом вы можете
эффективно получить ту же информацию, что и rpcinfo -p даже если портмаппер цели находится за
брандмауэр (или защищенный оболочками TCP). Ловушки в настоящее время не работают со сканированием RPC.
Когда Nmap получает ответы от службы, но не может сопоставить их со своей базой данных, он
распечатывает специальный отпечаток пальца и URL-адрес для отправки, если вы точно знаете
что работает на порту. Пожалуйста, уделите пару минут, чтобы отправить заявку, чтобы
Ваша находка может принести пользу каждому. Благодаря этим материалам в Nmap имеется около 6,500 паттернов.
соответствует более чем 650 протоколам, таким как SMTP, FTP, HTTP и т. д.
Определение версии включено и управляется следующими параметрами:
-sV (Определение версии).
Включает определение версии, как описано выше. В качестве альтернативы вы можете использовать -A, который
помимо прочего включает определение версии.
-Г-н. это псевдоним для -sV. До марта 2011 года он использовался для работы шлифовального станка RPC.
отдельно от определения версии, но теперь эти параметры всегда объединены.
- все порты (Не исключайте какие-либо порты из определения версии).
По умолчанию определение версии Nmap пропускает TCP-порт 9100, потому что некоторые принтеры просто
распечатать все, что отправлено на этот порт, что приведет к десяткам страниц HTTP-запросов GET,
бинарные запросы сеанса SSL и т. д. Это поведение можно изменить, изменив или
удалив директиву Exclude в nmap-service-probes, или вы можете указать - все порты
сканировать все порты независимо от директивы Exclude.
--версия-интенсивность интенсивность (Установить интенсивность сканирования версии).
При выполнении проверки версии (-sV), Nmap отправляет серию зондов, каждый из которых
присвоено значение редкости от одного до девяти. Датчики с меньшими номерами эффективны
против широкого спектра общих служб, в то время как службы с более высокими номерами редко
полезный. Уровень интенсивности определяет, какие датчики следует применять. Чем выше
номер, тем больше вероятность, что услуга будет правильно определена. Однако высокий
сканирование интенсивности занимает больше времени. Интенсивность должна быть от 0 до 9 .. По умолчанию
7 .. Когда зонд регистрируется на целевом порту через nmap-service-probesports
директиве, этот зонд проверяется независимо от уровня интенсивности. Это гарантирует, что
Зондирование DNS всегда будет выполняться против любого открытого порта 53, зонд SSL будет
сделано против 443 и т. д.
--версия-свет (Включить световой режим).
Это удобный псевдоним для --версия-интенсивность 2. Этот светлый режим делает версию
сканирование намного быстрее, но с меньшей вероятностью идентифицирует службы.
--версия-все (Попробуйте каждый зонд).
Псевдоним для --версия-интенсивность 9, гарантируя, что каждый зонд будет попытаться
против каждого порта.
--версия-трассировка (Отслеживание активности сканирования версий).
Это заставляет Nmap распечатать обширную отладочную информацию о том, какая версия сканирования
делает. Это часть того, что вы получаете с - трассировка пакета.
OS ОБНАРУЖЕНИЕ
Одна из самых известных функций Nmap - удаленное обнаружение ОС с использованием стека TCP / IP.
снятие отпечатков пальцев. Nmap отправляет серию пакетов TCP и UDP на удаленный хост и проверяет
практически каждый бит в ответах. После выполнения десятков тестов, таких как TCP ISN
выборка, поддержка и упорядочение опций TCP, выборка IP-идентификатора и начальный размер окна
check, Nmap сравнивает результаты со своим nmap-os-db. база данных более 2,600 известных ОС
отпечатки пальцев и распечатывает сведения об ОС, если есть совпадения. Каждый отпечаток пальца включает
текстовое описание ОС в свободной форме и классификация, предоставляемая поставщиком
имя (например, Sun), базовая ОС (например, Solaris), поколение ОС (например, 10) и тип устройства
(общего назначения, роутер, коммутатор, игровая приставка и т. д.). Большинство отпечатков пальцев также имеют общий
Перечисление платформ (CPE). представление, например cpe: / o: linux: linux_kernel: 2.6.
Если Nmap не может угадать ОС машины, и условия хорошие (например, по крайней мере, один
были обнаружены открытый порт и один закрытый порт), Nmap предоставит URL-адрес, который вы можете использовать для отправки
отпечаток пальца, если вы знаете (точно) ОС, работающую на машине. Делая это, вы
внести свой вклад в пул операционных систем, известных Nmap, и, таким образом, он будет больше
точно для всех.
Обнаружение ОС позволяет использовать некоторые другие тесты, которые используют собранную информацию.
во всяком случае во время процесса. Одним из них является классификация предсказуемости последовательности TCP.
Это приблизительно измеряет, насколько сложно установить поддельное TCP-соединение с
удаленный хост. Это полезно для использования доверительных отношений на основе IP-адреса источника (rlogin,
фильтры межсетевого экрана и т. д.) или для сокрытия источника атаки. Такой вид спуфинга
редко выполняется, но многие машины все еще уязвимы для него. Настоящий
число сложности основано на статистической выборке и может колебаться. Это вообще
лучше использовать английскую классификацию, например, «достойный вызов» или «банальная шутка».
Об этом сообщается только при обычном выводе в подробном виде (-v) Режим. Когда включен подробный режим
вместе с -O, Также сообщается о создании последовательности IP-идентификатора. Большинство машин находится в
«Инкрементный» класс, что означает, что они увеличивают поле ID в заголовке IP для
каждый пакет, который они отправляют. Это делает их уязвимыми для нескольких расширенных сведений.
атаки со сбором и спуфингом.
Еще одна дополнительная информация, доступная при обнаружении ОС, - это предположение о времени безотказной работы цели.
Здесь используется опция отметки времени TCP (RFC 1323[10]), чтобы угадать, когда машина была последней.
перезагрузился. Предположение может быть неточным из-за того, что счетчик отметок времени не инициализирован.
до нуля или счетчик переполняется и оборачивается, поэтому он печатается только в подробном виде
Режим.
Документ с описанием работы, использования и настройки обнаружения ОС доступен по адресу
https://nmap.org/book/osdetect.html.
Обнаружение ОС включено и контролируется с помощью следующих параметров:
-O (Включить определение ОС).
Включает обнаружение ОС, как описано выше. В качестве альтернативы вы можете использовать -A включить ОС
обнаружение наряду с другими вещами.
--osscan-лимит (Ограничьте обнаружение ОС перспективными целями).
Обнаружение ОС гораздо эффективнее, если хотя бы один открытый и один закрытый TCP-порт
нашел. Установите эту опцию, и Nmap даже не будет пытаться определять ОС на хостах, которые
не соответствуют этим критериям. Это может значительно сэкономить время, особенно на Рп сканирует
против многих хозяев. Это имеет значение только тогда, когда обнаружение ОС запрашивается с помощью -O or -A.
--osscan-угадай; - нечеткий (Угадайте результаты обнаружения ОС).
Когда Nmap не может определить идеальное соответствие ОС, он иногда предлагает почти совпадения.
как возможности. Чтобы Nmap мог это сделать по умолчанию, совпадение должно быть очень близким.
Любая из этих (эквивалентных) опций заставляет Nmap угадывать более агрессивно. Nmap будет
по-прежнему сообщать вам, когда печатается несовершенное совпадение, и отображать уровень его достоверности
(в процентах) для каждого предположения.
--max-os-try (Установите максимальное количество попыток обнаружения ОС против цели).
Когда Nmap выполняет обнаружение ОС против цели и не может найти идеального совпадения, он
обычно повторяет попытку. По умолчанию Nmap пытается пять раз, если условия
благоприятно для отправки отпечатков пальцев ОС и дважды, когда условия не так хороши.
Указание более низкого --max-os-try значение (например, 1) ускоряет Nmap, хотя вы пропускаете
при повторных попытках, которые потенциально могут идентифицировать ОС. В качестве альтернативы высокое значение
при благоприятных условиях может быть настроено еще больше попыток. Это редко
сделано, за исключением создания лучших отпечатков пальцев для отправки и интеграции в
База данных ОС Nmap.
Nmap СЦЕНАРИЕВ ДВИГАТЕЛЬ (NSE)
Механизм сценариев Nmap (NSE) - одна из самых мощных и гибких функций Nmap. Это
позволяет пользователям писать простые скрипты (и делиться ими) (используя Lua Программирование язык[11].
) для автоматизации широкого спектра сетевых задач. Эти скрипты выполняются параллельно
со скоростью и эффективностью, которые вы ожидаете от Nmap. Пользователи могут рассчитывать на рост и
разнообразный набор сценариев, распространяемых с Nmap, или написание собственных сценариев для удовлетворения индивидуальных потребностей.
Задачи, которые мы имели в виду при создании системы, включают обнаружение сети и т. Д.
сложное обнаружение версий, обнаружение уязвимостей. NSE можно использовать даже для
эксплуатация уязвимостей.
Чтобы отразить эти различные варианты использования и упростить выбор сценариев для запуска, каждый
скрипт содержит поле, связывающее его с одной или несколькими категориями. В настоящее время определено
Категории: авторизация, трансляция, по умолчанию. открытие, дос, эксплойт, внешний, фаззер,
навязчивое, вредоносное, безопасное, версия и уязвимость. Все они описаны в
https://nmap.org/book/nse-usage.html#nse-categories.
Сценарии не запускаются в песочнице и, таким образом, могут случайно или злонамеренно повредить ваш компьютер.
системе или вторгнуться в вашу частную жизнь. Никогда не запускайте скрипты от третьих лиц, если вы не доверяете
авторов или самостоятельно тщательно проверяли сценарии.
Механизм сценариев Nmap подробно описан на https://nmap.org/book/nse.html и
контролируются следующими опциями:
-СК .
Выполняет сканирование сценариев с использованием набора сценариев по умолчанию. Это эквивалентно
--script = по умолчанию. Некоторые скрипты из этой категории считаются навязчивыми и
не должны запускаться в целевой сети без разрешения.
--скрипт имя файла|Каталог|каталог|выражение[, ...] .
Запускает сканирование сценария с использованием списка разделенных запятыми имен файлов, категорий сценариев и
каталоги. Каждый элемент в списке также может быть логическим выражением, описывающим
более сложный набор скриптов. Каждый элемент сначала интерпретируется как выражение, затем
как категорию и, наконец, как имя файла или каталога.
Есть две специальные функции только для опытных пользователей. Один из них - добавить префикс к именам скриптов.
и выражения с +, чтобы заставить их работать, даже если обычно они этого не делают (например,
соответствующая служба не была обнаружена на целевом порту). Во-вторых, аргумент
all может использоваться для указания каждого скрипта в базе данных Nmap. Будьте осторожны с этим
потому что NSE содержит опасные сценарии, такие как эксплойты, проверка подлинности методом грубой силы
взломщики и атаки отказа в обслуживании.
Имена файлов и каталогов могут быть относительными или абсолютными. Используются абсолютные имена
напрямую. Относительные пути ищутся в скриптах каждого из следующих мест
пока не найдено: --датадир
$ NMAPDIR.
~ / .nmap (в Windows поиск не ведется).
Главная\ AppData \ Roaming \ nmap (только в Windows).
каталог, содержащий исполняемый файл nmap
каталог, содержащий исполняемый файл nmap, за которым следует ../share/nmap
НМАПДАТАДИР.
текущий каталог.
Когда указано имя каталога, Nmap загружает каждый файл в каталоге, имя которого заканчивается
с .nse. Все остальные файлы игнорируются, а поиск в каталогах не выполняется рекурсивно. Когда
дается имя файла, у него не обязательно должно быть расширение .nse; это будет добавлено
автоматически при необходимости. Скрипты Nmap хранятся в подкаталоге скриптов Nmap.
каталог данных по умолчанию (см. https://nmap.org/book/data-files.html). Для эффективности
скрипты индексируются в базе данных, хранящейся в scripts / script.db ,. который перечисляет категорию
или категории, к которым принадлежит каждый сценарий. При обращении к скриптам из script.db пользователем
name, вы можете использовать подстановочный знак '*' в стиле оболочки.
птар --скрипт "http- *"
Загружает все скрипты, имя которых начинается с http-, например http-auth и http-open-proxy.
Аргумент в пользу --скрипт должен быть в кавычках, чтобы защитить подстановочный знак от оболочки.
Более сложный выбор сценария может быть выполнен с помощью операторов and, or и not.
строить логические выражения. Операторы одинаковые старшинство[12] как в Lua: не есть
наивысший, за которым следует и, а затем или. Вы можете изменить приоритет, используя круглые скобки.
Поскольку выражения содержат пробелы, их необходимо заключать в кавычки.
птар --скрипт "нет навязчивый "
Загружает все скрипты, кроме навязчивой категории.
птар --скрипт "дефолт or безопасно"
Это функционально эквивалентно птар --скрипт "по умолчанию, безопасно". Загружает все скрипты
которые находятся в категории по умолчанию, или в безопасной категории, или в обеих.
птар --скрипт "дефолт и безопасно"
Загружает те скрипты, которые есть в и категории по умолчанию и безопасные категории.
птар --скрипт "(дефолт or безопасный or навязчивый) и http- * "
Загружает скрипты в категориях по умолчанию, безопасных или навязчивых, кроме тех, чьи
имена начинаются с http-.
--script-аргументы n1=v1,n2={n3=v3},n4={v4,v5} .
Позволяет предоставить аргументы сценариям NSE. Аргументы представляют собой список разделенных запятыми
пары имя = значение. Имена и значения могут быть строками, не содержащими пробелов или
символы '{', '}', '=' или ','. Чтобы включить один из этих символов в строку,
заключите строку в одинарные или двойные кавычки. Внутри строки в кавычках '\' экранирует
Цитировать. Обратная косая черта используется только для удаления кавычек в этом особом случае; в целом
в других случаях обратная косая черта интерпретируется буквально. Значения также могут быть в виде таблиц.
в {}, как и в Lua. Таблица может содержать простые строковые значения или несколько значений имени
пары, включая вложенные таблицы. Многие сценарии уточняют свои аргументы с помощью сценария
имя, как в xmpp-info.server_name. Вы можете использовать эту полную версию, чтобы повлиять на
только указанный сценарий, или вы можете передать неквалифицированную версию (имя_сервера в
в этом случае), чтобы повлиять на все сценарии, использующие это имя аргумента. Скрипт сначала проверит
для его полного имени аргумента (имя, указанное в документации) перед
он принимает неполное имя аргумента. Сложный пример аргументов сценария:
--script-аргументы
'user = foo, pass = ", {} = bar", whois = {whodb = nofollow + ripe}, xmpp-info.server_name = localhost'.
Интернет-портал документации NSE по адресу https://nmap.org/nsedoc/ перечисляет аргументы
что принимает каждый сценарий.
--script-args-файл имя файла .
Позволяет загружать аргументы в сценарии NSE из файла. Любые аргументы в командной строке
заменить те, которые есть в файле. Файл может быть абсолютным путем или путем относительно
Обычный путь поиска Nmap (NMAPDIR и т. Д.). Аргументы могут быть разделены запятыми или
разделены новой строкой, но в остальном следуют тем же правилам, что и для --script-аргументы, без
требующие специальных кавычек и экранирования, поскольку они не анализируются оболочкой.
--script-помощь имя файла|Каталог|каталог|выражение| все [, ...] .
Показывает справку о скриптах. Для каждого скрипта, соответствующего данной спецификации, Nmap
печатает имя сценария, его категории и описание. Технические характеристики
такие же, как принятые --скрипт; так, например, если вам нужна помощь по поводу
ftp-anon, запустите птар --script-помощь ftp-анон. Помимо получения
справку по отдельным сценариям, вы можете использовать ее как предварительный просмотр того, какие сценарии будут запускаться
для спецификации, например, с птар --script-помощь по умолчанию.
--script-трассировка .
Эта опция делает то, что - трассировка пакета делает, только на один уровень ISO выше. Если этот вариант
указывается вся входящая и исходящая связь, осуществляемая скриптом.
Отображаемая информация включает протокол связи, источник, цель.
и переданные данные. Если более 5% всех передаваемых данных не печатаются,
тогда вывод трассировки будет в шестнадцатеричном формате дампа. Указание - трассировка пакета позволяет
трассировка скриптов тоже.
--script-updatedb .
Эта опция обновляет базу данных скриптов, находящуюся в scripts / script.db, которая используется
Nmap для определения доступных скриптов и категорий по умолчанию. Это только необходимо
для обновления базы данных, если вы добавили или удалили скрипты NSE по умолчанию
каталог скриптов или если вы изменили категории любого скрипта. Этот вариант
обычно используется сам по себе: птар --script-updatedb.
СРОКИ И Арбитраж трафика
Одним из моих главных приоритетов при разработке Nmap всегда была производительность. Сканирование по умолчанию
(птар хоста) хоста в моей локальной сети занимает пятую часть секунды. Это едва ли
достаточно времени, чтобы моргнуть, но оно увеличивается, когда вы сканируете сотни или тысячи хостов.
Более того, некоторые параметры сканирования, такие как сканирование UDP и определение версии, могут увеличить
время сканирования существенно. Так могут некоторые конфигурации брандмауэра, особенно ответ
ограничение скорости. Хотя Nmap использует параллелизм и множество продвинутых алгоритмов для ускорения
эти сканирования, пользователь имеет полный контроль над тем, как работает Nmap. Внимательно к опытным пользователям
создавайте команды Nmap, чтобы получать только ту информацию, которая им важна, при встрече с их
временные ограничения.
Методы сокращения времени сканирования включают пропуск некритичных тестов и обновление до
последняя версия Nmap (частые улучшения производительности). Оптимизация
временные параметры также могут иметь существенное значение. Эти варианты перечислены ниже.
Некоторые параметры принимают параметр времени. По умолчанию это указывается в секундах, хотя вы
может добавлять к значению 'ms', 's', 'm' или 'h', чтобы указать миллисекунды, секунды, минуты,
или часов. Так что --host-тайм-аут аргументы 900000 мс, 900, 900 с и 15 м все делают то же самое
вещь.
--min-hostgroup количество хостов; --max-hostgroup количество хостов (Отрегулируйте размеры групп параллельного сканирования).
Nmap имеет возможность сканировать порты или версии одновременно на нескольких хостах. Nmap
делает это путем разделения целевого IP-пространства на группы и последующего сканирования одной группы в
время. В общем, большие группы более эффективны. Обратной стороной является то, что результаты хоста
не может быть предоставлено, пока не будет завершена вся группа. Итак, если Nmap начинал с
размер группы 50, пользователь не будет получать никаких отчетов (кроме обновлений
предлагается в подробном режиме), пока не будут завершены первые 50 узлов.
По умолчанию Nmap применяет компромиссный подход к этому конфликту. Он начинается с
размер группы всего пять, поэтому первые результаты приходят быстро, а затем увеличивается
размер группы достигает 1024. Точные значения по умолчанию зависят от заданных параметров.
По соображениям эффективности Nmap использует группы большего размера для сканирования UDP или TCP с несколькими портами.
Когда максимальный размер группы указан с помощью --max-hostgroup, Nmap никогда не превысит
такой размер. Укажите минимальный размер с помощью --min-hostgroup и Nmap попытается сохранить группу
размеры выше этого уровня. Nmap, возможно, придется использовать меньшие группы, чем вы указали, если есть
недостаточно целевых хостов, оставшихся на данном интерфейсе для выполнения указанного
минимум. Оба могут быть настроены так, чтобы размер группы оставался в определенном диапазоне, хотя это
редко бывает желательным.
Эти параметры не действуют на этапе обнаружения хоста при сканировании. Этот
включает обычное сканирование с помощью ping (-sn). Обнаружение хостов всегда работает в больших группах хостов
для повышения скорости и точности.
Основное использование этих параметров - указать большой минимальный размер группы, чтобы
полное сканирование выполняется быстрее. Обычный выбор - 256 для сканирования сети с размером класса C.
куски. Для сканирования с большим количеством портов превышение этого числа вряд ли сильно поможет.
Для сканирования всего нескольких номеров портов может оказаться полезным размер группы хостов 2048 или более.
--мин-параллелизм халаты; --макс-параллелизм халаты (Отрегулируйте параллельность датчиков).
Эти параметры контролируют общее количество зондов, которые могут быть ожидаемыми для хоста.
группа. Они используются для сканирования портов и обнаружения хостов. По умолчанию Nmap вычисляет
постоянно меняющийся идеальный параллелизм, основанный на производительности сети. Если пакеты
упал, Nmap замедляется и допускает меньшее количество невыполненных запросов. Идеальное количество зондов
медленно поднимается по мере того, как сеть зарекомендовала себя достойно. Эти варианты ставят минимум или
максимальные границы этой переменной. По умолчанию идеальный параллелизм может упасть до единицы, если
сеть оказалась ненадежной и в идеальных условиях выросла до нескольких сотен.
Чаще всего используется для установки --мин-параллелизм на число больше единицы, чтобы ускорить
сканирование некачественных хостов или сетей. Это рискованный вариант для игры,
слишком высокое значение может повлиять на точность. Установка этого параметра также снижает возможности Nmap.
для динамического управления параллелизмом в зависимости от состояния сети. Значение 10 может быть
разумно, хотя я изменяю это значение только в крайнем случае.
The --макс-параллелизм иногда устанавливается равным единице, чтобы Nmap не отправляла больше
чем один зонд за раз для хостов. В --scan-задержка вариант, обсуждаемый позже,
другой способ сделать это.
--мин-rtt-тайм-аут время, --max-rtt-тайм-аут время, --initial-rtt-тайм-аут время (Отрегулируйте датчик
таймауты).
Nmap поддерживает значение тайм-аута выполнения, чтобы определить, как долго он будет ждать
ответ на зонд перед отказом от зонда или его повторной передачей. Это рассчитывается на основе
о времени отклика предыдущих тестов.
Если сетевая задержка оказывается значительной и непостоянной, этот тайм-аут может
вырастают до нескольких секунд. Он также начинается на консервативном (высоком) уровне и может оставаться
таким образом какое-то время, когда Nmap сканирует неотвечающие хосты.
Указание более низкого --max-rtt-тайм-аут и --initial-rtt-тайм-аут чем могут
значительно сократить время сканирования. Это особенно верно для pingless (Рп) сканирование, и
против сильно отфильтрованных сетей. Однако не становитесь слишком агрессивными. Сканирование может
в конечном итоге займет больше времени, если вы укажете настолько низкое значение, что многие зонды будут отключены
и повторная передача во время передачи ответа.
Если все хосты находятся в локальной сети, 100 миллисекунд (--max-rtt-тайм-аут 100ms) является
разумное агрессивное значение. Если используется маршрутизация, проверьте связь с хостом в сети.
сначала с помощью утилиты ping ICMP или специального создателя пакетов, такого как Nping. что
с большей вероятностью пройдет через брандмауэр. Посмотрите на максимальное время в оба конца из
десять пакетов или около того. Возможно, вы захотите удвоить это для --initial-rtt-тайм-аут и
утроить или учетверить его для --max-rtt-тайм-аут. Я вообще максимум не ставлю
RTT ниже 100 мс, независимо от времени пинга. Я тоже не превышаю 1000 мс.
--мин-rtt-тайм-аут редко используемый вариант, который может быть полезен, когда сеть так
ненадежно, что даже настройки Nmap по умолчанию слишком агрессивны. Поскольку Nmap только уменьшает
время ожидания до минимума, когда сеть кажется надежной, эта необходимость
необычно и о нем следует сообщить как об ошибке в список рассылки nmap-dev.
--max-повторных попыток числа (Укажите максимальное количество повторных передач зонда сканирования порта).
Если Nmap не получает ответа на зонд сканирования порта, это может означать, что порт отключен.
фильтрованный. Или, может быть, зонд или ответ просто потерялись в сети. Это также
возможно, что на целевом хосте включено ограничение скорости, которое временно заблокировало
отклик. Итак, Nmap пытается еще раз, повторно передавая начальный зонд. Если Nmap обнаружит
низкая надежность сети, он может попробовать еще много раз, прежде чем отказаться от порта. В то время как
это улучшает точность, а также увеличивает время сканирования. Когда производительность критична,
сканирование можно ускорить, ограничив количество разрешенных повторных передач. Ты даже можешь
указывать --max-повторных попыток 0 чтобы предотвратить любые повторные передачи, хотя это только
рекомендуется для таких ситуаций, как неформальные исследования, когда иногда пропускаются порты и
хозяева приемлемы.
По умолчанию (без -T template) должен разрешить десять повторных передач. Если сеть кажется
надежно и целевые хосты не ограничивают скорость, Nmap обычно делает только один
ретрансляция. Таким образом, на большинство сканированных объектов даже не влияет падение --max-повторных попыток в
низкое значение, например три. Такие значения могут существенно ускорить сканирование медленных (скорость
ограничено) хосты. Обычно вы теряете некоторую информацию, когда Nmap рано отказывается от портов,
хотя это может быть предпочтительнее, чем позволить --host-тайм-аут истекает и теряет все
информация о цели.
--host-тайм-аут время (Откажитесь от медленных целевых хостов).
Некоторые хосты просто принимают длинной время сканировать. Это может быть из-за плохой работы или
ненадежное сетевое оборудование или программное обеспечение, ограничение скорости передачи пакетов или ограничительный
межсетевой экран. Самые медленные несколько процентов просканированных хостов могут съесть большую часть
время сканирования. Иногда лучше сократить свои потери и сначала пропустить эти хосты.
Указывать --host-тайм-аут с максимальным количеством времени, которое вы готовы ждать. Для
Например, укажите 30 м, чтобы Nmap не тратил больше получаса на
одиночный хозяин. Обратите внимание, что Nmap может одновременно сканировать другие хосты.
полчаса, так что это не полная потеря. Хост, время ожидания которого истекло, пропускается. Нет порта
таблица, результаты обнаружения ОС или версии распечатываются для этого хоста.
--scan-задержка время; --max-сканирование-задержка время (Отрегулируйте задержку между датчиками).
Эта опция заставляет Nmap ждать по крайней мере заданное количество времени между каждым зондом.
он отправляет на указанный хост. Это особенно полезно в случае ограничения скорости.
Машины Solaris (среди многих других) обычно отвечают на пробные пакеты сканирования UDP.
только с одним сообщением ICMP в секунду. Любое больше, чем отправлено Nmap, будет
расточительно. А --scan-задержка 1 с будет поддерживать Nmap на этой медленной скорости. Nmap пытается обнаружить
ограничение скорости и соответственно отрегулируйте задержку сканирования, но это не помешает указать это
явно, если вы уже знаете, какая скорость работает лучше всего.
Когда Nmap увеличивает задержку сканирования, чтобы справиться с ограничением скорости, сканирование замедляется.
резко вниз. В --max-сканирование-задержка опция определяет самую большую задержку, которую Nmap
позволит. Низкий --max-сканирование-задержка может ускорить работу Nmap, но это рискованно. Установка этого
слишком низкое значение может привести к бесполезной повторной передаче пакетов и возможным пропущенным портам
когда цель реализует строгое ограничение скорости.
Другое использование --scan-задержка состоит в том, чтобы избежать обнаружения вторжений на основе пороговых значений и
системы профилактики (IDS / IPS) ..
--мин-скорость номер; --максимальная скорость номер (Непосредственно контролировать скорость сканирования).
Динамический тайминг Nmap помогает найти подходящую скорость, с которой
сканировать. Однако иногда вы можете знать подходящую скорость сканирования для
сети, или вам, возможно, придется гарантировать, что сканирование будет завершено к определенному времени.
Или, возможно, вы должны запретить Nmap сканирование слишком быстро. В --мин-скорость и --максимальная скорость
варианты предназначены для этих ситуаций.
Когда --мин-скорость задана опция Nmap будет делать все возможное, чтобы отправлять пакеты так быстро, как
или быстрее, чем заданная скорость. Аргумент - положительное действительное число, представляющее
скорость пакетов в пакетах в секунду. Например, указав --мин-скорость 300 Значит это
Nmap будет пытаться поддерживать скорость отправки не менее 300 пакетов в секунду. Указание
минимальная скорость не мешает Nmap работать быстрее, если того требуют условия.
Кроме того, --максимальная скорость ограничивает скорость отправки сканирования до заданного максимума. Использовать --максимальная скорость
100, например, чтобы ограничить отправку до 100 пакетов в секунду в быстрой сети. Использовать
--максимальная скорость 0.1 для медленного сканирования одного пакета каждые десять секунд. Использовать --мин-скорость и
--максимальная скорость вместе, чтобы держать курс в определенном диапазоне.
Эти два параметра являются глобальными и влияют на все сканирование, а не на отдельные хосты. Они
влияют только на сканирование портов и сканирование с обнаружением хоста. Другие функции, такие как обнаружение ОС
реализовать свои собственные сроки.
Есть два условия, при которых фактическая скорость сканирования может упасть ниже запрошенной.
минимум. Первый - если минимальная скорость выше максимальной скорости, с которой Nmap может
send, который зависит от оборудования. В этом случае Nmap просто отправит пакеты как
как можно быстрее, но имейте в виду, что такие высокие показатели могут привести к потере
точность. Второй случай, когда Nmap нечего послать, например, в конце
сканирование, когда были отправлены последние зонды, и Nmap ожидает их тайм-аута или
ответить на. Это нормально видеть падение скорости сканирования в конце или в конце сканирования.
между группами хостов. Скорость отправки может временно превышать максимальную, чтобы компенсировать
непредсказуемые задержки, но в среднем ставка будет оставаться на максимальном уровне или ниже.
При указании минимальной ставки следует соблюдать осторожность. Сканирование быстрее, чем в сети
поддержка может привести к потере точности. В некоторых случаях использование более высокой скорости может привести к
сканировать дубль дольше чем это было бы с более медленной скоростью. Это потому, что адаптивная
алгоритмы повторной передачи обнаруживают перегрузку сети, вызванную чрезмерным
скорость сканирования и увеличение количества повторных передач для повышения точности.
Таким образом, даже если пакеты отправляются с более высокой скоростью, в целом отправляется больше пакетов. Шапка
количество ретрансляций с --max-повторных попыток вариант, если вам нужно установить
верхний предел общего времени сканирования.
--defeat-first-ratelimit .
Многие хосты уже давно используют ограничение скорости. для уменьшения количества сообщений об ошибках ICMP
(например, ошибки недоступности порта), которые они отправляют. Некоторые системы теперь применяют аналогичную ставку
ограничения на генерируемые ими пакеты RST (сброса). Это может значительно замедлить работу Nmap.
поскольку он корректирует свои сроки, чтобы отразить эти ограничения скорости. Вы можете указать Nmap игнорировать
эти ограничения скорости (для сканирования портов, таких как сканирование SYN, которое не относиться к неотзывчивым
порты как открытые), указав --defeat-first-ratelimit.
Использование этой опции может снизить точность, так как некоторые порты не будут отвечать
потому что Nmap не ждал достаточно долго ответа RST с ограничением скорости. С помощью сканирования SYN,
отсутствие ответа приводит к тому, что порт помечается как отфильтрованный, а не закрытый
состояние мы видим, когда получены пакеты RST. Эта опция полезна, когда вам небезразлично
об открытых портах, и различать закрытые и отфильтрованные порты не стоит
дополнительное время.
- бензиновый двигатель epoll | kqueue | poll | select .
Принудительное использование данного механизма мультиплексирования ввода-вывода nsock. Только выберите(2) резервный вариант
Engine гарантированно будет доступен в вашей системе. Двигатели названы в честь названия
средства управления вводом-выводом, которые они используют. В настоящее время реализованы двигатели epoll,
kqueue, poll и select, но не все они будут присутствовать на какой-либо платформе. Использовать птар -V в
посмотреть, какие двигатели поддерживаются.
-T параноик | подлый | вежливый | нормальный | агрессивный | безумный (Установите шаблон времени).
Хотя мелкозернистые элементы управления синхронизацией, обсужденные в предыдущем разделе, очень эффективны
и эффективные, некоторые люди находят их запутанными. Более того, выбирая подходящие
значений иногда может занять больше времени, чем сканирование, которое вы пытаетесь оптимизировать. Итак, Nmap
предлагает более простой подход с шестью временными шаблонами. Вы можете указать их с помощью -T
вариант и их номер (0–5) или их имя. Имена шаблонов параноидальный (0),
подлый (1), вежливый (2), "обычные" (3), агрессивный (4), а также расширение безумный (5). Первые два
для уклонения от IDS. Вежливый режим замедляет сканирование, чтобы использовать меньшую полосу пропускания и целевой
машинные ресурсы. По умолчанию используется нормальный режим, поэтому -T3 ничего не делает. Агрессивный режим
ускоряет сканирование, исходя из предположения, что вы используете достаточно быстрый и
надежная сеть. Наконец-то безумный режим. предполагает, что вы находитесь на необычайно
быстрая сеть или готовы пожертвовать точностью ради скорости.
Эти шаблоны позволяют пользователю указать, насколько агрессивным он хочет быть, в то время как
оставляя Nmap для выбора точных значений времени. Шаблоны также делают небольшую скорость
корректировки, для которых в настоящее время не существует точных параметров управления. Для
пример, -T4. запрещает задержку динамического сканирования более 10 мс для портов TCP и
-T5 ограничивает это значение 5 мс. Шаблоны можно использовать в сочетании с мелкозернистым
элементы управления, а мелкозернистые элементы управления, которые вы укажете, будут иметь приоритет над
шаблон времени по умолчанию для этого параметра. Я рекомендую использовать -T4 при сканировании
достаточно современные и надежные сети. Сохраните эту опцию, даже если добавите
мелкозернистые элементы управления, чтобы вы могли извлечь выгоду из тех дополнительных незначительных оптимизаций, которые он
позволяет.
Если у вас приличное широкополосное или Ethernet-соединение, я бы всегда рекомендовал
через -T4. Некоторые люди любят -T5 хотя на мой вкус он слишком агрессивен. Люди
иногда указывают -T2 потому что они думают, что это менее вероятно приведет к сбою хостов или потому что
в целом считают себя вежливыми. Они часто не понимают, как
медленной -T вежливый. на самом деле. Их сканирование может занять в десять раз больше времени, чем сканирование по умолчанию.
Сбои машины и проблемы с пропускной способностью редки с параметрами синхронизации по умолчанию (-T3)
и поэтому я обычно рекомендую это для осторожных сканеров. Отсутствие определения версии
намного эффективнее, чем игра со значениями времени для уменьшения этих проблем.
В то время как -T0. и -T1. могут быть полезны для предотвращения предупреждений IDS, они будут
чрезвычайно долгое время для сканирования тысяч машин или портов. Так долго
сканирования, вы можете предпочесть установить точные значения времени, которые вам нужны, а не полагаться на
консервированный -T0 и -T1 значения.
Основные эффекты T0 сериализуют сканирование, поэтому одновременно сканируется только один порт,
и ожидание пяти минут между отправкой каждого зонда. T1 и T2 похожи, но они
только подождите 15 секунд и 0.4 секунды соответственно между датчиками. T3. это Nmap
поведение по умолчанию, которое включает распараллеливание. -T4 делает эквивалент
--max-rtt-тайм-аут 1250ms --мин-rtt-тайм-аут 100ms --initial-rtt-тайм-аут 500ms
--max-повторных попыток 6 и устанавливает максимальную задержку сканирования TCP на 10 миллисекунд. T5 делает
эквивалент --max-rtt-тайм-аут 300ms --мин-rtt-тайм-аут 50ms --initial-rtt-тайм-аут
250ms --max-повторных попыток 2 --host-тайм-аут 15m а также установка максимальной задержки сканирования TCP
до 5 мс.
ФЕЙЕРВОЛ / IDS EVASION И СПУФИНГ
Многие пионеры Интернета представляли себе глобальную открытую сеть с универсальным пространством IP-адресов.
разрешение виртуальных соединений между любыми двумя узлами. Это позволяет хостам действовать как истинные
сверстники, обслуживающие и получающие информацию друг от друга. Люди могли получить доступ ко всем
их домашние системы с работы, изменения настроек климат-контроля или разблокировки дверей
для ранних гостей. Это видение универсальной связи подавляется адресным пространством.
нехватка и проблемы безопасности. В начале 1990-х годов организации начали развертывать
брандмауэры специально для уменьшения возможности подключения. Оцеплены огромные сети
отключение от нефильтрованного Интернета с помощью прокси приложений, трансляции сетевых адресов и
пакетные фильтры. Неограниченный поток информации уступил место жесткому регулированию
утвержденные каналы связи и передаваемый по ним контент.
Сетевые препятствия, такие как брандмауэры, могут чрезвычайно затруднить отображение сети.
Легче не станет, поскольку подавление случайной разведки часто является ключевой целью
реализация устройств. Тем не менее, Nmap предлагает множество функций, помогающих понять эти
сложные сети, и чтобы убедиться, что фильтры работают должным образом. Он даже поддерживает
механизмы обхода плохо реализованной защиты. Один из лучших способов
понимание вашего состояния сетевой безопасности - значит попытаться победить его. Поместите себя в
образ мышления злоумышленника и примените методы из этого раздела против своих сетей.
Запустите сканирование отказов FTP, сканирование в режиме ожидания, атаку фрагментации или попробуйте туннелировать через один
собственных прокси.
Помимо ограничения сетевой активности, компании все чаще отслеживают трафик.
с системами обнаружения вторжений (IDS). Все основные IDS поставляются с правилами, предназначенными для
обнаруживать сканирование Nmap, потому что сканирование иногда является предвестником атак. Многие из этих
продукты недавно превратились во вторжение предупреждение системы (IPS). что активно
блокировать трафик, который считается вредоносным. К сожалению для сетевых администраторов и поставщиков IDS,
Надежное обнаружение дурных намерений путем анализа пакетных данных - сложная задача. Злоумышленники
с терпением, умением и помощью определенных опций Nmap обычно может пройти мимо IDS
необнаруженный. Между тем, администраторам приходится справляться с большим количеством ложных срабатываний.
результаты, когда невиновные действия ошибочно диагностируются и предупреждаются или блокируются.
Иногда люди предполагают, что Nmap не должен предлагать функции для обхода правил брандмауэра.
или проскользнув мимо IDS. Они утверждают, что с такой же вероятностью этими функциями могут злоупотреблять
злоумышленники, используемые администраторами для повышения безопасности. Проблема с этой логикой в том, что
что эти методы по-прежнему будут использоваться злоумышленниками, которые просто найдут другие инструменты или
исправьте функциональность в Nmap. Между тем, администраторы найдут, что
тяжелее делать свою работу. Развертывание только современных FTP-серверов с исправлениями - гораздо более эффективный способ.
защиты, чем попытки предотвратить распространение инструментов, реализующих отказ FTP
атака.
Не существует волшебной пули (или опции Nmap) для обнаружения и взлома межсетевых экранов и IDS.
системы. Это требует умения и опыта. Учебное пособие выходит за рамки этого справочника.
руководство, в котором перечислены только соответствующие варианты и описано, что они делают.
-f (фрагментные пакеты); --mtu (с использованием указанного MTU).
The -f опция заставляет запрошенное сканирование (включая сканирование ping) использовать крошечные фрагментированные
IP-пакеты. Идея состоит в том, чтобы разделить заголовок TCP на несколько пакетов, чтобы
сложнее обнаружить пакетные фильтры, системы обнаружения вторжений и другие неприятности.
что ты делаешь. Будьте осторожны с этим! У некоторых программ есть проблемы с обработкой этих
крошечные пакеты. Сниффер старой школы под названием Sniffit segmentation немедленно отказал
при получении первого фрагмента. Укажите эту опцию один раз, и Nmap разделит
пакеты в восемь байтов или меньше после IP-заголовка. Таким образом, 20-байтовый заголовок TCP будет
разбить на три пакета. Два с восемью байтами заголовка TCP и один с
последние четыре. Конечно, каждый фрагмент также имеет заголовок IP. Указать -f снова использовать 16
байтов на фрагмент (уменьшение количества фрагментов) .. Или вы можете указать свой
размер смещения с --mtu вариант. Не указывайте также -f если вы используете --mtu. Смещение
должно быть кратно восьми. В то время как фрагментированные пакеты не попадают в фильтры пакетов и
брандмауэры, которые ставят в очередь все IP-фрагменты, такие как CONFIG_IP_ALWAYS_DEFRAG вариант в
ядро Linux, некоторые сети не могут позволить себе снижение производительности по этой причине и, следовательно,
оставьте его отключенным. Другие не могут включить это, потому что фрагменты могут занимать разные
маршруты в свои сети. Некоторые исходные системы дефрагментируют исходящие пакеты в
ядро. Linux с пакетом iptables. модуль отслеживания соединений является одним из таких примеров. Сделать
сканировать во время сниффера, такого как Wireshark. работает, чтобы гарантировать, что отправленные пакеты
фрагментированный. Если ваша ОС вызывает проблемы, попробуйте --send-эт. возможность обойти
уровень IP и отправлять необработанные кадры Ethernet.
Фрагментация поддерживается только для функций сырых пакетов Nmap, которые включают TCP и
Сканирование портов UDP (кроме сканирования соединения и сканирования отказов FTP) и определение ОС. Функции
такие как определение версии и движок сценариев Nmap, как правило, не поддерживают
фрагментация, потому что они полагаются на стек TCP вашего хоста для связи с целью
сервисов.
-D decoy1[,decoy2][,МЕНЯ][,...] (Замаскируйте сканирование ловушками).
Вызывает выполнение сканирования-ловушки, в результате чего удаленному хосту кажется, что
хост (ы), которые вы указываете в качестве ловушек, также сканируют целевую сеть. Таким образом, их IDS
могут сообщить о сканировании 5–10 портов с уникальных IP-адресов, но не будут знать, какой IP
сканировал их и которые были невинными приманками. Хотя это можно победить
трассировка пути к маршрутизатору, отбрасывание ответа и другие активные механизмы, обычно
эффективный метод сокрытия вашего IP-адреса.
Разделите каждый узел-ловушку запятыми, и при желании вы можете использовать ME. как один из
приманки для представления вашего реального IP-адреса. Если вы поместите МЕНЯ в шестой
position или более поздней версии, некоторые распространенные детекторы сканирования портов (например, Solar Designer's.
отличный Scanlogd). вряд ли вообще покажут ваш IP-адрес. Если вы не используете
Я, Nmap поставит вас в случайное положение. Вы также можете использовать RND. создать
случайный, незарезервированный IP-адрес или RND:номер генерировать номер адреса.
Обратите внимание, что хосты, которые вы используете в качестве ловушек, должны быть активны, иначе вы можете случайно выполнить SYN-флуд.
ваши цели. Также будет довольно легко определить, какой хост сканирует, если только
один действительно подключен к сети. Возможно, вы захотите использовать IP-адреса вместо имен
(чтобы сети-обманщики не видели вас в своих журналах серверов имен).
Ловушки используются как при начальном сканировании ping (с использованием ICMP, SYN, ACK и т. Д.), Так и
во время фактической фазы сканирования портов. Ловушки также используются при удаленном обнаружении ОС.
(-O). Ловушки не работают с определением версии или сканированием TCP-соединений. Когда задержка сканирования
действует, задержка применяется между каждой партией поддельных зондов, а не между
каждый отдельный зонд. Поскольку ловушки отправляются сразу целыми партиями, они могут
временно нарушать ограничения по контролю за перегрузкой.
Стоит отметить, что использование слишком большого количества ловушек может замедлить сканирование и, возможно, даже
сделать его менее точным. Кроме того, некоторые интернет-провайдеры будут фильтровать ваши поддельные пакеты, но многие
вообще не ограничивать поддельные IP-пакеты.
-S Айпи адрес (Адрес источника подделки).
В некоторых случаях Nmap может не определить ваш исходный адрес (Nmap
скажу вам, если это так). В этой ситуации используйте -S с IP-адресом
интерфейс, через который вы хотите отправлять пакеты.
Еще одно возможное использование этого флага - подделать сканирование, чтобы цели думали, что
кто-то еще сканирует их. Представьте себе компанию, которую постоянно сканирует порт
конкурент! В -e вариант и Рп обычно требуются для такого использования. Примечание
что вы обычно не получаете ответные пакеты обратно (они будут адресованы на IP
вы подделываете), поэтому Nmap не будет создавать полезных отчетов.
-e интерфейс (Использовать указанный интерфейс).
Сообщает Nmap, на каком интерфейсе отправлять и получать пакеты. Nmap должен уметь
обнаруживает это автоматически, но сообщит вам, если не сможет.
- источник-порт номер порта; -g номер порта (Номер порта источника подделки).
Одна удивительно распространенная неправильная конфигурация - доверять трафику только на основе источника.
номер порта. Легко понять, как это происходит. Администратор установит
новенький брандмауэр, но его засыпают жалобы от неблагодарных пользователей.
чьи приложения перестали работать. В частности, DNS может быть нарушен из-за того, что UDP
Ответы DNS от внешних серверов больше не могут поступать в сеть. FTP - другой
общий пример. При активной FTP-передаче удаленный сервер пытается установить
соединение с клиентом для передачи запрошенного файла.
Существуют безопасные решения этих проблем, часто в форме приложений на уровне приложений.
прокси или модули межсетевого экрана для анализа протоколов. К сожалению, есть и попроще,
небезопасные решения. Отмечая, что ответы DNS поступают с порта 53, а активный FTP - с порта.
20, многие администраторы попали в ловушку, просто разрешив входящий трафик.
из этих портов. Они часто предполагают, что ни один злоумышленник не заметит и не воспользуется такими
дыры в брандмауэре. В других случаях администраторы считают это краткосрочным временным барьером.
измерять, пока они не смогут реализовать более безопасное решение. Затем они забывают о безопасности
Обновить.
В эту ловушку попадают не только перегруженные работой сетевые администраторы.
Многие продукты поставляются с этими небезопасными правилами. Даже Microsoft была
виновный. Фильтры IPsec, поставляемые с Windows 2000 и Windows XP, содержат
неявное правило, разрешающее весь трафик TCP или UDP с порта 88 (Kerberos). В другой
хорошо известный случай, версии персонального межсетевого экрана Zone Alarm до 2.1.25 допускали любые
входящие UDP-пакеты с исходным портом 53 (DNS) или 67 (DHCP).
Nmap предлагает -g и - источник-порт варианты (они эквивалентны) для использования этих
недостатки. Просто укажите номер порта, и Nmap будет отправлять пакеты с этого порта.
где возможно. Большинство операций сканирования с использованием сырых сокетов, включая SYN и UDP.
сканов, полностью поддерживаю эту опцию. Примечательно, что опция не влияет на
любые операции, использующие обычные сокеты операционной системы, включая DNS-запросы, TCP
соединяться сканирование ,. определение версии и сканирование скриптов. Настройка исходного порта также
не работает для определения ОС, потому что Nmap должен использовать разные номера портов для
определенные тесты обнаружения ОС для правильной работы.
--данные шестнадцатеричный string (Добавить пользовательские двоичные данные к отправленным пакетам).
Этот параметр позволяет включать двоичные данные в качестве полезной нагрузки в отправленные пакеты. шестнадцатеричный string май
быть указанным в любом из следующих форматов: 0xAABBCCDDEEFF..., ААББКДДЕЕФФ... or
\ xAA \ xBB \ xCC \ xDD \ xEE \ xFF.... Примеры использования: --данные 0xdeadbeef и --данные
\ xCA \ xFE \ x09. Обратите внимание, что если вы укажете число вроде 0x00ff, преобразование порядка байтов не будет.
выполняется. Убедитесь, что вы указали информацию в порядке байтов, ожидаемом
приемником.
- строка-данных string (Добавить настраиваемую строку к отправленным пакетам).
Этот параметр позволяет включать в отправляемые пакеты обычную строку в качестве полезной нагрузки. string
содержать любую строку. Однако учтите, что некоторые символы могут зависеть от вашей системы.
locale и получатель могут не видеть одну и ту же информацию. Также убедитесь, что вы вложили
строка в двойных кавычках и экранирование любых специальных символов оболочки.
Примеры: - строка-данных "Сканировать проводятся by Безопасность. Опс, расширение 7192 " or
- строка-данных "Ph34r my l33t навыки и умения". Имейте в виду, что на самом деле никто не
увидеть любые комментарии, оставленные этой опцией, если они не внимательно следят за сетью
с помощью сниффера или настраиваемых правил IDS.
- длина-данных номер (Добавить случайные данные к отправленным пакетам).
Обычно Nmap отправляет минималистичные пакеты, содержащие только заголовок. Итак, его TCP-пакеты
обычно составляет 40 байт, а эхо-запросы ICMP - всего 28. Некоторые порты UDP. и IP
протоколы. получить настраиваемую полезную нагрузку по умолчанию. Эта опция указывает Nmap добавить
заданное количество случайных байтов для большинства пакетов, которые он отправляет, и не использовать никаких
полезные нагрузки, зависящие от протокола. (Использовать - длина-данных 0 без случайных или зависящих от протокола
полезные данные .. Обнаружение ОС (-O) пакеты не затрагиваются. потому что точность там
требует согласованности зонда, но большинство пакетов эхо-запросов и сканирования портов поддерживают это. Это
немного замедляет работу, но может сделать сканирование менее заметным.
--ip-параметры S | R [маршрут] | L [маршрут] | T | U ... ; --ip-параметры шестнадцатеричный string (Отправлять пакеты с
указанные параметры IP).
The IP протокол[13] предлагает несколько опций, которые могут быть помещены в заголовки пакетов.
В отличие от широко распространенных опций TCP, опции IP редко встречаются из-за практичности и
проблемы безопасности. Фактически, многие интернет-маршрутизаторы блокируют самые опасные варианты.
например, маршрутизация от источника. Тем не менее в некоторых случаях параметры могут быть полезны для определения
и управление сетевым маршрутом к целевым машинам. Например, вы можете
используйте опцию записи маршрута, чтобы определить путь к цели, даже если это более традиционный
Подходы в стиле traceroute терпят неудачу. Или если ваши пакеты отбрасываются определенным
брандмауэра, вы можете указать другой маршрут со строгим или свободным источником
варианты маршрутизации.
Самый эффективный способ указать параметры IP - просто передать значения в качестве
аргумент --ip-параметры. Перед каждым шестнадцатеричным числом ставьте \ x, а затем две цифры. Вы можете
повторить определенные символы, поставив после них звездочку, а затем количество
раз вы хотите, чтобы они повторялись. Например, \ x01 \ x07 \ x04 \ x00 * 36 \ x01 - это шестнадцатеричная строка.
содержащий 36 байтов NUL.
Nmap также предлагает механизм быстрого доступа для указания опций. Просто передайте письмо
R, T или U для запроса маршрута записи. отметка времени записи ,. или оба варианта вместе,
соответственно. Свободная или строгая маршрутизация от источника. может быть обозначен буквами L или S
за которым следует пробел, а затем список IP-адресов, разделенных пробелами.
Если вы хотите видеть параметры отправленных и полученных пакетов, укажите - трассировка пакета.
Для получения дополнительной информации и примеров использования параметров IP с Nmap см.
http://seclists.org/nmap-dev/2006/q3/52.
--ттл ценностное (Установить поле времени жизни IP).
Устанавливает для поля времени жизни IPv4 в отправленных пакетах заданное значение.
--randomize-hosts (Произвести случайный порядок целевого хоста).
Сообщает Nmap перетасовать каждую группу из 16384 хостов перед их сканированием. Это может
сделать сканирование менее очевидным для различных систем мониторинга сети, особенно когда вы
сочетайте это с опциями медленного отсчета времени. Если вы хотите рандомизировать группы большего размера,
недавнее увеличение PING_GROUP_SZ. в nmap.h. и перекомпилируйте. Альтернативное решение -
сгенерировать список целевых IP-адресов с помощью сканирования списка (-SL -n -на имя файла), рандомизируйте его с помощью
сценарий Perl, затем предоставьте весь список Nmap с помощью -iL..
--spoof-mac MAC адрес, приставка, or продавец имя (Поддельный MAC-адрес).
Просит Nmap использовать данный MAC-адрес для всех отправляемых необработанных кадров Ethernet.
Этот вариант подразумевает --send-эт. чтобы гарантировать, что Nmap действительно отправляет Ethernet-уровень
пакеты. Данный MAC может принимать несколько форматов. Если это просто число 0, Nmap
выбирает для сеанса совершенно случайный MAC-адрес. Если данная строка является
четное количество шестнадцатеричных цифр (пары могут быть разделены двоеточием), Nmap будет
используйте их как MAC. Если указано менее 12 шестнадцатеричных цифр, Nmap заполняет
остаток из шести байтов со случайными значениями. Если аргумент не равен нулю или шестнадцатеричной системе
строка, Nmap просматривает nmap-mac-prefixes, чтобы найти имя поставщика, содержащее
заданная строка (без учета регистра). Если совпадение найдено, Nmap использует OUI производителя.
(трехбайтовый префикс). и заполняет оставшиеся три байта случайным образом. Действительный
--spoof-mac примеры аргументов: Apple, 0, 01: 02: 03: 04: 05: 06, deadbeefcafe, 0020F2,
и Cisco. Этот параметр влияет только на сканирование необработанных пакетов, такое как сканирование SYN или обнаружение ОС,
не ориентированные на соединение функции, такие как определение версии или сценарии Nmap
Двигатель.
--прокси Разделенные запятой список of полномочие URL-адреса (Ретрансляция TCP-соединений через цепочку
прокси).
Просит Nmap установить TCP-соединения с конечной целью через предоставленную цепочку
один или несколько прокси HTTP или SOCKS4. Прокси-серверы могут помочь скрыть истинный источник сканирования или
обойти определенные ограничения брандмауэра, но они могут снизить производительность сканирования,
увеличение задержки. Пользователям может потребоваться настроить таймауты Nmap и другие параметры сканирования.
соответственно. В частности, более низкий --макс-параллелизм может помочь, потому что некоторые прокси
отказываться обрабатывать столько одновременных соединений, сколько Nmap открывает по умолчанию.
Эта опция принимает список прокси в качестве аргумента, выраженный как URL-адреса в формате
proto: // хост: порт. Используйте запятые для разделения URL-адресов узлов в цепочке. Нет аутентификации
пока поддерживается. Допустимые протоколы - HTTP и SOCKS4.
Предупреждение: эта функция все еще находится в стадии разработки и имеет ограничения. это
реализован в библиотеке nsock и поэтому не влияет на пинг, сканирование портов
и фазы обнаружения ОС при сканировании. От этой опции выигрывают только NSE и проверка версий
пока - другие функции могут раскрыть ваш истинный адрес. SSL-соединений еще нет
не поддерживается, равно как и разрешение DNS на стороне прокси (имена хостов всегда разрешаются Nmap).
--бадсум (Отправлять пакеты с поддельными контрольными суммами TCP / UDP).
Просит Nmap использовать недопустимую контрольную сумму TCP, UDP или SCTP для пакетов, отправленных на цель
хосты. Поскольку практически все IP-стеки хостов правильно отбрасывают эти пакеты, любые ответы
полученные, скорее всего, исходят от брандмауэра или IDS, которые не потрудились проверить
контрольная сумма. Подробнее об этой технике см. https://nmap.org/p60-12.html
--adler32 (Используйте устаревший Adler32 вместо CRC32C для контрольных сумм SCTP).
Просит Nmap использовать устаревший алгоритм Adler32 для вычисления контрольной суммы SCTP.
If --adler32 не указан, используется CRC-32C (Castagnoli). RFC 2960[14] первоначально
определил Adler32 как алгоритм контрольной суммы для SCTP; RFC 4960[7] позже переопределил SCTP.
контрольные суммы для использования CRC-32C. Текущие реализации SCTP должны использовать CRC-32C, но в
для получения ответов от старых, унаследованных реализаций SCTP, может быть предпочтительнее
использовать Adler32.
ВЫВОД
Любой инструмент безопасности полезен ровно настолько, насколько он генерирует выходные данные. Комплексные тесты и
алгоритмы не имеют большого значения, если они не представлены в организованном и понятном виде.
мода. Учитывая количество способов использования Nmap людьми и другим программным обеспечением, ни один
формат может понравиться каждому. Итак, Nmap предлагает несколько форматов, включая интерактивный режим.
для прямого чтения людьми и XML для облегчения анализа программным обеспечением.
Помимо предложения различных форматов вывода, Nmap предоставляет возможности для управления
подробность вывода, а также отладочные сообщения. Типы вывода могут быть отправлены на
стандартный вывод или в именованные файлы, которые Nmap может добавлять или затирать. Выходные файлы могут
также может использоваться для возобновления прерванного сканирования.
Nmap делает вывод в пяти различных форматах. По умолчанию называется интерактивным
выход,. и отправляется на стандартный вывод (stdout) .. Есть также нормальный вывод ,.
который похож на интерактивный, за исключением того, что он отображает меньше информации о времени выполнения и
предупреждения, поскольку ожидается, что он будет проанализирован после завершения сканирования, а не
интерактивно.
Вывод XML. является одним из наиболее важных типов вывода, так как его можно преобразовать в HTML,
легко анализируется программами, такими как графический пользовательский интерфейс Nmap, или импортируется в
базы данных.
Два оставшихся типа вывода - это простой вывод grepable. который включает в себя большинство
информация для целевого хоста в одной строке и sCRiPt KiDDi3 0utPUt. для пользователей, которые
считают себя | <-r4d.
Хотя интерактивный вывод используется по умолчанию и не имеет связанных параметров командной строки,
другие четыре варианта формата используют тот же синтаксис. Они используют один аргумент, а именно
имя файла, в котором должны храниться результаты. Можно указать несколько форматов, но каждый
формат можно указать только один раз. Например, вы можете сохранить нормальный вывод для
ваш собственный обзор при сохранении XML того же сканирования для программного анализа. Вы могли бы сделать
это с опциями -ОХ myscan.xml -на myscan.nmap. Хотя в этой главе используется простой
имена, такие как myscan.xml для краткости, обычно рекомендуются более описательные имена. В
Выбранные имена являются делом личных предпочтений, хотя я использую длинные, которые включают
дату сканирования и пару слов, описывающих сканирование, помещенных в каталог, названный в честь
компания, которую я сканирую.
Хотя эти параметры сохраняют результаты в файлы, Nmap по-прежнему выводит интерактивный вывод на стандартный вывод.
как обычно. Например, команда птар -ОХ myscan.xml цель печатает XML в myscan.xml и
заполняет стандартный вывод такими же интерактивными результатами, как если бы -ОХ
вообще не было указано. Вы можете изменить это, передав символ дефиса в качестве аргумента.
к одному из типов формата. Это заставляет Nmap деактивировать интерактивный вывод и вместо этого
распечатайте результаты в формате, который вы указали для стандартного потока вывода. Итак, команда
птар -ОХ - цель отправит на стандартный вывод только XML-вывод .. Серьезные ошибки все еще могут быть
выводится в обычный поток ошибок, stderr ..
В отличие от некоторых аргументов Nmap, пробел между флагом опции файла журнала (например, -ОХ) и расширение
имя файла или дефис являются обязательными. Если вы опустите флаги и дадите такие аргументы, как -оГ-
or -oXscan.xml, функция обратной совместимости Nmap приведет к созданию
"обычные" формат выходные файлы с именами G- и Xscan.xml соответственно.
Все эти аргументы поддерживают стрфтайм-нравиться. преобразования в имени файла. % H,% M,% S,
% m,% d,% y и% Y точно такие же, как в стрфтайм. % T совпадает с% H% M% S,% R
то же самое, что и% H% M, а% D то же самое, что% m% d% y. %, За которым следует любой другой символ
просто выдает этот символ (%% дает вам символ процента). Так -ОХ 'сканирование-% T-% D.xml' предусматривает
используйте XML-файл с именем в форме scan-144840-121307.xml.
Nmap также предлагает опции для контроля подробности сканирования и добавления в выходные файлы, а не
чем заткнуть их. Все эти варианты описаны ниже.
Nmap Результат Форматы
-на спецификация файла (нормальный выход).
Запрашивает, чтобы обычный вывод был направлен в указанное имя файла. Как обсуждалось выше,
это немного отличается от интерактивного вывода.
-ОХ спецификация файла (Вывод XML).
Запрашивает, чтобы вывод XML был направлен в указанное имя файла. Nmap включает документ
определение типа (DTD), которое позволяет синтаксическим анализаторам XML проверять вывод XML Nmap. Пока это
в первую очередь предназначен для программного использования, он также может помочь людям интерпретировать Nmap XML.
выход. DTD определяет правовые элементы формата и часто перечисляет
атрибуты и значения, которые они могут принимать. Последнюю версию всегда можно получить по адресу
https://svn.nmap.org/nmap/docs/nmap.dtd.
XML предлагает стабильный формат, который легко анализируется программным обеспечением. Бесплатные парсеры XML
доступен для всех основных компьютерных языков, включая C / C ++, Perl, Python и Java.
Люди даже написали привязки для большинства этих языков для обработки вывода Nmap.
и исполнение в частности. Примеры Nmap :: Сканер[15]. а также Nmap :: Parser[16]. в
Perl CPAN. Почти во всех случаях, когда нетривиальное приложение взаимодействует с Nmap,
XML - предпочтительный формат.
Вывод XML ссылается на таблицу стилей XSL, которую можно использовать для форматирования результатов как
HTML. Самый простой способ использовать это - просто загрузить вывод XML в веб-браузер.
например Firefox или IE. По умолчанию это будет работать только на той машине, на которой вы запустили Nmap.
(или аналогично настроенный) из-за жестко заданного пути файловой системы nmap.xsl. Использовать
--webxml or --таблица стилей параметры для создания переносимых файлов XML, которые отображаются как HTML
на любой машине, подключенной к Интернету.
-Операционные системы спецификация файла (НАБОР СЦЕНАРА | 3 ВЫХОДА).
Вывод сценария kiddie похож на интерактивный вывод, за исключением того, что он подвергается постобработке для
лучше подходит для l33t HaXXorZ, который ранее свысока смотрел на Nmap из-за его последовательной
заглавные буквы и орфография. Людям с нарушением юмора следует учитывать, что этот вариант
подшучивал над детишками из сценария, прежде чем обвинить меня в том, что я якобы «помогаю им».
-oG спецификация файла (вывод grepable).
Этот формат вывода рассматривается в последнюю очередь, потому что он устарел. Формат вывода XML:
гораздо более мощный и почти такой же удобный для опытных пользователей. XML - это
стандарт, для которого доступны десятки отличных парсеров, а вывод grepable
мой собственный простой хак. XML является расширяемым для поддержки новых функций Nmap в том виде, в котором они есть
выпущен, хотя мне часто приходится опускать эти функции из вывода grepable из-за отсутствия
место для их размещения.
Тем не менее, вывод с помощью grepable по-прежнему довольно популярен. Это простой формат, в котором перечислены
каждый хост в одной строке и может быть тривиально найден и проанализирован с помощью стандартного Unix
такие инструменты, как grep, awk, cut, sed, diff и Perl. Даже я обычно использую его для разового
тесты выполняются из командной строки. Поиск всех хостов с открытым портом SSH или что
запущены Solaris использует только простой grep для идентификации хостов, подключенных к awk или
вырезать команду, чтобы напечатать нужные поля.
Вывод с возможностью вывода состоит из комментариев (строки, начинающиеся с решетки (#)). и цель
линии. Целевая строка включает комбинацию из шести помеченных полей, разделенных табуляцией.
с двоеточием. Поля: Хост, Порты, Протоколы, Игнорируемое состояние, ОС,
Seq Index, IP ID и статус.
Наиболее важным из этих полей, как правило, является "Порты", в котором приводится подробная информация о каждом из них.
интересный порт. Это список портов, разделенных запятыми. Каждая запись порта
представляет один интересный порт и принимает форму семи разделенных косой чертой (/)
подполя. Эти подполя: номер порта, состояние, протокол, владелец, служба, SunRPC.
информация и информация о версии.
Как и в случае вывода XML, эта страница руководства не позволяет документировать весь формат. А
более подробный взгляд на выходной формат Nmap grepable доступен по адресу
https://nmap.org/book/output-formats-grepable-output.html.
-оА базовое имя (Вывод во все форматы).
Для удобства вы можете указать -оА базовое имя для сохранения результатов сканирования в обычном формате XML,
и сразу grepable форматы. Они хранятся в базовое имя.нмап, базовое имя.xml и
базовое имя.gnmap соответственно. Как и в большинстве программ, перед именами файлов можно ставить
путь к каталогу, например ~ / nmaplogs / foocorp / в Unix или c: \ hacking \ sco в Windows.
многословие и отладка кредита
-v (Увеличьте уровень детализации).
Повышает уровень детализации, заставляя Nmap печатать больше информации о сканировании.
в ходе выполнения. Открытые порты показаны по мере их обнаружения, а оценка времени завершения
предоставляется, когда Nmap считает, что сканирование займет больше нескольких минут. Используйте это дважды или
more для еще большего многословия: -вв, или укажите уровень детализации напрямую, например
-v3..
Большинство изменений затрагивают только интерактивный вывод, а некоторые также влияют на обычный режим и сценарий.
Детский выход. Другие типы вывода предназначены для обработки машинами, поэтому Nmap
может предоставить существенные детали по умолчанию в этих форматах, не утомляя человека
Пользователь. Однако есть несколько изменений в других режимах, в которых размер вывода может быть уменьшен.
по существу, опуская некоторые детали. Например, строка комментария в grepable
вывод, который предоставляет список всех просканированных портов, печатается только в подробном режиме
потому что это может быть довольно долго.
-d (Увеличьте уровень отладки).
Когда даже подробный режим не предоставляет вам достаточно данных, доступна отладка.
чтобы затопить вас гораздо большим! Как и в случае с опцией многословия (-v), отладка включена
с флагом командной строки (-d), а уровень отладки можно увеличить, указав его
многократно,. как в -дд, или установив уровень напрямую. Например, -d9 Наборы
уровень девять. Это наивысший эффективный уровень, на котором будут производиться тысячи строк.
если вы не запустите очень простое сканирование с очень небольшим количеством портов и целей.
Вывод отладки полезен, когда есть подозрение на ошибку в Nmap, или если вы просто
не понимает, что делает Nmap и почему. Поскольку эта функция в основном предназначена для
разработчикам, строки отладки не всегда говорят сами за себя. Вы можете получить что-то вроде:
Значения тайм-аута: srtt: -1 rttvar: -1 to: 1000000 delta 14987 ==> srtt: 14987 rttvar:
С 14987 на: 100000. Если вы не понимаете строку, ваш единственный выход - игнорировать
его, поищите его в исходном коде или запросите помощь в списке разработчиков.
(nmap-dev) .. Некоторые строки говорят сами за себя, но сообщения становятся более неясными, поскольку
уровень отладки увеличен.
--причина (Причины состояния хоста и порта).
Показывает причину, по которой каждый порт установлен в определенное состояние, и причину, по которой каждый хост работает
или вниз. Эта опция отображает тип пакета, который определил порт или хосты.
штат. Например, пакет RST от закрытого порта или эхо-ответ от живого
хозяин. Информация, которую может предоставить Nmap, определяется типом сканирования или пинга. В
SYN сканирование и SYN ping (-sS и -ПС) очень подробны, но сканирование TCP-соединения (-sT)
ограничивается реализацией соединяться системный вызов. Эта функция
автоматически включается опцией отладки (-d). и результаты сохраняются в журнале XML
файлы, даже если этот параметр не указан.
--stats-каждые время (Распечатать периодическую статистику по времени).
Периодически печатает сообщение о статусе времени после каждого интервала время. Время
технические характеристики, описанные в разделе «СРОКИ И ХАРАКТЕРИСТИКИ»; так
например, используйте --stats-каждые 10s чтобы получать обновление статуса каждые 10 секунд. Обновления
выводятся на интерактивный вывод (экран) и вывод XML.
- трассировка пакета (Отслеживание отправленных и полученных пакетов и данных).
Заставляет Nmap печатать сводку каждого отправленного или полученного пакета. Это часто используется
для отладки, но это также ценный способ для новых пользователей понять, что именно
Nmap делает под прикрытием. Чтобы не печатать тысячи строк, вы можете захотеть
укажите ограниченное количество портов для сканирования, например -п20-30. Если вы заботитесь только о
действия подсистемы определения версии, используйте --версия-трассировка вместо. Если только ты
позаботьтесь о трассировке скрипта, укажите --script-трассировка. С - трассировка пакетаты получаешь все
над.
--открытым (Показать только открытые (или, возможно, открытые) порты).
Иногда вас интересуют только порты, к которым вы действительно можете подключиться (открытые), и не
хотите, чтобы результаты были загромождены закрытыми, отфильтрованными и закрытыми | отфильтрованными портами. Выход
настройка обычно выполняется после сканирования с использованием таких инструментов, как grep, awk и Perl,
но эта функция была добавлена из-за большого количества запросов. Указать --открытым только видеть
хосты с хотя бы одним открытым, открытым | фильтруемым или нефильтрованным портом и видят порты только в
эти государства. Эти три состояния рассматриваются как обычно, что означает
что открытые | отфильтрованные и неотфильтрованные могут быть сжаты в счетчики, если есть
подавляющее их количество.
--iflist (Список интерфейсов и маршрутов).
Печатает список интерфейсов и системные маршруты, обнаруженные Nmap. Это полезно для
отладка проблем маршрутизации или неправильной характеристики устройства (например, Nmap, обрабатывающий PPP
подключение как Ethernet).
Прочее выходной кредита
--append-выход (Добавлять в выходные файлы, а не затирать их).
Когда вы указываете имя файла для флага формата вывода, например -ОХ or -на, этот файл
по умолчанию перезаписывается. Если вы предпочитаете сохранить существующее содержимое файла и
добавить новые результаты, указать --append-выход вариант. Все имена выходных файлов
указанное в этом Nmap выполнение затем будет добавлено, а не заторможено. Этот
не работает для XML (-ОХ) сканировать данные, так как результирующий файл обычно не анализируется
как следует, пока вы не отремонтируете его вручную.
--продолжить имя файла (Возобновить прерванное сканирование).
Некоторые обширные запуски Nmap занимают очень много времени - порядка дней. Такие сканы не
всегда доводить до конца. Ограничения могут помешать запуску Nmap во время работы.
часов, сеть может выйти из строя, компьютер, на котором работает Nmap, может пострадать
плановая или незапланированная перезагрузка, или может произойти сбой самого Nmap. Администратор работает
Nmap также может отменить его по любой другой причине, нажав ctrl-C. Перезапуск
сканирование целиком с самого начала может быть нежелательным. Благо, если нормально (-на) Или
съедобный (-oG), пользователь может попросить Nmap возобновить сканирование с
цель, над которой он работал, когда исполнение прекратилось. Просто укажите --продолжить вариант и
передать в качестве аргумента выходной файл normal / grepable. Никаких других аргументов нет
разрешено, поскольку Nmap анализирует выходной файл, чтобы использовать те же файлы, которые были указаны ранее.
Просто вызовите Nmap как птар --продолжить имя файла журнала. Nmap добавит новые результаты в
файлы данных, указанные в предыдущем выполнении. Возобновление не поддерживает XML
выходной формат, потому что объединение двух прогонов в один допустимый файл XML было бы
сложно.
--таблица стилей путь or URL (Установите таблицу стилей XSL для преобразования вывода XML).
Nmap поставляется с XSL. таблица стилей. с именем nmap.xsl. для просмотра или перевода XML
вывод в HTML. Вывод XML включает директиву xml-stylesheet, которая указывает на
nmap.xml, где он был изначально установлен Nmap. Запустите файл XML через XSLT
процессор, такой как xsltproc[17]. для создания HTML-файла. Непосредственное открытие XML
файл в браузере больше не работает, потому что современные браузеры ограничивают расположение
таблица стилей может быть загружена из. Если вы хотите использовать другую таблицу стилей, укажите ее
в качестве аргумента --таблица стилей. Вы должны передать полный путь или URL. Один общий
призыв --таблица стилей https://nmap.org/svn/docs/nmap.xsl. Это сообщает XSLT
процессор для загрузки последней версии таблицы стилей из Nmap.Org. В --webxml
вариант делает то же самое с меньшим набором текста и запоминанием. Загрузка XSL из
Nmap.Org упрощает просмотр результатов на машине, на которой нет Nmap (и, следовательно,
nmap.xsl) установлен. Таким образом, URL-адрес часто более полезен, но локальная файловая система
расположение nmap.xsl используется по умолчанию из соображений конфиденциальности.
--webxml (Загрузите таблицу стилей из Nmap.Org).
Это удобный вариант, не более чем псевдоним для --таблица стилей
https://nmap.org/svn/docs/nmap.xsl.
--no-таблица стилей (Пропустите объявление таблицы стилей XSL из XML).
Укажите эту опцию, чтобы запретить Nmap связывать любую таблицу стилей XSL со своим XML
вывод. Директива xml-stylesheet опущена.
РАЗНОЕ ДОПОЛНИТЕЛЬНЫЕ ОПЦИИ
В этом разделе описаны некоторые важные (и не очень важные) параметры, которые действительно не подходят
где-нибудь еще.
-6 (Включите сканирование IPv6).
Nmap поддерживает IPv6 для самых популярных функций. Сканирование Ping, сканирование портов,
определение версии и движок сценариев Nmap - все поддерживают IPv6. Синтаксис команды
как обычно, за исключением того, что вы также добавляете -6 вариант. Конечно, вы должны использовать
Синтаксис IPv6, если вы указываете адрес, а не имя хоста. Адрес может выглядеть
например 3ffe: 7501: 4819: 2000: 210: f3ff: fe03: 14d0, поэтому рекомендуется использовать имена хостов. Выход
выглядит так же, как обычно, с IPv6-адресом в строке «интересные порты»
единственная раздача IPv6.
Хотя IPv6 не совсем покорил мир, он находит широкое применение в некоторых странах.
(обычно азиатские) страны и большинство современных операционных систем поддерживают его. Чтобы использовать Nmap
с IPv6 как источник, так и цель сканирования должны быть настроены для IPv6. Если
ваш интернет-провайдер (как и большинство из них) не выделяет вам IPv6-адреса, бесплатный туннель
брокеры широко доступны и прекрасно работают с Nmap. Я использую бесплатный туннель IPv6
маклер. служба в http://www.tunnelbroker.net. Другие туннельные брокеры в списке at
Википедия.[18]. Туннели 6to4 - еще один популярный бесплатный подход.
В Windows сканирование IPv6 с прямым сокетом поддерживается только на устройствах Ethernet (не
туннели), и только в Windows Vista. и позже. Использовать - непривилегированный. вариант в
другие ситуации.
-A (Параметры агрессивного сканирования).
Этот параметр включает дополнительные расширенные и агрессивные параметры. В настоящее время это позволяет
Обнаружение ОС (-O), проверка версий (-sV), сканирование скриптов (-СК) и traceroute
(--traceroute) .. Дополнительные функции могут быть добавлены в будущем. Дело в том, чтобы включить
полный набор параметров сканирования без необходимости запоминать большой набор
флаги. Однако, поскольку сканирование сценариев с настройкой по умолчанию считается навязчивым,
вы не должны использовать -A против целевых сетей без разрешения. Только этот вариант
включает функции, а не параметры времени (например, -T4) или варианты детализации (-v) тот
вы тоже можете захотеть. Параметры, требующие привилегий (например, root-доступ), такие как ОС
обнаружение и трассировка будут включены только в том случае, если эти привилегии доступны.
--датадир имя директора (Укажите местоположение пользовательского файла данных Nmap).
Nmap получает некоторые специальные данные во время выполнения в файлах с именами nmap-service-probes,
службы nmap, протоколы nmap, nmap-rpc, nmap-mac-prefixes и nmap-os-db. Если
было указано расположение любого из этих файлов (с помощью --сервисb or
--versiondb options), это местоположение используется для этого файла. После этого Nmap ищет
эти файлы в каталоге, указанном с помощью --датадир вариант (если есть). Любые файлы
не найдены там, ищутся в каталоге, указанном НМАПДИР.
переменная окружения. Далее идет ~ / .nmap. для реальных и эффективных UID; или в Windows,
Главная\ AppData \ Roaming \ nmap (где Главная домашний каталог пользователя, например
C: \ Пользователи \ пользователь). Далее следует расположение исполняемого файла nmap и того же
местоположение с добавленным ../share/nmap. Затем скомпилированное местоположение, такое как
/ usr / local / share / nmap или / usr / share / nmap.
--сервисb Services файл (Укажите файл пользовательских услуг).
Просит Nmap использовать указанный файл служб, а не файл данных nmap-services
который поставляется с Nmap. Использование этой опции также вызывает быстрое сканирование (-F) быть использованным. Видеть
описание для --датадир для получения дополнительной информации о файлах данных Nmap.
--versiondb СЕРВИС Зонды файл (Укажите файл настраиваемых сервисных зондов).
Просит Nmap использовать указанный файл служебных зондов, а не nmap-service-probes
файл данных, который поставляется с Nmap. См. Описание для --датадир чтобы получить больше информации
в файлах данных Nmap.
--send-эт (Использовать прямую отправку через Ethernet).
Просит Nmap отправлять пакеты на уровне необработанного Ethernet (канала передачи данных), а не на более высоком уровне.
IP (сетевой) уровень. По умолчанию Nmap выбирает тот, который обычно лучше всего подходит для
платформа, на которой он работает. Необработанные сокеты (уровень IP). обычно наиболее эффективны для
Машины Unix, в то время как Ethernet-фреймы необходимы для работы Windows, так как
Microsoft отключила поддержку сырых сокетов. Nmap по-прежнему использует необработанные IP-пакеты в Unix, несмотря на
этот вариант, когда нет другого выбора (например, при подключении не через Ethernet).
--send-ip (Отправить на уровне необработанного IP-адреса).
Просит Nmap отправлять пакеты через необработанные IP-сокеты, а не через Ethernet нижнего уровня.
кадры. Это дополнение к --send-эт вариант обсуждался ранее.
- привилегированный (Предположим, что у пользователя есть все права).
Указывает Nmap просто предположить, что у него достаточно привилегий для отправки сырых сокетов,
анализ пакетов и аналогичные операции, для которых обычно требуются привилегии суперпользователя. в Unix
системы. По умолчанию Nmap завершает работу, если требуются такие операции, но получить Не
нулю. - привилегированный полезен с возможностями ядра Linux и аналогичными системами, которые
может быть настроен так, чтобы позволить непривилегированным пользователям выполнять сканирование сырых пакетов. Обязательно
укажите этот флаг опции перед любыми флагами для опций, требующих привилегий (SYN
сканирование, определение ОС и т. д.). В NMAP_PRIVILEGED. переменная окружения может быть установлена как
эквивалентная альтернатива - привилегированный.
- непривилегированный (Предположим, что у пользователя нет прав на использование сырых сокетов).
Этот вариант противоположен - привилегированный. Он сообщает Nmap относиться к пользователю как
отсутствие сетевых сырых сокетов и привилегий сниффинга. Это полезно для тестирования,
отладки, или когда необработанные сетевые функции вашей операционной системы каким-то образом
сломанный. В NMAP_UNPRIVILEGED. переменная окружения может быть установлена как эквивалент
Альтернативой - непривилегированный.
--релиз-память (Освободите память перед выходом).
Эта опция полезна только для отладки утечки памяти. Это заставляет Nmap выпускать
выделенная память непосредственно перед завершением работы, чтобы было легче обнаружить фактические утечки памяти.
Обычно Nmap пропускает это, поскольку ОС делает это в любом случае после завершения процесса.
-V; --версия (Номер версии для печати).
Печатает номер версии Nmap и закрывается.
-h; --Помогите (Распечатать сводную страницу справки).
Печатает краткий экран справки с наиболее распространенными флагами команд. Запуск Nmap без
любые аргументы делают то же самое.
проверка ВЗАИМОДЕЙСТВИЕ
Во время выполнения Nmap фиксируются все нажатия клавиш. Это позволяет вам взаимодействовать
с программой без прерывания и перезапуска. Некоторые специальные клавиши изменятся
варианты, в то время как любые другие клавиши будут распечатывать сообщение о состоянии, сообщающее вам о сканировании.
Соглашение заключается в том, что в нижнем регистре письмена недавнее увеличение объем печати и верхний регистр
письмена снизилось печать. Вы также можете нажать '?' за помощью.
v / V
Увеличить / уменьшить уровень детализации
d / D
Увеличение / уменьшение уровня отладки
p / P
Включение / выключение отслеживания пакетов
?
Распечатать экран справки по взаимодействию во время выполнения
Что-нибудь еще
Распечатайте такое статусное сообщение:
Статистика: прошло 0:00:07; 20 хостов завершены (1 вверх), 1 проходит сканирование служб
Время сканирования службы: выполнено около 33.33%; ETC: 20:57 (осталось 0:00:12)
ПРИМЕРЫ
Вот несколько примеров использования Nmap, от простого и рутинного до немного более сложного.
и эзотерический. Некоторые фактические IP-адреса и доменные имена используются для большего удобства.
конкретный. Вместо них следует подставить адреса / имена из собственный сеть.
Хотя я не думаю, что сканирование портов в других сетях является или должно быть незаконным, некоторые сети
администраторы не ценят нежелательное сканирование своих сетей и могут жаловаться.
Лучше всего сначала получить разрешение.
В целях тестирования у вас есть разрешение на сканирование хоста scanme.nmap.org .. Это
разрешение включает только сканирование через Nmap, а не тестирование эксплойтов или отказ в обслуживании
атаки. Чтобы сохранить пропускную способность, не запускайте более десятка сканирований
этот хозяин в день. Если этот бесплатный целевой сервис сканирования используется неправильно, он будет отключен.
и Nmap сообщит «Не удалось разрешить данное имя хоста / IP: scanme.nmap.org». Эти
разрешения также применяются к хостам scanme2.nmap.org, scanme3.nmap.org и т. д., хотя
эти хосты в настоящее время не существуют.
птар -v scanme.nmap.org.
Эта опция сканирует все зарезервированные TCP-порты на компьютере scanme.nmap.org. В -v вариант
включает подробный режим.
птар -sS -O scanme.nmap.org/24.
Запускает скрытое сканирование SYN для каждой машины, которая находится наверху из 256 IP-адресов на
сеть класса C, в которой находится Scanme. Он также пытается определить, какие операционные
система работает на каждом запущенном хосте. Для этого требуются привилегии root
из-за сканирования SYN и обнаружения ОС.
птар -sV -p 22,53,110,143,4564 198.116.0-255.1-127.
Запускает перечисление хостов и сканирование TCP в первой половине каждого из 255 возможных
восьмибитные подсети в адресном пространстве 198.116 класса B. Это проверяет, работают ли системы
SSH, DNS, POP3 или IMAP на их стандартных портах или что-либо на порте 4564. Для любого из
эти порты открыты, определение версии используется для определения того, какое приложение
работает.
птар -v -iR 100000 Рп -p 80.
Предлагает Nmap случайным образом выбрать 100,000 80 хостов и просканировать их на предмет наличия веб-серверов (порт XNUMX). Хозяин
перечисление отключено с помощью Рп с момента первой отправки пары зондов, чтобы определить,
узел работает - это расточительно, если вы все равно проверяете только один порт на каждом целевом узле.
птар Рп -p80 -ОХ журналы / pb-port80scan.xml -oG журналы / pb-port80scan.gnmap 216.163.128.20/20.
Это сканирует 4096 IP-адресов на наличие любых веб-серверов (без проверки связи) и сохраняет вывод в
grepable и XML-форматы.
Nmap КНИГА
Хотя это справочное руководство подробно описывает все параметры Nmap для материалов, оно не может полностью продемонстрировать
как применить эти функции для быстрого решения реальных задач. Для этого мы выпустили Nmap.
Сетевое сканирование: официальное руководство проекта Nmap по обнаружению сети и безопасности
Сканирование. Темы включают подрыв межсетевых экранов и систем обнаружения вторжений, оптимизацию
Производительность Nmap и автоматизация общих сетевых задач с помощью Nmap Scripting Engine.
Подсказки и инструкции предоставляются для типичных задач Nmap, таких как взятие сети
инвентаризация, тестирование на проникновение, обнаружение несанкционированных точек беспроводного доступа и аннулирование
эпидемии сетевых червей. Примеры и диаграммы показывают реальную связь по проводам. Более
более половины книги доступно бесплатно в Интернете. Видеть https://nmap.org/book для большего
Информация.
Используйте nmap онлайн с помощью сервисов onworks.net