From 0d47952611198ef6b1163f366dc03922d20b1475 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Wed, 17 Apr 2024 09:42:04 +0200 Subject: Adding upstream version 7.94+git20230807.3be01efb1+dfsg. Signed-off-by: Daniel Baumann --- docs/man-xlate/nmap-man-ru.xml | 3658 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 3658 insertions(+) create mode 100644 docs/man-xlate/nmap-man-ru.xml (limited to 'docs/man-xlate/nmap-man-ru.xml') diff --git a/docs/man-xlate/nmap-man-ru.xml b/docs/man-xlate/nmap-man-ru.xml new file mode 100644 index 0000000..82c3d4e --- /dev/null +++ b/docs/man-xlate/nmap-man-ru.xml @@ -0,0 +1,3658 @@ + + +
+ + Справочное руководство Nmap (Man Page) + +man pagereference guide +reference guide (man page) + + + nmap + 1 + Nmap + Справочное руководство Nmap + + + nmap + Утилита для исследования сети и сканер портов + + + + + nmap + + Тип сканирования + + + Опции + + + цель сканирования + + + + + Описание + Nmapdescription of + + + Этот документ описывает версию Nmap 4.22SOC8. Последняя документация + доступна на английском языке по ссылке + . + + Nmap (Network Mapper) - это утилита с открытым исходным кодом для исследования сети и + проверки безопасности. Она была разработана для быстрого сканирования больших сетей, хотя прекрасно справляется + и с единичными целями. Nmap использует "сырые" IP пакеты оригинальным способом, чтобы определить какие хосты + доступны в сети, какие службы (название приложения и версию) они предлагают, какие операционные системы (и версии + ОС) они используют, какие типы пакетных фильтров/брандмауэров используются и еще множество других характеристик. + В то время, как Nmap обычно используется для проверки безопасности, многие системные администраторы находят ее + полезной для обычных задач, таких как контролирование структуры сети, управление расписаниями запуска + служб и учет времени работы хоста или службы. + + Выходные данные Nmap это список просканированных целей с дополнительной информацией по каждой из них в зависимости + от заданных опций. Ключевой информацией является таблица важных портов.ports“interesting” + Эта таблица содержит номер порта, протокол, имя службы и состояние. Состояние может иметь значение + open (открыт), filtered (фильтруется), + closed (закрыт) или unfiltered (не + фильтруется). + Открытopen port state + означает, что приложение на целевой машине готово для установки соединения/принятия пакетов на этот порт. + Фильтруетсяfiltered port state + означает, что брандмауэр, сетевой фильтр, или какая-то другая помеха в сети блокирует порт, и Nmap не может установить + открыт этот порт или закрыт. + Закрытыеclosed port state + порты не связаны ни с каким приложением, но могут быть открыты в любой момент. Порты расцениваются как + не фильтрованныеunfiltered port state, когда они отвечают на запросы Nmap, но Nmap не может определить открыты они или закрыты. Nmap выдает комбинации + открыт|фильтруетсяopen|filtered port state + и закрыт|фильтруетсяclosd|filtered port state, когда не может определить, какое из этих двух + состояний описывает порт. Эта таблица также может предоставлять детали о версии программного обеспечения, если это + было запрошено. Когда осуществляется сканирование по IP протоколу (), Nmap предоставляет + информацию о поддерживаемых протоколах, а не об открытых портах. + + В дополнение к таблице важных портов Nmap может предоставлять дальнейшую информацию о целях: преобразованные + DNS имена, предположение об используемой операционной системе, типы устройств и MAC адреса. + + Типичное сканирование с использованием Nmap показано в . Единственные аргументы, использованные в этом примере - это , для определения версии ОС, + сканирования с использованием скриптов и трассировки; для более быстрого выполнения; затем + два целевых хоста. + +Типичный пример сканирования с помощью Nmap +example of + +# nmap -A -T4 scanme.nmap.org playground + +Starting Nmap ( https://nmap.org ) +Interesting ports on scanme.nmap.org (64.13.134.52): +(The 1663 ports scanned but not shown below are in state: filtered) +PORT STATE SERVICE VERSION +22/tcp open ssh OpenSSH 3.9p1 (protocol 1.99) +53/tcp open domain +70/tcp closed gopher +80/tcp open http Apache httpd 2.0.52 ((Fedora)) +113/tcp closed auth +Device type: general purpose +Running: Linux 2.4.X|2.5.X|2.6.X +OS details: Linux 2.4.7 - 2.6.11, Linux 2.6.0 - 2.6.11 + +Interesting ports on playground.nmap.org (192.168.0.40): +(The 1659 ports scanned but not shown below are in state: closed) +PORT STATE SERVICE VERSION +135/tcp open msrpc Microsoft Windows RPC +139/tcp open netbios-ssn +389/tcp open ldap? +445/tcp open microsoft-ds Microsoft Windows XP microsoft-ds +1002/tcp open windows-icfw? +1025/tcp open msrpc Microsoft Windows RPC +1720/tcp open H.323/Q.931 CompTek AquaGateKeeper +5800/tcp open vnc-http RealVNC 4.0 (Resolution 400x250; VNC port: 5900) +5900/tcp open vnc VNC (protocol 3.8) +MAC Address: 00:A0:CC:63:85:4B (Lite-on Communications) +Device type: general purpose +Running: Microsoft Windows NT/2K/XP +OS details: Microsoft Windows XP Pro RC1+ through final release +Service Info: OSs: Windows, Windows XP + +Nmap finished: 2 IP addresses (2 hosts up) scanned in 88.392 seconds + + + +Самую новую версию Nmap можно скачать с . Самая новая версия страницы справки Nmap + (man page) расположена по адресу . + + + + + + Замечания о переводе + + Гуз Александр (Guz Alexander) kalimatas@gmail.com + + Этот русский вариант Справочного Руководства Nmap является переводом версии 6184 оригинальной английской версии. Хотя я надеюсь, что данный перевод + сделает Nmap более доступным для русскоязычных пользователей, я не могу гарантировать, что он является полным или + является переводом последней официальной английской версии. Эту работу можно модифицировать и(или) распространять + на основе лицензии Creative + Commons Attribution License. + + Марк Бруцкий (Mark Brutsky) hackcat.dev@gmail.com + + Этот русский вариант Справочного Руководства Nmap является переводом версии 6184 оригинальной английской версии. Хотя я надеюсь, что данный перевод + сделает Nmap более доступным для русскоязычных пользователей, я не могу гарантировать, что он является полным или + является переводом последней официальной английской версии. Эту работу можно модифицировать и(или) распространять + на основе лицензии Creative + Commons Attribution License. + + + + + + Сводка опций + +Эта сводка опций выводится на экран, когда Nmap запускается без каких-либо опций; последняя версия всегда доступна +здесь . +Эта сводка помогает людям запомнить наиболее употребляемые опции, но она не может быть заменой документации, +предоставленной в данном руководстве. Некоторые опции не включены в этот список. + + + +summary of options +command-line optionsof Nmap + + +Nmap 4.76 ( https://nmap.org ) +Использование: nmap [Тип(ы) Сканирования] [Опции] {цель сканирования} +ОПРЕДЕЛЕНИЕ ЦЕЛИ СКАНИРОВАНИЯ: + Можно использовать сетевые имена, IP адреса, сети и т.д. + Пример: scanme.nmap.org, microsoft.com/24, 192.168.0.1; 10.0.0-255.1-254 + -iL <имя_входного_файла>: Использовать список хостов/сетей из файла + -iR <количество_хостов>: Выбрать произвольные цели + --exclude <хост1[,хост2][,хост3],...>: Исключить хосты/сети + --excludefile <имя_файла>: Исключить из сканирования список хостов/сетей, находящийся в файле +ОБНАРУЖЕНИЕ ХОСТОВ: + -sL: Сканирование с целью составления списка - просто составить список целей для сканирования + -sP: Пинг сканирование - просто определить, работает ли хост + -PN: Расценивать все хосты как работающие - пропустить обнаружение хостов + -PS/PA/PU [список_портов]: TCP SYN/ACK или UDP пингование заданных хостов + -PE/PP/PM: Пингование с использованием ICMP-эхо запросов, запросов временной метки и сетевой маски + -PO [список_протоколов]: Пингование с использованием IP протокола + -n/-R: Никогда не производить DNS разрешение/Всегда производить разрешение [по умолчанию: иногда] + --dns-servers <сервер1[,сервер2],...>: Задать собственные DNS сервера для разрешения доменных имён + --system-dns: Использовать системный DNS-преобразователь +РАЗЛИЧНЫЕ ПРИЕМЫ СКАНИРОВАНИЯ: + -sS/sT/sA/sW/sM: TCP SYN/с использованием системного вызова Connect()/ACK/Window/Maimon сканирования + -sU: UDP сканирование + -sN/sF/sX: TCP Null, FIN и Xmas сканирования + --scanflags <флаги>: Задать собственные TCP флаги + -sI <зомби_хост[:порт]>: "Ленивое" (Idle) сканирование + -sO: Сканирование IP протокола + -b <FTP_хост>: FTP bounce сканирование + --traceroute: Трассировка пути к хосту + --reason: Выводить причину, почему Nmap установил порт в определенном состоянии +ОПРЕДЕЛЕНИЕ ПОРТОВ И ПОРЯДКА СКАНИРОВАНИЯ: + -p <диапазон_портов>: Сканирование только определенных портов + Пример: -p22; -p1-65535; -p U:53,111,137,T:21-25,80,139,8080 + -F: Быстрое сканирование - Сканирование ограниченного количества портов + -r: Сканировать порты последовательно - не использовать случайный порядок портов + --top-ports <количество_портов>: Сканировать <количество_портов> наиболее распространенных портов + --port-ratio <рейтинг>: Сканировать порты с рейтингом большим, чем <рейтинг> +ОПРЕДЕЛЕНИЕ СЛУЖБ И ИХ ВЕРСИЙ: + -sV: Исследовать открытые порты для определения информации о службе/версии + --version-intensity <уровень>: Устанавливать от 0 (легкое) до 9 (пробовать все запросы) + --version-light: Ограничиться наиболее легкими запросами (интенсивность 2) + --version-all: Использовать каждый единичный запрос (интенсивность 9) + --version-trace: Выводить подробную информацию о процессе сканирования (для отладки) +СКАНИРОВАНИЕ С ИПОЛЬЗОВАНИЕМ СКРИПТОВ: + -sC: эквивалентно опции --script=default + --script=<Lua скрипты>: <Lua скрипты> - это разделенный запятыми список директорий, файлов скриптов или + категорий скриптов + --script-args=<имя1=значение1,[имя2=значение2,...]>: Передача аргументов скриптам + --script-trace: Выводить все полученные и отправленные данные + --script-updatedb: Обновить базу данных скриптов +ОПРЕДЕЛЕНИЕ ОС: + -O: Активировать функцию определения ОС + --osscan-limit: Использовать функцию определения ОС только для "перспективных" хостов + --osscan-guess: Угадать результаты определения ОС +ОПЦИИ УПРАВЛЕНИЯ ВРЕМЕНЕМ И ПРОИЗВОДИТЕЛЬНОСТЬЮ: + Опции, принимающие аргумент <время>, задаются в миллисекундах, пока вы не добавите 's' (секунды), 'm' (минуты), + или 'h' (часы) к значению (напр. 30m). + -T[0-5]: Установить шаблон настроек управления временем (больше - быстрее) + --min-hostgroup/max-hostgroup <кол_хостов>: Установить размер групп для параллельного сканирования + --min-parallelism/max-parallelism <количество_запросов>: Регулирует распараллеливание запросов + --min-rtt-timeout/max-rtt-timeout/initial-rtt-timeout <время>: Регулирует время ожидания ответа на запрос + --max-retries <количество_попыток>: Задает максимальное количество повторных передач запроса + --host-timeout <время>: Прекращает сканирование медленных целей + --scan-delay/--max-scan-delay <время>: Регулирует задержку между запросами + --min-rate <число>: Посылать запросы с интенсивностью не меньше чем <число> в секунду + --max-rate <число>: Посылать запросы с интенсивностью не больше чем <число> в секунду +ОБХОД БРАНДМАУЭРОВ/IDS: + -f; --mtu <значение>: Фрагментировать пакеты (опционально с заданным значениме MTU) + -D <фикт_хост1,фикт_хост2[,ME],...>: Маскировка сканирования с помощью фиктивных хостов + -S <IP_адрес>: Изменить исходный адрес + -e <интерфейс>: Использовать конкретный интерфейс + -g/--source-port <номер_порта>: Использовать заданный номер порта + --data-length <число>: Добавить произвольные данные к посылаемым пакетам + --ip-options <опции>: Посылать пакет с заданным ip опциями + --ttl <значение>: Установить IP поле time-to-live (время жизни) + --spoof-mac <MAC_адрес/префикс/название производителя>: Задать собственный MAC адрес + --badsum: Посылать пакеты с фиктивными TCP/UDP контрольными суммами +ВЫВОД РЕЗУЛЬТАТОВ: + -oN/-oX/-oS/-oG <файл>: Выводить результаты нормального, XML, s|<rIpt kIddi3, + и Grepable формата вывода, соответственно, в заданный файл + -oA <базовове_имя_файла>: Использовать сразу три основных формата вывода + -v: Увеличить уровень вербальности (задать дважды или более для увеличения эффекта) + -d[уровень]: Увеличить или установить уровень отладки (до 9) + --open: Показывать только открытые (или возможно открытые) порты + --packet-trace: Отслеживание принятых и переданных пакетов + --iflist: Вывести список интерфейсов и роутеров (для отладки) + --log-errors: Записывать ошибки/предупреждения в выходной файл нормального режима + --append-output: Добавлять выходные данные в конец, а не перезаписывать выходные файлы + --resume <имя_файла>: Продолжить прерванное сканирование + --stylesheet <путь/URL>: Устанавливает XSL таблицу стилей для преобразования XML вывода в HTML + --webxml: Загружает таблицу стилей с Nmap.Org + --no-stylesheet: Убрать объявление XSL таблицы стилей из XML +РАЗЛИЧНЫЕ ОПЦИИ: + -6: Включить IPv6 сканирование + -A: Активировать функции определения ОС и версии, сканирование с использованием скриптов и трассировку + --datadir <имя_директории>: Определяет место расположения файлов Nmap + --send-eth/--send-ip: Использовать сырой уровень Ethernet/IP + --privileged: Подразумевать, что у пользователя есть все привилегии + --unprivileged: Подразумевать, что у пользователя нет привилегий для использования сырых сокетов + -V: Вывести номер версии + -h: Вывести эту страницу помощи +ПРИМЕРЫ: + nmap -v -A scanme.nmap.org + nmap -v -sP 192.168.0.0/16 10.0.0.0/8 + nmap -v -iR 10000 -PN -p 80 +ДЛЯ СПРАВКИ ПО ДРУГИМ ОПЦИЯМ, ОПИСАНИЙ И ПРИМЕРОВ СМОТРИТЕ MAN СТРАНИЦУ + + + + + + + + + + + Определение цели сканирования + target specification + +В командной строке Nmap все, что не является опцией (или аргументом опции), рассматривается как цель +сканирования. В простейшем случае для сканирования используется IP адрес или сетевое имя целевой машины. + +Иногда необходимо просканировать целую сеть. Для этого Nmap поддерживает CIDR адресацию. CIDR (Classless Inter-Domain Routing) +Вы можете добавить +/кол-во бит к IP адресу или сетевому имени и Nmap просканирует каждый 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 сделает абсолютно то же самое. Зная, что IP адрес scanme.nmap.org 64.13.134.52, при записи типа +scanme.nmap.org/16 будет произведено сканирование 65,536 IP адресов между 64.13.0.0 и 64.13.255.255. Наименьшее +допустимое значение /0, при котором будет просканирован весь Интернет. Наибольшее значение /32, при котором будет +просканирован только заданный хост или IP адрес, т.к. все адресные биты заблокированы. + +address ranges +CIDR нотация коротка, однако не всегда достаточно гибка. Например, вы хотите просканировать +192.168.0.0/16, но пропустить все IP-адреса, оканчивающиеся на .0 или .255, т.к. обычно это широковещательные адреса. +Nmap может осуществить такое сканирование путем задания диапазонов в октетах. Вместо определния обычного IP адреса, вы +можете определить для каждого октета либо разделенный запятыми список чисел, либо диапазон. Например, +192.168.0-255.1-254 пропустит все адреса в диапазоне оканчивающиеся на .0 и .255. Диапазоны не обязательно задавать +только в последних октетах: при записи 0-255.0-255.13.37 будет произведено сканирование всех адресов в Интернете +оканчивающихся на 13.37. Такой тип сканирования может быть полезен для исселедования просторов Интернета. + +IPv6 адреса могут быть определны только в форме, полностью соответствующей правильной форме записи IPv6 адресов. +CIDR и использование диапазонов в октетах не применимо к IPv6 адресам, т.к. они редко используются. + +Вы можете передавать в командной строке Nmap различные варианты определения целей, не обязательно одного типа. +Команда nmap +scanme.nmap.org 192.168.0.0/16 10.0.0,1,3-7.0-255 сделает то, что вы ожидаете. + +Цели сканирования обычно задаются в командной строке, и существуют различные опции контроля выбора целей: + + + + + (Ввод из списка) + + target specificationfrom list + + + Считывает цели из имя_файла. Хотя передача большого списка хостов для + сканирования является обычным явлением, это не удобно. Например, ваш DHCP сервер передают вам список из + 10,000 используемых им на данный момент адресов, и вы хотите его просканировать. Или, возможно, вы хотите + просканировать все IP адреса, кроме переданных им, чтобы выявить несанкционированное + использование статических IP адресов. Просто сгенерируйте список хостов для сканирования и передайте + имя файла в Nmap как аргумент для опции. Записи в файле могут находиться в любой + приемлимой для Nmap форме (IP адреса, сетевые имена, CIDR, IPv6, или диапазоны в октетах). Каждая запись + должна быть отделена пробелом или несколькими, символами табуляции либо символами перехода на новую строку. + Вы можете передать в качестве аргумента дефис(-) как имя файла, если + хотите, чтобы Nmap считывал список хостов из стандартного ввода, а не из файла. + + + + + + (Выбирает произвольные цели) + + random targets + target specificationat random + + + Для сканирования в пределах всего Интернета или каких-либо исследований, вам, возможно, понадобится + выбрать цели произвольно. Аргумент кол-во хостов определяет сколько необходимо + сгенерировать IP адресов. Неподходящие IP адреса, такие как частные, широковещательные или нелокализованные + диапазоны адресов автоматически пропускаются. Аргумент 0 может быть + передан для бесконечного сканирования. Имейте в виду, что некоторым системным администраторам может не + понравиться неразрешенное сканирование их сетей и они могут пожаловаться. Используйте эту опцию на свой страх + и риск! Если в дождливый денек вам будет скучно, попробуйте команду + nmap -sS -PS80 -iR 0 -p 80 + example of + example of + example of + для сканирования произвольных веб-серверов. + + + + + + (Исключить хосты/сети) + + excluding targets + + + Определяет разделенный запятыми список целей, которые необходимо исключить из сканирования, даже если + они являются частью заданного вами диапазона сканирования. Передаваемый список использует стандартный + синтаксис Nmap, поэтому может содержать сетевые имена, CIDR адресацию, диапазоны в октетах и т.д. Эта + опция может быть полезна, если сеть, которую вы хотите просканировать, содержит сервера или системы, + негативно реагирующие на сканирование портов, или подсети, администрируемые другими людьми. + + + + + + (Исключить список из файла) + + + + Эта опция делает то же самое, что и , за исключением того, что цели для + исключения находятся в разделенном пробелами, символами табуляции или символами перехода на новую строку + файле, а не в командной строке. + + + + + + + Обнаружение хостов + host discovery + + Одна из первейших задач при исследовании любой сети это сократить (иногда довольно большой) набор IP диапазонов + до списка активных или интересных хостов. Сканирование каждого порта каждого IP адреса медленно и необязательно. + Конечно же то, что делает хост интересным для исселедования во многом определяется целями сканирования. Сетевые + администраторы возможно будут заинтересованы только в хостах, на которых запущена определенная служба, в то время + как тем, кого интересует безопасность, будут интересны все устройства с IP адресами. Задачи администраторов по + обнаружению работающих хостов в сети могут быть удовлетворены обычным ICMP пингом, людям же, которые тестируют + способность сети противостоять атакам из вне, необходимо использовать разнообразные наборы запросов с целью обхода + брандмауэра. + + Посколько задачи, требующие обнаружения хостов столь различны, Nmap предоставляет большое разнообразие опций + для различных методов. Задачу обнаружения хостов иногда называют пинг сканированием (ping scan), однако она намного + превосходит использование обычных ICMP запросов ассоциирующихся с вездесущими + ping утилитами. Пользователи могут полностью пропустить шаг пинг + сканирования с помощью опции сканирования с целью составления списка () или просто отключив его + (), или сканировать сеть с помощью произвольных комбинаций мультипортовых TCP SYN/ACK, UDP и + ICMP запросов. Целью всех этих запросов является получение ответов, указывающих, что IP адрес в настоящее время + активен (используется хостом или сетевым устройством). В большинстве сетей лишь небольшой процент IP адресов + активен постоянно. Это особенно характерно для адресных пространств вида 10.0.0.0/8. Такие сети + имеют 16 млн. IP адресов, но я видел, как они используются компаниями, в которых не более тысячи машин. Функция + обнаружения хостов может найти эти машины в этом необъятном море IP адресов. + + Если не задано никаких опций обнаружения хостов, то Nmap посылает TCP ACK пакет на порт 80 и запрос на ICMP + эхо ответ кажодй целевой машине. Исключение составляет ARP сканировании всех целей в сети. Для непривилегированных + пользователей Unix оболочки, вместо ACK пакета посылается SYN используя системный вызов + connectunprivileged userslimitations of + Эти умолчания равнозначны опциям . Такое сканирование достаточно для локальных сетей, + но для исследования безопасности необходимо использовать более сложные наборы запросов. + + + Опции (определяющие тип пинг сканирования) могут комбинироваться. Вы можете увеличить + шансы обхода строго брандмауэра посылая множество запросов различных типов, используя различные TCP порты/флаги и + ICMP коды. Также имейте в виду, что даже если вы определите различные опции, по умолчанию + применительно к целям локальной сети будет производиться и ARP сканирование + (), т.к. + оно почти всегда быстрее и более эффективно. + + По умолчанию после обнаружения хостов Nmap начинает сканирование портов каждой активной машины. Так будет, + даже если вы укажите на использование нестандартных методов обнаружения хостов, например, с использованием + UDP запросов (). Прочтите об опции , чтобы узнать, как выполнить только + обнаружение хостов, или используйте опцию , чтобы пропустить обнаружение хостов и осуществить + сканирование портов всех целевых машин. С помощью следующих опций можно настраивать функцию обнаружения хостов: + + + + + + + (Сканирование с целью составления списка) + + list scan + + + Это тип сканирования является "упрощенной" версией функции обнаружения хостов, при помощи которого + просто будет создан список хостов заданной сети без посылки каких-либо пакетов целевым машинам. По умолчанию + Nmap все же будет осуществлять обратное разрешение DNS с целью узнавания имен хостов. Часто бывает + удивительно, как много полезной информации могут содержать обычные имена хостов. Например, + fw.chi это имя брандмауэра одной Чикагской компании. + DNSrecords as source of information + В конце Nmap также сообщает общее количество IP адресов. Этот тип сканирования также является хорошим способом + проверить, что вы действительно знаете IP адреса необходимых вам целей. Если имена хостов содержат неизвестные + вам доменные имена, то стоит провести дальнейшее исследование, чтобы избежать сканирования сети не той + компании, которая вам нужна. + + Т.к. целью является просто составление списка целевых хостов, то опции с большим уровнем + функциональности, такие как сканирование портов, определение ОС или пинг сканирование не могут сочетаться с + рассматриваемой опцией. Если вы хотите отключить пинг сканирование, но хотите использовать опции с таким + высоким уровнем функциональности, то почитайте об опции . + + + + + + (Пинг сканирование) + + ping scan + + + Эта опция указывает Nmap произвести пинг сканирование (определение хостов), а затем вывести список + доступных хостов, т.е. тех, которые ответили на запросы. Определение маршрутов и NSE скрипты также + используются, если необходимо, однако дальнейшее тестирование (как сканирование портов или определение ОС) + не производится. По умолчанию эта опция считается как бы на один шаг более тщательной, чем сканирование + с целью составления простого списка хостов, и может быть использована в этих же целях. Она позволяет + произвести исследование целевой сети без привлечения внимания. Знание, какие хосты в сети в данный момент + работают, для атакующих ценне, чем просто список IP адресов и сетевых имен, предоставляемых + опцией -sL. + + Эта опция также полезна системным администраторам. Она может быть использована для подсчета + количества работающих в сети машин или мониторинга доступности сервера. Это часто называют "пинг чисткой" + (ping sweep) и результаты, предоставляемые этой опцией, заслуживают больше доверия, чем обычное пингование + широковещательных адресов, т.к. большинство хостов не отвечают на подобные запросы. + + По умолчанию опцией посылаются запрос на ICMP это ответ и TCP ACK пакет на порт + 80. Когда используется непривилегированным пользователем, посылается только SYN пакет + (используя системные вызов connect) на порт 80 целевой машины. + Когда привилегированный пользователь производит сканирование целей локальной сети, то используются ARP + запросы до тех пор, пока не будет задано . Для большей гибкости опция + может быть скомбинирована с любой из опций (за исключением + ). Если используется какой-либо из этих типов запросов и опции для задания номеров + портов, то запросы по умолчанию (ACK и это ответы) опускаются. Когда между машиной с Nmap и целевой сетью + расположен строгий брандмауэр, то рекомедуется использование таких расширенных методов сканирования. + Иначе некоторые из хостов могут быть не определены, т.к. брандмауэр заблокировал запрос или ответ. + + + + + + + + (Не использовать пинг сканирование) + + host discoverydisabling + + + Указывает Nmap полностью пропустить этап обнаружения хостов. Обычно, Nmap использует этот этап для + обнаружения активных машин, к которым можно применить более углубленное сканирование. По умолчанию Nmap + производит углубленное сканирование, такое как сканирование портов, определение версии или определение ОС + только обнаруженных работающих хостов. После отключения этапа обнаружения хостов опцией , + Nmap будет производить сканирование каждого заданого целевого IP адреса. + Так что, если для сканирования будет определена сеть с адресным пространством класса B (/16), то будет + произведено сканирование всех 65,536 IP адресов. Т.к. этап обнаружения хостов и составления списка целей + сканирования пропущен, то Nmap будет исполнять запрошенные функции, как если бы каждый IP адрес был активен. + Для машин локальной сети будет произведено ARP сканирование (пока не зададите ), + т.к. Nmap необходимы MAC адреса для дальнейшего сканирования целевых хостов. Раньше эта опция задавалась + флагом (используется нуль), но была переименова, чтобы избежать путаницы с + пингованием с использованием IP протокола (используется буква O). + + + + + + (TCP SYN пингование) + + SYN ping + + + + Эта опция посылает пустой TCP пакет с установленным SYN флагом. Порт по умолчанию - 80 (можно задать + во время компилирования изменяя DEFAULT_TCP_PROBE_PORT_SPEC + DEFAULT_TCP_PROBE_PORT_SPEC + в nmap.h). + nmap.h + Альтернативные порты задаются в качестве параметров. Синтаксис такой же как и для опции + за исключением того, что спецификаторы типа T: недопустимы. Примеры: + и . Имейте в виду, что между списком + портов и не должно быть пробела. Если заданы несколько запросов, то они будут посланы + параллельно. + + Установленные флаг SYN указывает удаленной системе, что вы пытаетесь установить соединение. Если порт + назначения закрыт, то в ответ посылается RST (сброс) пакет. Если порт открыт, то удаленная система + предпримет второй шаг в 3-ех этапной последовательности установки TCP соединения путем ответа + three-way handshake + SYN/ACK TCP пакетом. Система, на которой работает Nmap, сбрасывает почти установленное соединение отвечая RST + пакетом вместо ACK, что привело бы к установке полного соединения. RST пакет посылается ядром системы, на + которой работает Nmap, в ответ на непредвиденный SYN/ACK пакет, а не самой Nmap. + + Nmap не важно открыт порт или закрыт. Ответы пакетами RST или SYN/ACK описанными выше, указывают + Nmap на то, что хост доступен и может отвечать на запросы. + + На Unix машинах, только пользователь с правами + rootprivileged users, как правило, может посылать и принимать сырые TCP пакеты.raw packets + Для непривилегированного пользователя + unprivileged userslimitations of для каждого целевого + порта инициируется системный вызов connect. Поэтому при попытке + установить соединение на целевой хост посылается SYN пакет. Если на вызов + connect приходит быстрый ответ или отказ типа ECONNREFUSED, значит + TCP стек получил SYN/ACK или RST пакет, и хост помечается как доступный. Если соединение не устанавливается + по причине истечения времени (timeout), то хост помечается как не работающий. Этот механизм также + используется для соединений с использованием протокола IPv6, т.к. построение сырых пакетов IPv6 еще не + реализовано в Nmap.IPv6limitations of + + + + + + + + (TCP ACK пингование) + + ACK ping + + + Этот тип пингования очень похож на описанный выше. Разница состоит в том, как вы могли догадаться, что + вместо установки SYN флага устанавливается TCP ACK флаг. Такой ACK пакет имеет своей целью распознавание + данных во время установленного TCP соединения, но такого соединения не существует, поэтому удаленные хосты + всегда будут отвечат на такой запрос RST пакетом, тем самым выдавая свое существование. + + Опция использует тот же порт по умолчанию, что и SYN запросы (80), и так же может + принимать в качестве параметра список портов в том же формате. Если эту опцию пытается использовать + непривилегированный пользователь или задана цель в формате IPv6, то используется механизм с использованием + вызова connect описанный выше. Этот механизм несовершенен, т.к. при + использовании вызова connect вместо ACK пакета посылается SYN. + + Причина, по которой Nmap предоставляет оба типа пингования (SYN и ACK), состоит в повышении шансов + обхода брандмауэров. Многие администраторы конфигурируют роутеры или другие простые брандмауэры на блокировку + входящих SYN пакетов за исключением тех, что предназначены для публичных служб, таких как веб сайт или + почтовый сервер. Тем самым предотвращаются все остальные соединения, и в то же время пользователи могут + беспрепятственно выходить в Интернет. Такой подход не требует много ресурсов от брандмауэров/роутеров и + широко поддерживается различными аппаратными и программными фильтрами. iptables + для реализации такого подхода имеет опцию . Когда брандмауэр использует такие правила, + то запросы с установленным флагом SYN (), посланные на закрытые порты, с большой + вероятностью будут заблокированы. В таких случаях более выгодно использовать запросы с флагом ACK, т.к. + они не попадают под эти правила. + + Другим популярным типом сетевого экрана является брандмауэр блокирующий все непредвиденные пакеты. + Изначально эта функция поддерживалась только в наиболее продвинутых брандмауэрах, хотя с годами она становится + все популярнее. Использующийся в Linux сетевой экран Netfilter/iptables реализует этот механизм с помощью + опции , которая категоризирует пакеты в зависимости от состояния соединения. Против + таких систем лучше использовать пакеты SYN, т.к. непредвиденные пакеты ACK с большой вероятностью будут + распознаны как фиктивные и заблокированы. Решение такого затруднительного положение состоит в том, чтобы + посылать и SYN и ACK запросы путем задания опций и . + + + + + + (UDP пингование) + + UDP ping + + + + Еще одной функцией используемой для обнаружения хостов является UDP пингование, которая посылает пустой + (пока не задана опция ) UDP пакет на данные порты. Список портов задается в том + же формает, что и для описанных выше опций и . Если порты не заданы, + то по умолчанию используется 31338. Порт по умолчанию может быть задан во время компиляции путем изменения + DEFAULT_UDP_PROBE_PORT_SPEC + DEFAULT_UDP_PROBE_PORT_SPEC + в nmap.h. + nmap.h + По умолчанию выбран не распростаненный порт, т.к. отправка запросов на открытые порты нежелательна для + этого типа сканирования. + + Целью запроса UDP является получение в ответ ICMP пакета с ошибкой "порт недостижим". Это указывает + Nmap на то, что машина работает и доступна. Другие типы ICMP ошибок, такие как хост/сеть недоступна или + превышение TTL указывают на то, что машина выключена или недоступна. Отсутствие ответа интерпретируется + этим же путем. Если такой запрос посылается на открытый порт, то большинство служб просто игнорируют пустой + пакет и не посылают никакого ответа. Поэтому портом по умолчанию является 31338, т.к. он вряд ли будет + использоваться какой-либо службой. Лишь некоторые службы, такие как Character Generator (chargen) protocol, + ответят на пустой UDP пакет, и это также укажет Nmap на то, что машина доступна. + + Основным преимуществом такого типа сканирования является то, что он позволяет обходить брандмауэры, + фильтрующие только TCP запросы. Например, однажды у меня был беспроводной широкополосный роутер + Linksys BEFW11S4. Внутренний интерфейс этого устройства фильтровал по умолчанию все TCP порты, в то время + как в ответ на UDP запросы посылалось сообщение об ошибке "порт недостижим", что делало его работу + бесполезной. + + + + + + + ; + ; + (Типы пинг пакетов ICMP) + + + + ICMP ping + + + + В дополнении к нестандратным методам обнаружения хостов с помощью TCP и UDP запросов, Nmap может + посылать и стандартные пакеты, используемые вездесущей программой + ping. Nmap посылает ICMP пакет типа 8 (эхо запрос) на целевой + IP адрес, ожидая в ответ от доступного хоста пакет типа 0 (эхо ответ). + ICMP echo К сожалению для сетевых исследователей, многие хосты и брандмауэры + теперь блокируют такие пакеты вместо того, чтобы ответить на них, как это требуется в + RFC 1122. По этой причине + сканеры использующе только ICMP запросы редко бывают полезны при сканировании неизвестных целей в Интернете. + Но они могут быть полезны системным администраторам, занимающимся мониторингом внутренней сети. Используйте + опцию , чтобы активировать такой тип сканирования. + + Но Nmap использует не только стандратный эхо запрос. В стандарте ICMP + (RFC 792) также определены + запросы временной метки, информационные запросы и запросы адресной маски с кодами 13, 15 и 17 соответственно. + Хотя они служат для того, чтобы узнать какую-либо информацию, такую как адресную маску или текущее время, они + могут быть легко применены для обнаружения целей. Система, которая отвечает на них, работает и доступна. В + настоящее время Nmap не использует информационные запросы, т.к. они не получиил широкого распространения. + Стандарт RFC 1122 наставивает на том, что хост НЕ ДОЛЖЕН посылать такие сообщения. Запросы + временной метки или адресной маски могут быть посланы путем задания опций и + соответственно. Ответ на запрос временной метки (ICMP код 14) или на запрос адресной + маски (код 18) указывают на то, что хост доступен. Эти запросы могут быть полезны, когда администраторы + блокируют пакеты эхо запросов, но забывают о том, что другие типы ICMP запросов могут быть использованы в + тех же целях. + + + + + + + (пингование с использованием IP протокола) + + IP protocol ping + + + + Новейшей опцией для обнаружения хостов является пингование с использованием IP протокола, которая + посылает IP пакеты с номером протокола, указанным в заголовке пакета. Список протоколов задается в том же + формате, что и список портов в описанных выше опциях обнаружения хостов с помощью протоколов TCP и UDP. Если + не указан ни один протокол, то по умолчанию будут использованы IP пакеты ICMP (протокол 1), + IGMP (протокол 2) и IP-in-IP (протокол 4). Протоколы по умолчанию могут быть заданы во время компиляции + путем изменения + DEFAULT_PROTO_PROBE_PORT_SPEC + DEFAULT_PROTO_PROBE_PORT_SPEC + в nmap.h. + nmap.h + Имейте в виду, что для ICMP, IGMP, TCP (протокол 6) и UDP (протокол 17), пакеты посылаются с "правильными" + заголовками протокола, в то время как для остальных протоколов пакеты посылаются без дополнительной + информации после IP заголовка (пока не задана опция ). + + При использовании этого метода ожидаются ответы по протоколу исходного запроса, либо ICMP сообщение + о недостижимости, что свидетельствует о том, что данный протокол не поддерживается удаленным хостом. Оба + варианта ответа означают, что целевой хост доступен. + + + + + + (ARP пингование) + + ARP ping + + + + Одной из наиболее популярных сфер применения Nmap является сканирование локальных сетей (LAN). В + большинстве локальных сетей, особенно тех, которые используют диапазоны частных адресов определенные в + RFC 1918, большое количество + IP адересов не используется в любой момент времени. Когда Nmap пытается послать сырой IP пакет, такой как + ICMP эхо запрос, операционная система должна определить MAC-адрес (ARP) соответствующий целевому IP, + чтобы правильно адресовать фрейм. Это часто бывает медленно и проблематично, т.к. операционные системы + не были написаны с учетом того, что им придется посылать миллионы ARP запросов недоступным хостам в + короткий промежуток времени. + + ARP сканирование позволяет Nmap вместо ARP запросов использовать свои собственные оптимизированные + алгоритмы. И если Nmap получает ответ, то ей даже нет необходимости беспокоиться о других типах обнаружения + хостов, основанных на IP пакетах. Этот делает ARP сканирование более быстрым и надежным. Поэтому оно + применяется по умолчанию для сканирования локальных сетей. Даже если указаны другие типы сканирования + (как или ), Nmap все равно использует ARP сканирование для + машин локальной сети. Если вы абсолютно не хотите использовать такой тип сканирования, то задайте опцию + . + + + + + + + (Отслеживать путь к хосту) + + traceroute + + + + +Отслеживание осуществляется после сканирования, используя результаты этого сканирования для определения порта и +протокола, с помощью которых можно будет достичь цели. Процедура работает со всеми типами сканирования кроме +сканирования с использованием системного вызова connect () и "ленивого" (idle) сканирования +(). Все отслеживания используют динамическую модель таймингов Nmap и осуществляются параллельно. + + + +Процедура отслеживания маршрута работает путем посылки пакетов с низким TTL (time-to-live (временем-жизни) в попытке +получить в ответ ICMP сообщение Time Exceeded (Превышение Времени Жизни) от промежуточных узлов между сканером и +целевым хостом. Стандартные реализации процедуры отслеживания маршрута начинают с TTL равным 1, а затем увеличивают +его до тех пор, пока не будет достигнут целевой хост. В реализации же этой процедуры в Nmap сначала устанавливается +высокий TTL, а затем TTL уменьшается, пока не станет равным 0. Это позволяет Nmap использовать "умные" алгоритмы +кэширования с целью увеличения скорости отслеживания маршрута. В среднем Nmap посылает 5-10 пакетов на хост, в +зависимости от условий в сети. В случае сканирования единственной подсети (напр. 192.168.0.0/24), возможно будет +необходимо послать только один пакет на каждый хост. + + + + + + (Показать причины состояний портов и хостов) + + + + + +Показывает информацию о причинах, по которым каждый порт установлен в какое-либо состояние, и по которым каждый хост +работает или нет. Эта опция выводит тип пакета, по которому было определено состояние порта или хоста. Например, +RST пакет от закрытого порта или эхо ответ от работающего хоста. Информация, которую +может предоставить Nmap, определяется типом сканирования или пингования. SYN сканирование и SYN пингование +( и ) описываются очень детально, а информация о сканировании с использованием TCP соединений () ограничена реализацией системного вызова +connect. Эта функция автоматически активируется при использовании опции отладки +()implied by , +и результаты ее работы хранятся в XML файлах, даже если эта опция не была задана. + + + + + + (Не производить разрешение DNS имен) + + + + + Указывает Nmap никогда не производить обратное разрешение DNS + reverse DNSdisabling with + имен каждого обнаруженного активного IP адереса. Преобразование DNS может быть + медленным даже со встроенным в Nmap параллельным преобразователем IP адресов, поэтому данная опция может + сократить время сканирования. + + + + + + (Производить разрешение DNS имен для всех целей) + + + + Указыват Nmap всегда производить обратное разрешение DNS имен для каждого целевого + IP адреса. Обычно DNS преобразование применяется только к доступным хостам. + + + + + + (Использовать системный DNS преобразователь) + + + + + По умолчанию Nmap преобразует IP адреса путем посылки запросов непосредственно серверам имен, указанным + в вашей системе, и последующим анализом ответов. Многие запросы (часто десятки) исполняются параллельно для + увеличения производительности. Задайте эту опцию, чтобы использовать ваш системный преобразователь IP адресов + (один IP адрес за один системный вызов getnameinfo). Это медленно и + редко бывает полезно, до тех пор, пока вы не найдете ошибку в параллельном преобразователе Nmap (если найдете, + известите нас, пожалуйста). Системный преобразователь всегда используется для сканирования с использованием + протокола IPv6. + IPv6limitations of + + + + + + + (Сервера для обратного разрешения DNS) + + + + + По умолчанию Nmap определяет DNS сервера (для разрашения rDNS) из вашего resolv.conf файла (Unix) или + из реестра (Win32). Вы можете использовать эту опцию для задания альтернативных серверов. Эта опция + игнорируется, если вы используете или сканирование по протоколу IPv6. + Использование нескольких DNS серверов частно увеличивает скорость сканирования, особенно если вы выбираете + официальные сервера для IP пространства вашей цели. Эта опция также может увеличить незаметность, т.к. ваши + запросы могут быть перенаправлены любым рекурсивным DNS сервером в Интернете. + + Эта опция также бывает полезна при сканировании частных сетей. Иногда лишь некоторые сервера имен + предоставляют правильную rDNS информацию, и вы можете даже не знать, где они. Вы можете просканировать сеть + на наличие открытого порта 53 (возможно с помощью фукнкции определения версии), затем попробовать составить + список () указывая по очереди все сервера имен в опции + до тех пор, пока не найдете тот, который работает. + + + + + + + + + + Основы сканирования портов + + Хотя Nmap постоянно наращивала функциональность, + изначально утилита разрабатывалась как эффективный сканер портов, + и она по-прежнему сохраняет свои основные функции. Простой командой nmap + цель сканирования будет произведено сканирование более чем + 1660 TCP портов на целевой машине. В то время как многие сканеры портов + традиционно разделяют все порты на закрытые и открытые, Nmap имеет более подробную шкалу деления. + Она подразделяет порты на шесть состояний: открыт, + закрыт, фильтруется, + не фильтурется, + открыт|фильтруется или + закрыт|фильтруется. + +Эти состояния не являются собственно характеристиками самих портов, а лишь описывают, как Nmap видит их. +Например, сканирование из той же сети, что и цель, может показать, что порт +135/tcp открыт, в то время как сканирование из Интернета в то же время и с теми же +опциями может показать, что порт фильтруется. + +Шесть состояний портов распознаваемых Nmap + + + open port state + открыт (open) + Приложение принимает запросы на TCP соединение или UDP пакеты на этот порт. + Обнаружение этого состояния обычно является основной целью сканирования. Люди разбирающиеся в безопасности знают, + что каждый открытый порт это прямой путь к осуществлению атаки. Атакующие хотят использовать открытые порты, а + администраторы пытаются закрыть их или защитить с помощью брадмауэров так, чтобы не мешать работе обычных + пользователей. Октрытые порты также интересны с точки зрения сканирования, не связанного с безопасностью, т.к. они + позволяют определить службы доступные в сети. + + + + closed port state + закрыт (closed) + + Закрытый порт доступен (он принимает и отвечает на запросы Nmap), но не используется каким-либо + приложением. Они могут быть полезны для установления, что по заданному IP адресу есть работающий хост (определение + хостов, ping сканирование), или для определения ОС. Т.к. эти порты достижимы, может быть полезным произвести + сканирование позже, т.к. некоторые из них могут открыться. Администраторы могут заблокировать такие порты с + помощью брандмауэров. Тогда их состояние будет определено как фильтруется, что обсуждается далее. + + + + filtered port state + фильтруется (filtered) + + Nmap не может определить, открыт ли порт, т.к. фильтрация пакетов не позволяет достичь запросам + Nmap этого порта. Фильтрация может осуществляться выделенным брадмауэром, правилами роутера или брандмауэром на + целевой машине. Эти порты бесполезны для атакующих, т.к. предоставляют очень мало информации. Иногда они отвечают + ICMP сообщениями об ошибке, такими как тип 3 код 13 (destination unreachable: communication administratively + prohibited (цель назначения недоступна: связь запрещена администратором)), но чаще встречаются фильтры, которые + отбрасывают запросы без предоставления какой-либо информации. Это заставляет Nmap совершить еще несколько + запросов, чтобы убедиться, что запрос был отброшен фильтром, а не затором в сети. Это очень сильно замедляет + сканирование. + + + unfiltered port state + не фильтруется (unfiltered) + Это состояние означает, что порт доступен, но Nmap не может определить открыт он или закрыт. + Только ACK сканирование, используемое для определения правил брандмауэра, может охарактеризовать порт этим состоянием. + Сканирование не фильтруемых портов другими способами, такими как Window сканирование, SYN сканирование или FIN + сканирование может помочь определить, является ли порт открытым. + + + + open|filtered port state + открыт|фильтруется (open|filtered) + Nmap характеризует порт таким состоянием, когда не может определить октрыт порт или фильтруется. + Это состояние возникает при таких типах сканирования, при которых открытые порты не отвечают. Отсутствие ответа + также может означать, что пакетный фильтр не пропустил запрос или ответ не был получен. Поэтому Nmap не может + определить наверняка открыт порт или фильтруется. При сканировании UDP, по IP протоколу, FIN, NULL, а также Xmas + порт может быть охарактеризован таким состоянием. + + + closed|filtered port state + закрыт|фильтруется (closed|filtered) + Это состояние используется, когда Nmap не может определить закрыт порт или фильтруется. + Используется только при сканировании IP ID idle типа. + + + + + Различные приемы сканирования портов + +Как новичок в автомобильном деле, я могу часами биться в попытках использовать свои элементарные инструменты +(молоток, клейкая лента, гаечный ключ и т.д.) для решения какой-либо проблемы. Когда все мои попытки с крахом +проваливаются, и я буксирую свою развалюху к настоящему механику, он неизменно достает из большой коробки с интрументами +какую-нибудь штуковину, и сразу складывается впечатление, что решение проблемы не требует много усилий. Искусство +сканирования портов очень на это похоже. Эксперты понимают дюжины различных приемов сканирования портов и выбирают для конкретной задачи подходящий (или комбинацию из нескольких). Неопытные пользователи и script kiddies, +script kiddies +пытаются решить все задачи с помощью используемого по умолчанию SYN сканирования. Т.к. Nmap является бесплатной, то +единственным барьером на пути к овладению техникой сканирования портов является знание. Это все же лучше чем в мире +автомобилей, где, когда вам наконец-то удается определить, что вам необходимо какое-либо устройство, вам еще надо +будет заплатить за него тысячу долларов. + +Большинство типов сканирования доступны только привилегированным пользователям, +privileged users +потому что посылаются и принимаются сырые пакеты, +raw packets +что требует прав пользователя root на Unix системах. Под Windows рекомендуется работать с учетной записью +администратора, хотя иногда Nmap работает и с непривилегированными пользователя, когда в ОС уже загружена утилита +WinPcap. Требование root привилегий было серьезным ограничением, когда Nmap была выпущена в свет в 1997, т.к. многие +пользователи имели доступ только к разделяемым аккаунтам. Сейчас мир изменился. Компьютеры стали дешевле, многие +пользователи имеют постоянный доступ в Интернет, а Unix системы для домашних компьютеров (включая Linux и Mac OS X) +теперь широко распространены. Также теперь доступна Windows версия Nmap, что позволяет запускать ее на еще большем +количестве компьютеров. По этим причинам, пользователям нет необходимости запускать Nmap с разделяемых аккаунтов. +Это большая удача, т.к. функции требующие привилегированного доступа делают Nmap намного более мощной и гибкой. + +Когда Nmap предпринимает попытку выдать правильные результаты, надо иметь ввиду, что вся информация базируется +на пакетах, возвращенных целевыми машинами (или брандмауэром перед ними). Такие хосты могут быть ненадежными и +посылать ответы с целью ввести Nmap в забдуждение. Намного более распространным случаем являются не совместимые с +RFC хосты, которые отвечают на запросы Nmap не так, как должны. Сканирования типа FIN, NULL и Xmas наиболее +восприимчивы к такого рода проблемам. Такие сложности специфичны только для определенных типов сканирования, и поэтому +обсуждаются в посвященных им разделах. + +В этом разделе описываются около дюжины способов сканирования портов поддерживаемых Nmap. В любой момент времени +вы можете использовать только один метод; исключение составляет UDP сканирование (), которое может +быть скомбинировано с любым типом TCP сканирования. В качестве памятки имейте ввиду, что различные опции сканирования +портов задаются в форме , где C это символ +из названия какого-либо типа сканирования, обычно первый. Единственное исключение это FTP bounce сканирование +(). По умолчанию Nmap осуществляет SYN сканирование; этот тип сканирования заменяет сканирование с +использованием соединения для пользователей не имеющих достаточных привилегий для отправки сырых пакетов (требует +root доступа в Unix), или если были заданы цели в формате IPv6. Среди описанных ниже типов сканирования, +непривилегированные пользователи могут осуществлять только сканирование с использованием соединения и FTP bounce +сканирование. + + + + + (TCP SYN сканирование) + + SYN scan + + + +SYN это используемый по умолчанию и наиболее популярный тип сканирования. На то есть несколько причин. Он может +быть быстро запущен, он способен сканировать тысячи портов в секунду при быстром соединении, его работе не препятствуют +ограничивающие бранмауэры. Этот тип сканирования относительно ненавящив и незаметен, т.к. при таком сканировании TCP +соединение никогда не устанавливается до конца. Он работает с любым TCP стеком, не завися от каки-либо особенностей +специфичной платформы, как это происходит при сканированиях типа FIN/NULL/Xmas, Maimon и idle сканировании. Он также +предоставляет ясную и достоверную дифференциацию между состояниями открыт, +закрыт и фильтруется. + +Эту технику часто называют сканированием с использованием полуотрытых соединений, т.к. вы не открываете +полного TCP соединения. Вы посылаете SYN пакет, как если бы вы хотели установить реальное соединение и ждете. Ответы +SYN/ACK указывают на то, что порт прослушивается (открыт), а RST (сброс) на то, что не прослушивается. Если после +нескольких запросов не приходит никакого ответа, то порт помечается как фильтруемый. Порт также помечается как +фильтруемый, если в ответ приходит ICMP сообщение об ошибке недостижимости (тип 3, код 1,2, 3, 9, 10 или 13). + + + + + + + (TCP сканирование с использованием системного вызова connect) + + connect scan + + +Это используемый по умолчанию тип TCP сканирования, когда недоступно SYN сканирование. Это происходит в случае, +когда у пользователя нет привилегий для использования сырых пакетов или при сканировании IPv6 сетей. Вместо того, +чтобы использовать сырые пакеты, как это происходит при большинстве других типов сканирования, Nmap "просит" +операционную систему установить соединение с целевой машиной по указанному порту путем системного вызова +connect. Это такой же высокоуровневый системный вызов, используемый браузерами, +P2P клиентами и другими приложениями для установки соединения. Этот вызов является частью программируемого интерфейса, +известного как Berkeley Sockets API. Вместо того, чтобы считывать ответы в форме сырых пакетов, Nmap использует этот +API для получения информации о статусе каждой попытки соединения. + +При доступности SYN сканирования, оно, безусловно, будет являться лучшм выбором. У Nmap имеется меньше +возможностей контролирования высокоуровнего вызова connect по сравнению с +сырыми пакетами, что делает его менее эффективным. Системный вызов завершает соединения по открытым портам, вместо +того, чтобы использовать полуоткрытые соединения, как в случае с SYN сканированием. Таким образом на получение +той же самой информации потребуется больше времени и пакетов, да к тому же целевые машины скорее всего запишут это +соединение в свои логи. То же самое сделает и порядочная IDS, хотя большинство машин не имеют такой системы защиты. +Многие службы на вашей Unix системе будут добавлять запись в системный лог (syslog), а также сообщение об ошибке, +когда Nmap будет устанавливать и закрывать соединение без отправления данных. Некоторые службы даже аварийно завершают +свою работу, когда это происходит, хотя это не является обычной ситуацией. Администратор, который увидит в логах +группу записей о попытке установки соединения от одной и той же системы, должен знать, что его машина подверглась +такому типу сканирования. + + + + + + + (Различные типы UDP сканирования) + +UDP scan + + + +В то время как большинство сервисов Интернета используют TCP протокол, +UDP службы также широко распространены. +Тремя наиболее популярными являются DNS, SNMP и DHCP (используют порты 53, 161/162 и 67/68). Т.к. UDP сканирование +в общем случае медленнее и сложнее TCP, то многие специалисты по безопасности игнорируют эти порты. Это является +ошибкой, т.к. существуют UDP службы, которые используются атакующими. К счастью, Nmap позволяет инвентаризировать UDP +порты. + +UDP сканирование запускается опцией . Оно может быть скомбинировано с каким-либо типом TCP +сканирования, например SYN сканирование (), чтобы использовать оба протокола за один проход. + +UDP сканирование работает путем посылки пустого (без данных) UDP заголовка на каждый целевой порт. Если в ответ +приходит ICMP ошибка о недостижимости порта (тип 3, код 3), значит порт закрыт. +Другие ICMP ошибки недостижимости (тип 3, коды 1, 2, 9, 10 или 13) указывают на то, что порт +фильтруется. Иногда, служба будет отвечать UDP пакетом, указывая на то, что порт +открыт. Если после нескольких попыток не было получено никакого ответа, то порт +классифицируется как открыт|фильтруется. Это означает, что порт может быть открыт, +или, возможно, пакетный фильтр блокирует его. Функция определения версии () может быть полезна +для дифференциации действительно открытых портов и фильтруемых. + +Большой проблемой при UDP сканировании является его медленная скорость работы. Открытые и фильтруемые порты редко +посылают какие-либо ответы, заставляя Nmap отправлять повторные запросы, на случай если пакеты были утеряны. Закрытые +порты часто оказываются еще большей проблемой. Обычно они в ответ возвращают ICMP ошибку о недостижимости порта. Но в +отличии от RST пакетов отсылаемых закрытыми TCP портами в ответ на SYN или сканирование с установкой соединения, многие +хосты ограничивают лимит rate limiting +ICMP сообщений о недостижимости порта по умолчанию. Linux и Solaris особенно строги в этом плане. Например, ядро +Linux 2.4.20 огранивает количество таких сообщений до одного в секунду (в +net/ipv4/icmp.c). + +Nmap обнаруживает такого рода ограничения и соответственно сокращает количество запросов, чтобы не забивать +сеть бесполезными пакетами, которые все равно будут отброшены целевой машиной. К сожалению, при ограничении в стиле +Linux (один пакет в секунду) сканирование 65,536 портов займет более 18 часов. К способам увеличения скорости UDP +сканирования относятся: параллельное сканирование нескольких хостов, сканирование в первую очередь только наиболее +популярных портов, сканирование из-за брандмауэра и использование дял пропуска +медленных хостов. + + + + + + + ; ; (TCP NULL, FIN и Xmas сканирования) + + + +NULL scan +FIN scan +Xmas scan + + + +Эти три типа сканирования используют (другие типы сканирования доступны с использованием опции + описанной в другой секции) +незаметную лазейку в TCP RFC, чтобы +разделять порты на открытые и закрытые. На +странице 65 RFC 793 говорится, что если порт назначения ЗАКРЫТ .... входящий сегмент не содержащий RST повлечет +за собой отправку RST в ответ. На следующей странице, где обсуждается отправка пакетов без установленных +битов SYN, RST или ACK, утверждается что: вы вряд ли с этим столкнетесь, но если столкнетесь, то сбросьте +сегменти и вернитесь к исходному состоянию. + +Когда сканируется система отвечающая требованиям RFC, любой пакет, не содержащий установленного бита SYN, RST или +ACK, повлечет за собой отправку RST в ответ в случае, если порт закрыт, или не повлечет никакого ответа, если порт +открыт. Т.к. ни один из этих битов не установлен, то любая комбинация трех оставшихся (FIN, PSH и URG) будет являться +правильной. Nmap использует это в трех типах сканирования: + + + Null сканирование () + Не устанавливаются никакие биты (Флагов в TCP заголовоке 0) + + FIN сканирование () + Устанавливается только TCP FIN бит. + + Xmas сканирование () + Устанавливаются FIN, PSH и URG флаги. + + +Эти три типа сканирования работают по одной схеме, различия только в TCP флагах установленных в пакетах запросов. +Если в ответ приходит RST пакет, то порт считается закрытым, отсутствие ответа +означает, что порт открыт|фильтруется. Порт помечается как +фильтруется, если в ответ приходит ICMP ошибка о недостижимости (тип 3, код +1, 2, 3, 9, 10 или 13). + +Ключевой особенностью этих типов сканирования является их способность незаметно обойти некоторые не учитывающие +состояние (non-stateful) брандмауэры и роутеры с функцией пакетной фильтрации. Еще одним преимуществом является то, что +они даже чуть более незаметны, чем SYN сканирование. Все же не надо на это полагаться - большинство современных IDS +могут быть сконфигурированы на их обнаружение. Большим недостатком является то, что не все системы следуют RFC 793 +дословно. Некоторые системы посылают RST ответы на запросы не зависимо от того, открыт порт или закрыт. Это приводит +к тому, что все порты помечаются как закрытые. Основными системами ведущими себя +подобным образом являются Microsoft Windows, многие устройства Cisco, BSDI и IBM OS/400. Хотя такое сканирование +применимо к большинству систем, основанных на Unix. Еще одним недостатком этих видов сканирования является их +неспособность разделять порты на открытые и +фильтруемые, т.к. порт помечается как +открыт|фильтруется. + + + + + + + (TCP ACK сканирование) + + ACK scan + + + +Этот тип сканирования сильно отличается от всех других тем, что он не способен определить открый порт +open (или даже открытый|фильтруемый). Он +используются для выявления правил брандмауэров, определения учитывают ли он состояние или нет, а также для определения +фильтруемых ими портов. + +Пакет запроса при таком типе сканирования содержит установленным только ACK флаг (если не используется +). При сканировании нефильтруемых систем, +открытые и закрытые порты оба будут возвращать +в ответ RST пакет. Nmap помечает их как не фильтруемые, имея ввиду, что они +достижимы для ACK пакетов, но неизвестно открыты они или +закрыты. Порты, которые не отвечают или посылают в ответ ICMP сообщение об ошибке +(тип 3, код 1, 2, 3, 9, 10 или 13), помечаются как фильтруемые. + + + + + + + (TCP Window сканирование) + +window scan + + + +Этот тип сканирования практически то же самое, что и ACK сканирование, за исключением того, что он использует +особенности реализации различных систем для разделения портов на открытые и закрытые, вместо того, чтобы всегда при +получении RST пакета выводить не фильтруется. Это осуществляется путем анализа +TCP Window поля полученного в ответ RST пакета. В некоторых системах открытые порты используют положительное значение +этого поля (даже в RST пакетах), а закрытые - нулевое. Поэтому вместо того, что все время при получении RST пакета в +ответ помечать порты как не фильтруемые, при Window сканировании порты помечаются +как открытые или закрытые, если значение поля +TCP Window положительно или равно нулю соответственно. + +Этот тип сканирования основывается на особенностях реализации меньшинства систем в Интернете, поэтому вы не +можете все время доверять ему. В общем случае в системах, не имеющих таких особенностей, все порты будут помечаться +как закрытые. Конечно, это возможно, что у машины действительно нет открытых портов. +Если большинство просканированных портов закрыты, и лишь несколько распространненых +портов (таких как 22, 25, 53) фильтруются, то скорее всего результатам сканирования +можно доверять. Иногда, системы будут вести себя прямо противоположным образом. Если в результате сканирования будет +найдено 1000 открытых портов и 3 закрытых или фильтруемых, то как раз эти 3 могут оказаться действительно открытыми. + + + + + + + + (TCP сканирование Мэймона (Maimon)) + +Maimon scan + + + +Этот тип сканирования носит имя своего первооткрывателя, Уриела Мэймона (Uriel Maimon). +Maimon, Uriel +Он описал эту технику в журнале Phrack Magazine, выпуск #49 (Ноябрь 1996). +Phrack +Версия Nmap с поддержкой этого типа сканирования была выпущена через два номера. Техника практически такая же как и +при NULL, FIN и Xmas сканированиях, только в качестве запросов используются запросы FIN/ACK. Согласно +RFC 793 (TCP), в ответ на такой запрос +должен быть сгенерирован RST пакет, если порт открыт или закрыт. Тем не менее, Уриел заметил, что многие BSD системы +просто отбрасывают пакет, если порт открыт. + + + + + + + (Заказное TCP сканирование) + + + + +Действительно продвинутым пользователям Nmap не нужды ограничивать себя заранее приготовленными типами +сканирования. С помощью опции вы можете разработать свой тип сканирования путем задания +специфичных TCP флагов.TCP flags +Используйте свое воображение, обходя системы обнаружения вторжений, чьи производители просто просмотрели справочное +руководство Nmap, путем задания собственных правил!intrusion detection systemsevading + +Аргументом опции может быть числовое значение, например, 9 (PSH и FIN флаги), но +использование символьных имен намного проще. Используйте любые комбинации URG, +ACK, PSH, +RST, SYN и +FIN. Например, опцией будут установлены все флаги, хотя это и не очень полезно для сканирования. Порядок задания +флагов не имеет значения. + +В добавлении к заданию желаемых флагов, вы также можете задать тип TCP сканирования (например, + или ). Это укажет Nmap на то, как необходимо интерпретировать ответы. +Например, при SYN сканировании отсутствие ответа указывает на фильтруемый порт, +тогда как при FIN сканировании - на открытый|фильтруемый. Nmap будет осуществлять +заданный тип сканирования, но используя указанные вами TCP флаги вместо стандартных. Если вы не указываете тип +сканирования, то по умолчанию будет использоваться SYN. + + + + + + + ("ленивое" idle сканирование) + + idle scan + + + + + Этот продвинутый метод сканирования позволяет осуществить действительно незаметное TCP сканирование + портов цели (имеется ввиду, что никакие пакеты не отсылаются на целевую машину с вашего реального IP адерса). + Вместо этого, на зомби машине используется предсказуемая последовательность генерации ID IP фрагментов для + сбора информации об открытых портах цели. Системы IDS будут считать, что сканирование производится с + заданной вами зомби машины (которая должна работать и удовлетворять определенным критериям). + Этот тип сканирования слишком сложен для описания в этом справочном руководстве, поэтому я написал и выложил + подробное описание на . + + Подробное описание этого типа сканирования смотрите на . + + + + Помимо его незаметности (в силу своей природы), этот тип сканирования также позволяет определять + основанные на IP доверительные отношения между машинами. Список открытых портов показывает открытые порты + с точки зрения зомби машины. Поэтому вы можете попробовать просканировать цель + используя различные зомби машины, которым, вы считаете, возможно будут доверять + trust relationships + (посредством правил роутера/пакетного фильтра). + + + Вы можете добавить номер порта после двоеточия к зомби хосту, если хотите использовать конкретный + порт. По умолчанию будет использоваться порт 80. + + Порты также могут быть заданы именами, которым они соответствуют в файле + nmap-services. Вы даже можете использовать шаблоны * и ? в именах. + Например, чтобы просканировать ftp и все порты начинающиеся с http используйте . + В таких случаях лучше брать аргументы -p в кавычки. + + Диапазоны портов заключаются в квадратные скобки; будут просканированы порты из этого диапазона, + встречающиеся в nmap-services. + Например, с помощью следующей опции будут просканированы все порты из + nmap-services равные или меньше 1024: . + В таких случаях лучше брать аргументы -p в кавычки. + + + + + + (Сканирование IP протокола) + + IP protocol scan + + + +Сканирование такого типа позволяет определить, какие IP протоколы (TCP, ICMP, IGMP и т.д.) поддерживаются +целевыми машинами. Технически такое сканирование не является разновидностью сканирования портов, т.к. при нем +циклически перебираются номера IP протоколов вместо номеров TCP или UDP портов. Хотя здесь все же используется опция + для выбора номеров протоколов для сканирования, результаты выдаются в формате таблицы портов, и +даже используется тот же механизм сканирования, что и при различных вариантах сканирования портов. Поэтому он +достаточно близок к сканированию портов и описывается здесь. + +Помимо полезности непосредственно в своей сфере применения, этот тип сканирования также демонстрирует всю мощь +открытого программного обеспечения (open-source software). Хотя основная идея довольна проста, я никогда не думал +включить такую функцию в Nmap, и не получал запросов на это. Затем, летом 2000-го, Джерард Риджер (Gerhard Rieger) +Rieger, Gerhard +развил эту идею, написал превосходный патч воплощающий ее и отослал его на +nmap-hackers рассылку.nmap-hackers mailing list +Я включил этот патч в Nmap и на следующий день выпустил новую версию. Лишь единицы комерческого программного обеспечения +могут похвастаться пользователями, достаточно полными энтузиазма для разработки и предоставления своих улучшений! + +Способ работы этого типа сканирования очень похож на реализованный в UDP сканировании. Вместо того, чтобы +изменять в UDP пакете поле, содержащее номер порта, отсылаются заголовки IP пакета, и изменяется 8 битное поле IP +протокола. Заголовки обычно пустые, не содержащие никаких данных и даже правильного заголовка для требуемого протокола. +Исключениями явлются TCP, UDP и ICMP. Включение правильного заголовка для этих протоколов необходимо, т.к. в обратном +случае некоторые системы не будут их отсылать, да и у Nmap есть все необходимые функции для их создания. Вместо того, +чтобы ожидать в ответ ICMP сообщение о недостижимости порта, этот тип сканирования ожидает ICMP сообщение о +недостижимости протокола. Если Nmap получает любой ответ по любому протоколу, то протокол +помечается как открытый. ICMP ошибка о неостижимости протокола (тип 3, код 2) +помечает протокол как закрытый. Другие ICMP ошибки недостижимости (тип 3, код +1, 3, 9, 10 или 13) помечают протокол как фильтруемый (в то же время они показывают, +что протокол ICMP открыт). Если не приходит никакого ответа после нескольких +запросов, то протокол помечается как открыт|фильтруется. + + + + + + + + + (FTP bounce сканирование) + + FTP bounce scan + + + +Интересной возможностью FTP протокола (RFC 959) является поддержка так называемых прокси FTP соединений. Это позволяет пользователю подключиться к одному +FTP серверу, а затем попросить его передать файлы другому. Это является грубым нарушением, поэтому многие сервера +прекратили поддерживать эту функцию. Используя эту функцию, можно осуществить с помощью данного FTP сервера +сканирование портов других хостов. Просто попросите FTP сервер переслать файл на каждый интересующий вас порт целевой +машины по очереди. Сообщение об ошибке укажет: открыт порт или нет. Это хороший способ обхода брандмауэров, т.к. +организационные FTP сервера обычно имеют больше доступа к другим внутренним хостам, чем какие-либо другие машины. +В Nmap такой тип сканирования задается опцией . В качестве аргумента ей передается +имя_пользователя:пароль@сервер:порт. +Сервер - это сетевое имя или IP адрес FTP сервера. Как и в случае в обычными URL, вы можете опустить имя_пользователя:пароль, тогда будут использованы +анонимные данные (пользователь: anonymous +пароль:-wwwuser@). Номер порта (и предшествующее ему двоеточие) также можно не +указывать; тогда будет использован FTP порт по умолчанию (21) для подключения к серверу. + + +Эта уязвимость была широко распространена в 1997, когда была выпущена Nmap, но теперь почти везде исправлена. +Уязвимые сервера по-прежнему есть, так что, если ничего другое не помогает, то стоит попробовать. Если вашей целью +является обход бранмауэра, то просканируйте целевую сеть на наличие открытого порта 21 (или даже на наличие любых +FTP служб, если вы используете определение версии), а затем попробуйте данный тип сканирования с каждым из найденных. +Nmap скажет вам, уязвим хост или нет. Если вы просто пытаетесь замести следы, то вам нет необходимости (и, фактически, +не следует) ограничивать себя только хостами целевой сети. Перед тем как вы начнете сканировать произвольные Интернет +адреса на наличие уязвимого FTP сервера, имейте ввиду, что многим системным администраторам это не понравится. + + + + + + + + Определение портов и порядка сканирования + port specification + + В дополнении ко всем методам сканирования описанными ранее, Nmap предлагает опции для определения портов + для сканирования, а также порядка сканирования: произвольного или последовательного. По умолчанию, Nmap сканирует + все порты до 1024 включительно, а также все порты с большими номерами упомянутыми в файле nmap-services для протокола, по которому идет сканирование. + default ports + + + + + + (Сканирование только определенных портов) + + + + + + С помощью этой опции вы можете определить, какие порты вы хотите просканировать и переопределить + установки по умолчанию. Указание отдельных номеров портов допустимо, как и задание диапазонов портов + разделенных дефисом (напр. 1-1023). Начальные и/или кончные значения + диапазонов могут быть опущены, что заставит Nmap использовать 1 и 65535 соответственно. Поэтому вы можете + задать опцию , чтобы просканировать все порты от 1 до 65535. Сканирование нулевого + порта допустимо, если вы укажене его явно + port zero. + Для сканирования по IP протоколу (), эта опция определяет номера протоколов, которые + вы хотите просканировать для диапазона (0-255). + + Когда сканируете и TCP и UDP порты, вы можете задать определенный протокол указав перед номерами + портов T: + или U:. Определитель будет действовать до того момента, пока вы не + зададите другой. Например, при задании аргумента будут просканированы UDP + порты 53,111, и 137, а также все перечисленные TCP порты. Имейте в виду, что для сканирования и UDP и + TCP портов, вы должны указать опцию и, по крайне мере, один из типов сканирования TCP + (таких как , или ). Если определитель прокотола + не указан, то перечисленные порты будут добавлены ко всем протоколам. + + + port specificationwildcards in + Порты также могут быть заданы именами, которые указаны в + nmap-services. Вы даже можете использовать символы ? и * с именами. + Например, чтобы просканировать FTP и все порты, чьи имена начинаются с http, используйте + . Будьте осторожны при вводе этой команды и лучше заключите аргумент + в кавычки. + + Диапазоны портов могут быть заключены в квадратные скобки, чтобы определить порты внутри этого + диапазона, которые упомянуты в nmap-services. + Например, с помощью следующей команды будут просканированы все порты из + nmap-services равные или меньшие 1024: + . Будьте осторожны при вводе этой команды и лучше заключите аргумент + в кавычки. + + + + + + (Быстрое (ограниченные порты) сканирование) + + + + Указывает, что вы хотите произвести сканирование только портов, указанных в + nmap-services, который поставляется вместе с Nmap (или в файле + протоколов для ). Это намного быстрее, чем сканировать все 65535 портов целевой машины. + Т.к. этот список содержит много TCP портов (больше 1200), разница в скорости в отличии от TCP сканирования + по умолчанию (около 1650 портов) несущественна. Разница может быть огромна, если вы определите свой + небольшой nmap-services файл используя + + или опции. + + + + + + + (Не использовать случайный порядок портов) + + randomization of ports + + + По умолчанию, Nmap использует произвольный порядок сканирования портов (исключение составляют лишь + наиболее часто употребляемые порты, которые расположены в начале списка сканирования по причинам + эффективности). Обычно эта случайность нужна, но вы можете задать опцию , чтобы + использовать прямой порядок сканирования. + + + + + + + + + --port-ratio + Сканирует все порты из nmap-services, чей рейтинг больше числа, + указанного как аргумент (только для нового формата nmap-services). + + + + + + + + + --top-ports + Сканирует N портов с наибольшими рейтингами, расположенными в + nmap-services файле (только для нового формата + nmap-services). + + + + + + + + + + Обнаружение служб и их версий + version detection + + + При сканировании удаленной машины Nmap может выдать, что порты + 25/tcp, 80/tcp, и + 53/udp открыты. Используя свою базу данных + nmap-servicesnmap-services, + состоящюю из около 2200 известных служб, + well-known ports + Nmap сообщит, что эти порты вероятно соответстуют почтовому серверу (SMTP), веб серверу (HTTP), + и серверу доменных имен (DNS) соответственно. Эта информация обычно верна, т.к. подавляющее большинство служб, + использующих 25 TCP порт, фактически, почтовые сервера. Тем не менее, вам не следует полностью полагаться на эту + информацию! Люди могут и запускают службы с использованием нестандартных портов. + non-standard ports + + + Даже если Nmap права, и на какой-либо гипотетической машине упомянутой выше запушены SMTP, HTTP и DNS + сервера, это не так уж и много информации. Когда производится сканирование с целью обнаружения уязвимостей + (или же просто определение структуры сети) компьютеров ваших компаний или клиентов, вам хочется знать, какие точно + почтовые и DNS сервера и какие версии используются. Знание точной версии очень помогает в определении, к каким + эксплоитам сервер наиболее уязвим. Эту информацию вы можете получить с помощью задания опции определения версии. + + + После того как какие-либо TCP и/или UDP были обнаружены, Nmap начинает "опрашивать" эти порты, чтобы + определить, какие же приложения (службы) их действительно используют. База данных + nmap-service-probesnmap-service-probes + содержит запросы для обращения к различным службам и соответствующие выражения для распознавания и анализа ответов. + Nmap пытается определить протоколо службы (напр. FTP, SSH, Telnet, HTTP), имя приложения (e.g. ISC + BIND, Apache httpd, Solaris telnetd), номер версии, имя хоста, тип устройства (напр. принтер, роутер), + семейство ОС (напр. Windows, Linux) и иногда различные детали типа возможно ли соединится с X сервером, + версию протокола SSH, или имя пользователя KaZaA. Конечно же, большинство служб не предоставляют такую информацию. + Если Nmap была скомпилирована с поддержкой OpenSSL, Она соединится с сервером SSL, чтобы попытаться определить + запущенные службы, работающие за зашифрованным слоем. + SSLin version detection + Когда обнаружены службы RPC, удет автоматически задействована опция Nmap + RPC grinder () + + для определения программы RPC и ее версии. После сканирования портов UDP некоторые из них характеризуются как + открыт|фильтруется, если сканирование не может определить открыт порт или + фильтруется. С заданной опцией определения версии Nmap попытается получить ответ от таких портов (точно так же как + она поступает с открытыми портами), и, в случае успеха, поменяет состояние этого порта на открыт + открытые|фильтруемые TCP порты обрабатываются так же. Имейте в виду, что + опция Nmap помимо других команд активирует также и обнаружение версии. + + Бумажная документация по работе, использованию и настройке опции обнаружения версии доступна на + . + + + Опция обнаружения версии подробнее рассматривается в . + + + + Когда Nmap получает ответы от службы, но не может сопоставить их с какой-либо записью в своей базе данных, + она выводит на экран специальную информацию и URL, по которому вы можете опубликовать эту информацию, если вы точно + уверены, что за служба запущена на исследуемом вами порте. Пожалуйста, потратьте пару минут на публикацию этой + информации, т.к. ваша находка поможет остальным. Благодаря таким публикациям, Nmap содержит в своей базе данных + около 3000 записей для более чем 350 протоколов, таких как SMTP, FTP, HTTP и т.д. + submission of service fingerprints + + + Функция определения версии включается и управляется с помощью следующих опций: + + + + + + + (Определение версии) + + + + + Включает функцию определения версии, работа которой описана выше. Вы также можете использовать + опцию , которая помимо других функций включает определение версии. + + + + + + + (Не исключать порты из проверки определения версии) + + + + + По умолчанию, функция определения версии пропускает TCP порт 9100, + потому что некоторые принтеры просто распечатывают все, что приходить на этот порт, что ведет к + дюжинам страниц HTTP GET запросов, бинарных запросов SSL сессий т.д. Это может быть изменено путем + модифицирования или удаления директивы Exclude + в nmap-service-probes, или вы можете задать опцию + , сканированить все порты не обращая внимания на всякие + Exclude директивы. + Exclude directive (nmap-service-probes) + + + + + + + (Устанавливает интенсивность + работы функции) + + + + + + Когда производится сканирование с заданной опцией определения версии + (), Nmap посылает серию запросов, каждому из которых присваивается значение в диапазоне + от 1 до 9. Запросы с низкими значениями эффективны для большинства типичных служб, в то время как запросы + с более высокими значениями редко применяются на практике. Уровень интенсивности определяет, какие запросы + должны использоваться во время сканирования. Чем выше значение запроса, тем больше вероятность корректного + определения службы. Тем не менее, сканирование с высокой интенсивностью займет много времени. Уровень + интенсивности должна быть задана числом от 0 до 9. + version detectionintensity + По умолчанию уровень интенсивности равен 7. + version detectiondefault intensity + Когда запрос привязан к целевому порту посредством директивы + nmap-service-probes ports, + этот запрос будет производиться вне зависимости от уровня интенсивности. Это гарантирует, что DNS + запросы всегда будут производится с использование порта 53, SSL запросы - 443 и т.д. + + + + + + + (Включить облегченный режим) + + + + + Это не что иное как псевдоним для . Этот режим существенно + уменьшает время сканирования, но вероятность определения служб сокращается. + + + + + + (Использовать каждый единичный запрос) + + + + + Псевдоним для , гарантирующий что каждый единичный запрос + будет направлен на каждый порт. + + + + + + (Отслеживание процесса сканирования) + + + + Указывает Nmap выводить подробную отладочную информацию о процессе сканирования. Это часть той + информации, которую вы можете получить с помощью опции . + + + + + + (RPC сканирование) + + RPC scanRPC grinder + RPC grinder + + + + Этот метод работает в связке с различными методами сканирования портов Nmap. При включении этой опции + на все обнаруженные открытые TCP/UDP порты посылатеся множество NULL команд программы SunRPC + в попытке определить, являются ли эти порты RPC портами, и если так, то какими программами (а также их версии) + они используются. Таким образом, вы можете получить ту же информацию как и в случае использования команды + rpcinfo -p, даже если целевой сервер портмаппинга (portmapper) находится + за брандмауэром (или защищен TCP фильтром). На сегодняшний момент ловушки со сканированием RPC не работают + decoyswhich scans use + Эта опция автоматически активируется как часть сканирования с функцией определения версии + (). Т.к. это включено в функцию определения версии и более детально проработано, + то опция нужна очень редко. + + + + + + + + + + Определение ОС + OS detection + + Одна из наиболее известных функциональных возможностей Nmap это удаленное определение ОС на основе + анализа работы стека TCP/IP. Nmap посылает серию TCP и UDP пакетов на удаленный хост и изучает практически + каждый бит в ответах. После проведения дюжины тестов таких как TCP ISN выборки, поддержки опций TCP, IP ID + выборки, и анализа продолжительности процедуры инициализации, Nmap сравнивает результаты со своей + nmap-os-dbnmap-os-db базой данных, состоящей из более чем тысячи известных наборов + типичных результатов для различных ОС и, при нахождении соответствий, выводит информацию об ОС. Каждый набор + содержит свободное текстовое описание ОС и классификацию, в которой указаны название производителя (напр. Sun), + название ОС (напр. Solaris), поколение ОС (напр. 10), и тип устройства (). + OS, and a classification which provides the vendor name + (e.g. Sun), underlying OS (e.g. Solaris), OS generation (e.g. 10), + and device type (для общих целей, роутер, коммутатор (switch), игровая консоль и т.д.). + + Если Nmap не может определить ОС, но для этого есть хорошие предпосылки (наприме, по крайней мере, + найдены один открытый и один закрытый порты), то Nmap предоставит URL, по которому, если вы точно знаете, + какая ОС используется, вы сможете предоставить набор ее характеристик. Тем самым вы внесете свой вклад в дополнение + базы данных известных ОС Nmap, и она будет более полезна для всех остальных. + + Опция определения ОС также активирует проведение некоторых других тестов, которые позволяют воспользоваться + собираемой в процессе работы информацией. Один из них Классификация Предсказуемости Последовательности TCP + (TCP Sequence Predictability Classification). Это позволяет приблизительно определить, насколько сложно установить + ложное TCP соединение с удаленным хостом. Это может быть полезно для взлома и эксплуатации программ, базирующихся + на доверительных отношениях (rlogin, фильтры брандмауэров и т.д.) или для сокрытия источника атаки. Этот тип + спуфинга (spoofing) теперь редко используется, но многие машины все еще уязвимы к такого рода атакам. Число, + характеризующее сложность, базируется на статистической выборке и может колебаться. Обычно лучше испльзовать + классификацию с испльзованием английских фраз типа + worthy challenge(достойное испытание) или trivial joke(шуточное дело). Эта + информация будет выведена только при включенном вербальном режиме (). Когда вербальный режим + активирован вместе с опцией , то выводится также информация о генарции IP ID последовательности. + Большинство машин находятся в классе incremental(возрастающий), что означает, что они увеличивают + поле ID в IP заголовке для каждого посланого пакета. Это делает их уязвимыми к спуфинг(spoofing) атакам и атакам + с целью сбора расширенной информации. + + uptime guess + + Также во время определения ОС делается попытка узнать время работы целевой машины. С помощью временных меток + (timestamp) TCP (RFC 1323) Nmap + пробует угадать, когда машина была перезагружена в последний раз. Информация может быть не точна, т.к. счетчик + временной метки не был обнулен или был переполнен, или каким-то образом скрыт. Информация выводится только в + вербальном режиме. + + + + Бумажная документация по работе, использованию и настройки опции определения ОС находится на + . + + + Опция определения ОС рассмотрена в . + + + + Функция определения ОС включается и управляется с помощью следующих опций: + + + + + (Включить определение ОС) + + + + + + Включает фукнцию определения ОС, работа которой описана выше. Вы также можете использовать + опцию , которая помимо других функций включает определение ОС. + + + + + + + (Использовать функцию определения ОС только для "перспективных" хостов) + + + + + Функция определения ОС намного более эффективна, если обнаружены, по крайней мере, один открытый и один + закрытый TCP порты. Задайте эту опцию, и Nmap не будет даже пытаться определить ОС хостов, не удовлетворяющих + этому критерию. Это поможет сэкономить массу времени, особенно при сканирование многих + хостов. Эта опция будет действовать только при включении функции ОС путем задания опций + или . + + + + + + ; (Угадать результаты определения ОС) + + + + + + Когда Nmap не в состоянии определеить точное совпадение, она иногда предоставляет наиболее близкие + к результатам сканирования совпадения. Чтобы Nmap сделала это по умолчанию, совпадения должны быть очень + близки. Любая их этих (равных) опций побуждает Nmap к более агрессивному анализу результатов. Nmap + по-прежнему будет сообщать, когда будет найдено не идеальное совпадение, а также отображать стпень + соответствия (в процентах) для каждого набора характеристик. + + + + + + (Устанавливает максимальное количество попыток определения ОС) + + + + + + Когда Nmap пытается определить ОС на целевом хосте и не может найти идеального соответствия результатов, + то она обычно повторяет попытку. По умолчанию, Nmap совершает пять попыток при условии, что существуют + благоприятные условия для определения ОС, и дважды - в противном случае. Задание более низкого значения + (напр. 1) увеличивает скорость работы Nmap, однако вы пропускаете некоторые + записи, с помощью которых, возможно, можно было бы определить ОС. Большое значение может быть задано для + разрешения большего количества попыток при благоприятных условиях. Это делается редко, за исключением тех + случаев, когда необходимо сгенерировать более детальный набор характеристик ОС для занесения в базу данных + Nmap. + + + + + + + + + Скриптовый движок Nmap(NSE - Nmap Scripting Engine) + Nmap Scripting Engine (NSE) + + Скриптовый движок Nmap (NSE) это одна из наиболее мощных и гибких возможностей Nmap. Он позволяет + пользователям писать (и делиться ими) простые скрипты (используя + язык программирования Lua, + Lua programming language) для автоматизации + широкого круга сетевых задач. Эти скрипты выполняются со скоростью и эффективность ожидаемой вами от Nmap. + Пользователи могут использовать разнообразный и постоянно расщиряющийся набор скриптов, которые поставляются + вместе с Nmap, или написать свои скрипты под свои собственные нужды. + + Когда мы создавали эту систему, считалось, что она будет использоваться для задач исследования сети, более + изощренного варианта определения версии, исследования уязвимостей. NSE может быть исполльзован даже для + обнаружения уязвимостей. + + + Чтобы отразить все многообразие возможностей использования скриптов и при этом упростить выбор необходимого + скрипта, каждый из них содержит поле, где указано к какой категории он принадлежит. Сейчас определены следующие + категории: safe, + (intrusive), malware, + version, discovery, + vuln, auth и + default. Все они описаны + в . + в . + + + Скриптовый движок Nmap детально описан +на +в и настраивается с помощью следующих опций: + + + + + + + + + + + + Осуществляет сканирование на основе скриптов. Эквивалентно опции . + Некоторые их применяемых здесь скриптов относятся к категории intrusive (навязчивые) и не должны быть + использованы для сканирования целевой сети без разрешения. + + + + + + + +Осуществляет сканирование на основе скриптов (как ) используя разделенный запятыми список +категорий скриптов, отдельных файлов скриптов или директорий содержащих скрипты вместо стандартного набора скриптов. +Сначала Nmap пытается интерпретирует все аргументы как категории, затем (в случае неудачи) как файлы или директории. +Файл скрипта или директория скриптов могут быть определны с использованием абсолютного или относительного пути. +Абсолютные пути используются так, как вы их зададите. Относительные пути будут определяться относительно: +data filesdirectory search orderscripts, location of +--datadir/; +$NMAPDIR/;NMAPDIR environment variable +~/.nmap/ (не используется в Windows);.nmap directory +NMAPDATADIR/ илиNMAPDATADIR +./. Также все эти папки будут проверяться на наличие поддиректории +scripts/ + +Если вы определили директорию со скриптами, и она была найдена, то Nmap загружает все NSE +скрипты (все файлы с расширением .nse) из этой директории. Файлы без расширения +nse игнорируются. Nmap не производит рекурсивный поиск скриптов во всех +поддиректориях. Если вы указываете конкретный файл, то его расширение не обязательно должно быть +nse. + +По умолчанию скрипты Nmap хранятся в папке scripts - +поддиректории основного каталого Nmap. Для большей производительности, +все скрипты проиндексированы в базе даннных scripts/script.db, +script.db +где указано к какой категории или категориям принадлежит каждый скрипт. Для исполнения всех скриптов из базы данных +Nmap задайте атрибут all. + +Злонамеренные скрипты запускатся не в "песочнице" (sandbox) и поэтому могут повредить вашу систему или нарушить +вашу анонимность. Никогда не используйте скрипты от третьих лиц до тех пор, пока не будете доверять автору или +сами тщательно просмотрите скрипт. + + + + + + + + script arguments + + +Позволяет вам передавать аргументы NSE скриптам. Аргументы передаются как пары +имя=значение. Передаваемый аргумент обрабатывается и хранится в Lua таблице, +к которой имеют доступ все скрипты. Имена передаются как строки (должны быть буквенно-цифровыми значениями) и +используются в качестве ключей в argument-table. Значения могут быть также строками +или в свою очередь таблицами (заключенными в ‘{’ и +‘}’). Такие подтаблицы позволяют переопределить аргументы для конкретных скриптов +(например, если вы хотите предоставить различным скриптам различные пары login/password). Например, вы можете +определить аргументы через запятые: user=bar, +password=foo и +anonFTP={password=nobody@foobar.com}. Если вы хотите переопределить опцию для +скрипта, вы должны проиндексировать подтаблицу с помощью id скрипта, т.к. это +единственный способ указать скрипту на наличие специального аргумента. + + + + + + + + + + Эта опция делает то же самое, что и , но на один ISO уровень выше. + Если задана эта опция, то все входящие и исходящие соединения, осуществляемые скриптом, выводятся на экран. + Выводимая информация включает в себя используемый коммуникационный протокол, источник, цель и переданные + данные. Если более 5% переданных данных невозможно вывести на экран, то вывод будет представлять собой + шестнадцатеричный (hex) дамп. + + + + + + + + + + Этой опцией обновляется база скриптов scripts/script.db, + которая используется Nmap для определения доступных скриптов по умолчанию и их категорий. Обновлять + базу необходимо, только если вы добавили или удалили NSE скрипты из директории + scripts, или поменяли категорию какого-нибудь скрипта. Эта опция + обычно используется без аргументов: nmap --script-updatedb. + + + + + + + + + + Опции управления временем и производительностью + timing + performance + Наиболее приоритетной стороной развития Nmap для меня всегда была производительность. Сканирование по + умолчанию (nmap имя_хоста) какого-либо хоста в моей + локальной сети занимает пятую долю секунды. Этого едва хватает, чтобы моргнуть, но становится существенным, когда + вы сканируете сотни или тысячи хостов. Более того, некоторые типы сканирования, как например, UDP или + сканирование с целью определения версии могут в значительной степени увеличить время сканирования. Этому также + могут поспособствовать настройки некоторых брандмауэров, где есть ограничения на количество ответов. Хотя в Nmap + используются параллелизм и различные продвинутые алгоритмы для уменьшения времени сканирования, у пользователя + есть возможность полностью контролировать работу программы. Опытные пользователи Nmap задают команды таким образом, + чтобы получать только необходимую им информацию и в удовлетворяющие им сроки. + + Способами увеличения скорости сканирования могут быть пропуск не критичных тестов, или обновление Nmap до + последней версии (улучшения производительности выходят довольно часто). Оптимизация параметров опций управления + временем также может значительно повлиять на скрость сканирования. Эти опции описаны ниже. + +Некоторые опции могут принимать параметр время. По умолчанию он задается в +миллисекундах, но вы можете добавить ‘s’, ‘m’ или ‘h’ к значению, чтобы задать его в секундах, минутах или часах. +Поэтому для опции аргументы 900000, +900s и 15m означают одно и то же. + + + + + + ; + (Регулирует размер групп для параллельного сканирования) + + + + +В Nmap есть возможность осуществлять сканирование портов или сканирование с целью определения версии нескольких +хостов параллельно. Это происходит путем разделения целевого IP пространства на группы, а затем сканирования одной +группы за раз. В общем случае целесообразно использовать большие группы. Недостатком является то, что вы не можете +узнать информацию о каком-либо хосте, пока не закончится сканирование всей группы. Таким образом, если Nmap начнет +сканирование группы из 50-ти хостов, то пользователь не будет получать никакой информации (кроме обновлений информации +предлагаемых в вербальном режиме), пока не будет завершено сканирование всех 50-ти хостов. + +По умолчанию Nmap использует компромиссный подход к решению этой проблемы. Сначала производится сканирование +небольших групп из 5-ти хостов, поэтому первые результаты приходят быстро, затем размер группы постепенно +увеличивается до максимального - 1024. Точные значения по умолчанию зависят от заданных опций. Для большей +эффективности Nmap использует группы больших размеров для UDP сканирования и для некоторых типов TCP сканирования +портов. + +Когда максимальный размер группы задан опцией , Nmap не будет его превышать. +Минимальный размер группы задается опцией , и Nmap будет пытаться поддерживать размер +групп больше этого уровня. Возможно Nmap придется использовать группы меньше заданных размеров, когда для выполнения +условия минимальности будет не хватать целевых хостов. Эти опции могут быть использованы для удержания размера +группы внутри некоторого диапазона, хотя это редко необходимо. + +Эти опции не имеют эффекта на фазе обнаружения хостов. Там используются обычное ping сканирование +(). При сканировании с целью обнаружения хостов всегда используются большие группы для увеличения +скорости и точности. + +Основной целью использования этих опций является задание большого минимума размера группы, с тем чтобы +сканирование проходило быстрее. При сканировании сети класса C обычным выбором является 256. При сканировании +большого количества портов, превышение этого числа вряд ли поможет. При сканировании лишь нескольких портов, +наилучшим размером группы будет 2048 или больше. + + + + + + + ; + (Регулирует распараллеливание запросов) + + + + + +Эти опции регулируют общее количество запросов для группы хостов. Опции испльзуются при сканировании портов и при +обнаружени хостов. По умолчанию Nmap высчитывает степень параллельности основываясь на производительности сети. Если +пакеты отбрасываются, то Nmap использует меньшее количество запросов. Количество запросов медленно увеличивается по +мере того, как сеть продолжает нормально работать. Эти опции устанавливают минимальную и максимальную границы для этой +переменной. По умолчанию параллелизм устанавливается в 1, если сеть работает плохо, и может достигать нескольких сотен +при идеальных условиях. + +Наиболее частым вариантом применения является установка опции в значение +большее единицы, чтобы увеличить скорость сканирования плохо работающих хостов и сетей. Это очень рискованная опция, +т.к. установка большого значения может повлиять на правильность результатов сканирования. Установка этого значения +также сокращает возможности Nmap по динамическому контролю параллелизма в зависимости от условий в сети. Значение +равное 10-ти является приемлимым, хотя я прибегаю к этой опции в последнюю очередь. + +Опция иногда устанавливается для предотвращения отправки хостам более одного +запроса за раз. Это может быть полезно в комбинации с опцией (описывается далее), хотя +она и сама справляется со своими обязанностями. + + + + + + + , + , + (Регулирует время ожидания ответа на запрос) + + + + + + +В Nmap есть значение промежутка времени, в течении которого будет ожидаться ответ на запрос, перед тем как +прекратить попытки или совершить еще одну. Этот промежуток вычисляется на основе времени, в течении которого были +получены ответы на предыдущие запросы. Если в сети есть значительная и непостоянная задержка, то этот промежуток может +возрасти до нескольких секунда. Он также устанавливается на безопасном (высоком) уровне и может таким и оставаться +некоторое время, если Nmap производит сканирование не отвечающих на запросы хостов . + + +Задание значений и ниже значений по +умолчанию может существенно сократить время сканирования. Это особенно заметно при различных вариантах сканирования +с заданной опцией , а также при сканировании сильно фильтруемых сетей. Однако не торопитесь +делать этого сразу. Сканирование займет много времени, если вы укажете такое низкое значение, при котором у большинства +запросов закончиться время ожидания ответа, и они будут ретранслированы, в то время как ответы на них будут в пути. + + +Если хосты находятся в локальной сети, то 100 миллисекунда будет приемлимым значением опции +. Если при этом производится отслеживание маршурта, то для начала пропингуйте хост +в сети с помощью утилиты ICMP ping или hping2 +hping2, +у которой больше шансов обойти брандмауэр. Выясните среднее максимальное значение для, примерно, 10-ти пакетов. +Удвойте это значение для передачи опции и умножьте на три или четыре для опции +. Обычно я не устанавливаю maximum RTT ниже 100 мс, не зависимо от результатов +пингования. А также не превышаю 1000 мс. + +Опция редко используется; она может быть полезна, в случае если сеть +настолько ненадежна, что даже значения Nmap по умолчанию слишком агрессивны. Так как Nmap просто сокращает время +ожидания до минимума, в случае если сеть кажется надежной, то нужды в этой опции нет, о ней дожно быть сообщено как +о баге на nmap-dev рассылку.nmap-dev mailing list + + + + + + + + + (Задает максимальное + количество повторных передач запроса) + + + + + +Когда Nmap не получает ответа на запрос сканирования порта, это может означать, что порт фильтруется. А возможно, +запрос или ответ просто затерялись в сети. Также возможно, что у цели есть ограничение на количество ответов, что +стало причиной временной блокировки запроса. В этом случае Nmap повторную передачу исходного запроса. Если для Nmap +сеть кажется ненадежной, то она может совершить очень много попыток, перед тем как бросить это дело. Хотя это и +придает достоверность результатам сканирования, это в то же время увеличивает время сканирования. Когда +производительность критична, время сканирования может быть сокращено путем введения ограничения на максимальное +количество повторных передач запроса. Вы даже можете задать , чтобы предотвратить +все повторные попытки, хотя это не рекомендуется. + +Значением по умолчанию (без шаблона) является 10 ретрансляций. Если сеть кажется надежной, и +целевые хосты не имеют ограничений на количество ответов, то Nmap обычно делают одну повторную попытку. Поэтому +установка в низкое значение (например, 3) никак не вличет на большинство типов +сканирования. Такие значения могут значительно увеличить скорость сканирования медленных (с ограничениями на +количество ответов) хостов. Обычно вы теряете некоторую информацию, когда Nmap рано прекращает сканировать порты, +поэтому лучше дать истечь времени , и потерять всю информацию о цели. + + + + + + + (Прекращает сканирование медленных целей) + + + + + +Некоторые хосты просто требуют длительного времени сканирования. Это может быть в силу +низкой производительности или ненадежности сетевого оборудования или программного обеспечения, ограничений на +количество пакетов или ограничивающих брандмауэров. Несколько процентов наиболее медленных хостов могут занять +большую часть времени сканирования. Иногда лучшим выходом является просто пропуск таких хостов. Передайте в качестве +аргумента опции максимальное значение промежутка времени, в течении которого вы +готовы ждать. Я часто задаю 30 мин, чтобы удостовериться в том, что Nmap не потратит +более получаса на единичный хост. Имейте ввиду, что в течении этого получаса Nmap может сканировать другие хосты, так +что это не просто потеря времени. Хост, чье время истекло, пропускается. Для этого хоста не выводится ни таблица портов, +ни информации об ОС. + + + + + + + ; + (Регулирует задержку между запросами) + + + + + +Эта опция вынуждает Nmap подождать по крайней мере заданное время между каждым запросом. Это особенно полезно в +случае наличия ограничения на количество ответов у целевых хостов. Машины Solaris (как и многие другие) обычно отвечают +на запросы при UDP сканировании только одним ICMP сообщением в секунду. Посылка большего количества запросов со +стороны Nmap будет впустую. Установка значения опции в +1 сек будет поддерживать в Nmap такую медленную интенсивность. Nmap пытается +определить ограничения на количество ответов у целевых хостов и подстроить задержку между запросами соответственно, +но ничто не мешает указать вам это значение явно, если вы точно знаете, что так будет лучше. + +Когда Nmap подстраивает задержку между запросами к обнаруженному ограничению, то скорость сканироания +значительно уменьшается. Опция позволяет задать наибольшую возможную задержку. +Установка здесь маленького значения может привести к бесполезной ретрансляции пакетов или возможному пропуску портов, +если у цели есть строгий лимит на количество ответов. + +Еще одним вариантом использования опции является обход пороговых систем обнаружения +и предотвращения вторжений (IDS/IPS).intrusion detection systemsevading + + + + + + + + + (Задает минимальную интенсивность сканирования) + + + + +Функции динамического управления различными опциями времени в Nmap хорошо справляются с задачей подборки +подходящей скорости сканирования. Тем не менее, иногда вы можете заранее узнать подходящую интенсивность сканирования +сети, или можете гарантировать, что сканирование закончится к определенному времени. Когда задается опция +, Nmap будет пытаться отсылать пакеты с той же или большей, чем задано, интенсивностью. +Аргументом этой опции является положительное число, отражающее интенсивность сканирования в пакетах в секунду. Например, +задание опции означает, что Nmap будет пыпыться отсылать пакеты с интенсивностью +300 пакетов в секунду или больше. Задание низкого значения не отнимает у Nmap права работать с большей интенсивностью, +если позволяют условия. + +Существуют два варианта, при которых реальная интенсивность работы будет меньше заданного минимума. Первый, когда +заданный минимум быстрее, чем наиболее быстрый возможный уровень работы Nmap, который зависит от аппаратного +обеспечения. В этом случае Nmap будет посылать пакеты так быстро, как может; но будьте осторожны, т.к. при быстрой +скорости возможны потери точности. Второй случай, когда у Nmap больше нечего отсылать, например, в конце сканирования, +когда последние запросы уже посланы, и Nmap ожидает ответы на них. Это нормально, когда интенсивность падает в +конце сканирования или при смене групп сканирования. + +Задание минимального уровня интенсивности должно производится с осторожностью. Сканирование быстрее, чем +возможно в данной сети, может привести к потери точности. В некоторых случаях, задание выского уровня интенсивности +может привести к тому, что сканирование займет больше времени, чем с более низким уровнем. Это +может произойти в случае, если адаптивные ретрансляционные adaptive retransmissionretransmissionretransmission +алгоритмы Nmap обнаружат перегрузку сети, вызванную высоким уровнем интенсивности сканирования, и увеличат количество +ретрансляций для повышения точности сканирования. Поэтому, даже хотя пакеты отсылаются с большой интенсивностью, +еще больше пакетов отсылается впустую. Установите максимальное количество ретрансляций с помощью опции +, если вы хотите ограничить общее время сканирования. + +Опция глобальна, она оказывает влияние на все сканирование, а не на отдельные хосты. +Учитывается только при сканировании с целью обнаружения хостов и сканировании портов. Другие функции, как например +определение ОС, имеют собственные особенности управления временем. + + + + + + + + (Задает максимальную интенсивность сканирования) + + + + +Дополнительно к опции есть опция , которая ограничивает +максимальную интенсивность сканирования заданным значением. Используйте , например, +чтобы ограничиться 100 пакетами в секунду в быстрой сети. Используйте для медленного +сканирования - один пакет в десять секунд. + + также как и глобальная опция, оказывающая влияние +на все сканирование. Учитывается только при сканировании с целью обнаружения хостов и сканировании портов. + +Иногда уровень интенсивности может превышать максимальное заданное значение для больры с непредвиденными +задержками, но в среднем он будет находится на максимальном уровне или ниже. Nmap будет работать с меньшей +интенсивностью, если того требуют условия. Чтобы удерживать интенсивность сканирования внутри определенного +промежутка, используйте опции и вместе. + + + + + + + + + +Многие хосты имеют давно использующие ограничения rate limiting +на количество ICMP сообщений об ошибке (как ошибки о недостижимости порта). Многие системы сейчас используют похожие +ограничения на количество пакетов RST (сброс), генерируемых ими. Это может сильно замедлить сканирование, т.к. Nmap +подстраивается под эти ограничения. Вы можете указать Nmap игнорировать такие ограничения (для сканирования портов типа +SYN, при котором не отвечающие порты не считаются открытыми) +путем задания опции . + +Использование этой опции может привести к потери точности сканирования, т.к. Nmap могла не подождать неоходимое +время ответа RST (на которые у целевой машины есть ограничения). При сканировании типа SYN не отвечающие порты +помечаются как фильтруемые, а не закрытые, как в +случае принятия ответа RST. Это опция полезна, только когда вам важны открытые порты, а различать +закрытые и фильтруемые порты нет необходимости. + + + + + + + + (Устанавливает шаблон настроек управления временем) + + timing templatesparanoid, sneaky, polite, normal, aggressive, and insane + + +paranoid timing template +sneaky timing template +polite timing template +normal timing template +aggressive timing template +insane timing template + + +Хотя описанные выше опции управления временем мощны и эффективны, многих людей они сбивают с толку. Более того, +выбор подходящих значений может иногда занимать больше времени, чем само сканирование. Поэтому Nmap предлагает более +легкий подход, заключайющийся в применении шести шаблонов настроек. Вы можете задавать их с помощью опции + и номера шаблона (0–5) или его имени. Имена шаблонов следующие: + (), + (), + (), + (), + () +и  (). +Первые два предназначены для обхода IDS. Вежливый (polite) режим снижает интенсивность сканирования с целью меньшего +потребления пропускной способности и машинных ресурсов. Обычнй (normal) режим устанавливается по умолчанию, поэтому +опция ничего не делает. Агрессивный (aggressive) режим повышает интенсивность сканирования, +предполагая, что вы используете довольно быструю и надежную сеть. Наконец, безумный (insane) режим +insane () timing template +предполагает, что вы используете чрезвычайно быструю сеть и готовы пожертвовать точностью ради скорости. + +Эти опции позволяет определять пользователям, насколько агрессивными они хотят быть, оставляя за Nmap право +выбирать подходящие значения опций управления временем. Также шаблоны позволяют производить некоторые незначительные +корректировки скорости, для которых пока нет отдельных опций. Например, aggressive () timing template +запрещает установку динамической задержки во время сканирования выше 10 мс для TCP порт, а - выше +5 мс. Шаблоны могут использоваться в комбинации с описанными выше опциями; в этом случает будут использоваться в +качестве значений аргументы этих опций, а не значения по умолчанию, заданные в шаблонах. Я рекомендую задавать + при сканировании довольно современных и надежных сетей. Задавайте эту опцию, даже если вы +используете описанные выше опции управления временем, и вы сможете получить выгоду от этих незначительных +оптимизаций, которые включаются этой опцией. + +Если у вас приличная широкополосная связь или ethernet соединение, то я бы порекомендовал вам всегда использовать +. Некоторым людям нравится , хотя она чересчур агрессивна на мой взгляд. Иногда +люди используют , потому что думают, что так у них мешьнше шансов пропустить какие-либо хосты или +потому, что считают себя вежливыми по жизни. Они часто не осознают, насколько опция polite () timing template +медленна. Время их сканирования может занять в десять раз больше обычного. Проблемы с хостами и пропускной +способностью редки при использовании опции (), поэтому я рекомендую ее для осторожного сканирования. +Отключение функции определения версии намного более эффективно для сокращения таких проблем, чем попытка настройки +всех опций управления временем. + +Хотя опции paranoid () timing templatesneaky () timing template +могут быть полезны для обхода IDS, они отнимут очень много времени при сканировании тысяч хостов или портов. Для +такого сканирования, предпочтительнее будет задать свои точные значения, чем полагаться на опции . + +При использовании опции в любой момент времени производится сканирование только одного порта, +и перед отправкой каждого запроса проходит пять минут. и практически одинаковы, +только между запросами проходит 15 секунд и 0.4 секунды соответственно. Опция является опцией +Nmap по умолчанию, она включает распараллеливание.normal () timing template + эквивалента опциям и устанавливает максимальную задержку при TCP сканировании 10 +миллисекунд. эквивалента опциям + и устанавливает максимальную задержку при TCP сканировании 5 миллисекунд. + + + + + + + + + + Обход Брандмауэров/IDS + firewallsbypassing + intrusion detection systemsevading + +Многие пионеры Интернета представляли его в своем воображении как открутую глобальную сеть с универсальным +пространством IP адресов, позволяющую создавать виртуальные соединения между любыми двумя точками. Это позволило бы +хостам общаться на равных, обмениваясь информацией между собой. Люди могли бы получить доступ к своим домашним +системам с работы, изменяя настройки климат-контроля или открывая двери ранним гостям. Этому видению глобальной +соединенности не суждено было сбыться по причинам нехватки адресного пространства и проблемам безопасности. В ранние +1990-е организации стали использовать брадмауэры с целью сокращения возможностей соединения. Огромные сети были +отрезаны от Интернета различными программными прокси, серверами преобразования имен и пакетными фильтрами. +Неограниченный поток информации сократился до строго регламентированных каналов связи и содержимому передающемуся по +ним. + +Сетевые барьеры, такие как брандмауэры, могут сделать процесс исследования сети чрезвычайно сложным. Никаких +послаблений не намечается, т.к. предотвращение инвентаризации сети часто является ключевой целью введения таких +устройств. Тем не менее, Nmap предоставляет множество функций для облегчения понимания структуры таких сложных сетей +и для проверки того факта, что сетевые фильтры работают как предполагалось. Поддерживаются даже механизмы обхода +плохо организованных вариантов защит. Один из лучших методов проверки вашей системы безопасности - это попытка ее +обойти. Поставьте себя на место атакующего и примените описанные ниже методы к вашей сети. Запустите FTP bounce +сканирование, idle сканирование, атаку с фрагментацией пакетов или попробуйте пробиться через один из ваших +прокси-серверов. + + +В дополнении к ограничению сетевой активности, компании все больше и больше используют мониторинг траффика с +помощью систем обнаружения вторжений (intrusion detection systems - IDS). Все эти системы используют правила, +составленные для обнаружения различного рода сканирований с помощью Nmap, т.к. сканирование часто оказывается +предвестником атак. Многие из этих систем недавно были преобразованы в системы +предотвращения вторжений (intrusion prevention systems - IPS), +intrusion prevention systems +intrusion detection systems +которые блокирую трафик, расцениваемый как злонамеренный. К сожалению для сетевых администраторов и продавцов IDS, +обнаружение вторжений с большой долей вероятности путем анализа паетов данных является сложной задачей. Атакующие с +помощью терпения, навыков и с помощью некоторых опций Nmap обычно могут незамеченными обойти системы IDS. Между тем, +администраторам приходится иметь дело с большим количеством ложных положительных результатов, когда такие системы +ошибаются и блокируют безвредную сетевую активность. + +Время от времени некоторые высказывают предположения, что Nmap не следует предоставлять фукнции для обхода IDS. +Они аргументируют свою позицию тем, что эти функции могут быть с равным успехом использованы атакующими, так же как они +используются администраторами для улучшения систем защиты. Проблема в таких рассуждениях заключается в том, что +такие методы будут по-прежнему использоваться атакующими, которые просто найдут другие утилиты или самостоятель +добавят такие функции в Nmap. Тем временем администраторам будет намного сложнее выполнять свою работу. Использование +только современных FTP серверов намного более мощное средство защиты, чем попытки предотвратить распространение +утилит позволяющих реализовать FTP bounce атаки. + + +Не существует такой магической опции, которая позволяла бы обнаруживать и обходить брандмауэры и IDS. Для этого +необходимы навыки и опыт. Подробное описание таких методов выходит за рамки данного справочного руководства, где +содержаться только важные опции с описанием их возможностей. + + + + + (фрагментировать пакеты); + (используя заданное значение MTU) + + + + + + При задании опции все типы сканирования (включая различные типы пингования) будут + использовать маленькие фрагментированные IP пакеты. Идея состоит в том, чтобы разбить TCP заголовок на + части и посылать их в различных пакетах для того, чтобы не дать определить пакетным фильтрам и системам + обнаружения вторжения, что вы делаете. Будьте осторожны с этой опцией! Некоторые программы имеют проблемы с + обработкой таких маленьких пакетов. Один старый сниффер Sniffit аварийно завершал работу после принятия + первого фрагмента. Задайте эту опцию один раз, и Nmap будет разбивать пакеты на части по 8 байт или меньше + после IP заголовка. Таким образовм, 20-ти байтный TCP заголовок будет разбит на 3 пакета. Два из них будут + содержать по 8 байт этого заголовка, а третий - последние 4. Конечно же, каждый фрагмент также имеет IP + заголовок. Задайте опцию снова, чтобы использовать фрагменты по 16 байт + (тем самым сократится число фрагментов). + giving twice + Или вы можете задать свой собственный размер фрагмента с помощью опции . Не используйте + опцию вместе с . Размер должен быть кратным 8. В то время как + фрагментированные пакеты не смогут пройти через пакетные фильтры и брандмауэры, которые ставят в очередь + все IP фрагменты, например, с помощью опции CONFIG_IP_ALWAYS_DEFRAGв ядре Linux, некоторые + сети не могут позволить себе связанное с этим падение производительности и поэтому не используют такую + возможность. Другие могут использовать ее, потому что фрагменты в таких сетях могут идти по разным маршрутам. + Некоторые системы фрагментируют исходящие пакеты прямо в ядре. Linux с включенным модулем отслеживания + соединения iptables iptables тому пример. + Произведите сканирование с включенным сниффером Wireshark + + Wireshark, + чтобы убедиться, что пакеты фрагментируются. Если в вашей ОС возникают проблемы, попробуйте задать опцию + + , чтобы обойти IP слой и отсылать сырые ethernet фрэймы. + + + + + + + (Маскировка сканирования с помощью фиктивных хостов) + + decoys + + + Производится сканирование с использованием фиктивных хостов; в этом случае цель сканирования считает, + что заданные вами фиктивные хосты также производят ее сканирование. Хотя IDS цели может сообщить о том, что + было произведено 5-10 сканирований портов с каждого IP адреса, система не сможет узнать, с какого из этих + IP адресов действительно производилось сканирование, а какие были лишь безвредными ловушками. Хотя этот тип + сканирования может быть распознан путем отслеживания маршрута, сбрасыванием ответа или другими активными + методами, в большинстве случае он является эффективным способом сокрытия вашего IP адреса. + + При задании фиктивных хостов, разделяйте их запятыми; вы также можете указать + ME + ME (decoy address) + как один из фиктивных хостов для задания позиции в списке вашего реального IP адреса. Если вы задаете + ME в шестой позиции или дальше, некоторые обычные системы обнаружения + сканирования портов (например, Solar Designer's + Solar Designer excellent Scanlogd) + Scanlogd + вряд ли вообще отобразят ваш IP адрес. Если вы не задаете флаг ME, Nmap + поставит его в произвольную позицию. Вы также можете использовать + RNDRND (decoy address) + для генерации произвольного, незарезервированного IP адреса, или + RND:чило для генерации определенного + числа адресов. + Имейте ввиду, что хосты, указанные вами в качестве фиктивных, должны работать, иначе вы просто + зафлудите целевые хосты с помощью запросов на подключение. Также легко будет определить, какой хост + действительно производит сканирование, если только он будет работать. Возможно вы захотите использовать IP + адреса вместо имен (в этом случае сети, в которых находятся фиктивные хосты, не видят вас в своих логах). + + + Фиктивные хосты используются и во время фазы обнаружения хостов (используя ICMP, SYN, ACK и что там + еще), и во время сканирования портов. Также они используются во время удаленного определения ОС + (). Эта техника не работает при сканировании с целью определения версии или с целью + обнаружения возможности установления TCP соединения. Во время сканирования задержки принудительно + устанавливаются между каждой группой обманных запросов. Т.к. ловушки посылаются одной группой сразу, то это + может временно нарушить работу системы контроля ограничений нагрузок. + + Использование большого количества фиктивных хостов может снизить скорость вашего сканирование и даже + сделать его менее точным. Также, некоторые ISP будут отфильтровывать ваши обманные пакеты, в то время как + некоторые вообще никак не ограничивают такого рода IP пакеты. + + + + + + (Изменить исходный адрес) + + spoofing source address + + + + В некоторых обстоятельствах Nmap может не определить ваш адрес (в этом случае Nmap сообщит вам об этом). + В этом случае используйте опцию , передав ей в качестве параметра IP адрес, чтобы указать + интерфейс, который вы хотите использовать для отправки пакетов. + + Также эта опция может быть использована для того, чтобы заставить "думать" цель сканирования, что ее + сканирует кто-то другой. Представьте компанию, которая частенько подвергается + сканированию портов со стороны конкурента! Как правило, в этом случае необходимо использовать также опции + и . Имейте ввиду, что вы не будете получать в ответ никаких пакетов + (они будут отправлены на указанный вами IP адрес), поэтому Nmap не будет выводить какой-либо полезной + информации. + + + + + + + (Использовать конкретный интерфейс) + + interface + + + + Указывает Nmap, какой интерфейс использовать для отправки и приема пакетов. Nmap в состоянии + определить его автоматически, но сообщит вам, если не сможет. + + + + + + + (Задать свой номер порта) + + + source port number + + + +Одной из удивительно часто встречаюшиься ошибок при конфигурировании системы безопасности является тенденция +доверять траффику основываясь только на номере исходного порта. Легко понять как это происходит. Администратор +устанавливает новенький брандмауэр, и его заваливают жалобы от неблагодарных пользователей, чьи приложения перестали +работать. В частности, может не работать 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 предоставляет опции и (они эквиваленты) для того, чтобы +воспользоваться такими ошибками. Просто задайте номер порта, и Nmap будет использовать его для отправки пакетов. Nmap +должна использовать различные номера портов, чтобы точно определить ОС; также DNS запросы игнорируют опцию +, т.к. для их осуществления Nmap использует системные библиотеки. Большинство TCP +вариантов сканирований, включая SYN сканирование, полностью поддерживают эту опцию, как и UDP сканирование. + + + + + + + (Добавить произвольные данные к посылаемым + пакетам) + + + + В обычных условиях Nmap посылает минимальные пакеты, содержащие только заголовок. Так TCP пакеты + составляют 40 байтов, а запросы на ICMP эхо ответ всего 28. Эта опция указывет Nmap добавлять заданное число + произвольных байтов к посылаемым пакетам. Эта опция не влияет на пакеты, используемые для определения ОС + () + no effect in OS detection, + поскольку в этом случае необходимо тщательное соответствие запросов, но большинство пакетов, используемых для + различных видов пингования и сканирования портов поддерживают ее. Это немного замедляет сканирование, зато + делает его более незаметным. + + + + + + + (Посылать пакет с заданным ip + опциями) + + IP options + + + Протокол IP предоставляет + несколько опций, которые могут быть заданы в заголовке пакета. В отлиии от повсеместно используемых TCP опций, + опций IP редко видны из соображений практичности и безопасности. Фактически, большинство роутеров Интернета + блокируют наиболее опасные опации, как, например, отслеживание источника. И все же опции могут быть полезны для + определения и манипулирования сетевым маршрутом к целевым машинам. Например, возможно вы сможете воспользоваться + опцией для определния маршрута до цели, когда более традиционные методы в стиле tracerout будут бесполезны. Или + если ваши пакеты блокируются каким-либо брандмауэром, вы можете попробовать задать маршрут с менее строгим + сетевым экраном. + + Наиболее действенным способом задания IP опций является передача их значений в качестве аргументов опции + . Каждое шестнадцатиричное значение задается с помощью + \x, после которого следуют два цифры. Вы можете повторять символы, поставив + после них звездочку и указав количество повторений. Например, + \x01\x07\x04\x00*36\x01 это шестнадцатиричная строка, содержащая 36 NUL байтов. + + + Nmap также предоставляет механизм сокращений для задания таких опций. Просто передайте в качестве + аргумента букву R, T или + U для задания опции записи маршрута, + record route IP option записи временной метки + record timestamp IP option или обеих + соответственно. Ослабление или ужесточение отслеживания источника + source routing + может быть задано с помощью L или S, + затем пробела, а затем разделенный пробелами список IP адресов. + + Если вы хотите заданные опции в передаваемых и получаемых пакетах, задайте опцию + . Для большей информации и примеров использования IP опций с Nmap, смотрите + . + + + + + + + + (Установить IP поле time-to-live (время жизни) + + time to live (TTL) + + + + Устанавливает IPv4 поле time-to-live в посылаемых пакетах в соответствии с заданным значением. + + + + + + (Использовать произвольный порядок целей сканирования) + + randomization of hosts + + + + Указывает Nmap перемешать каждую группу, содержащую до 16384 хостов, перед началом сканирования. Это + может сделать сканирование менее заметным для различного рода систем сетевого мониторинга, особенно если вы + используете низкие значения таймингов. Если вы хотите перемешивать большие по размеру группы, то увеличьте + значение + PING_GROUP_SZ + PING_GROUP_SZ + в nmap.hnmap.h + и перекомпилируйте программу. Альтернативным решением является генерация списка целевых IP адресов + (), обработка его с помощью Perl скрипта и + затем передача его Nmap в качестве параметра опции + .randomizing hosts with + + + + + + + + (Задать собственный MAC адрес) + + spoofing MAC address + + + + Указывает Nmap использовать заданный MAC адрес + MAC address + для всех отсылаемых сырых ethernet фреймов. Эта опция подразумевает использование, + implied by + чтобы быть уверенным, что Nmap действительно использует пакеты уровня ethernet. MAC адрес может быть задан в + нескольких форматах. Если это просто число 0, то Nmap выбирает польностью + произвольный MAC адрес для сессии. Если задается строка в виде простого набора шестнадцатиричных цифр (можно + разделять пары двоеточиями), то Nmap будет использовать эту строку в качестве MAC адреса. Если задано менее 12-ти + шестнадцатиричных цифр, то Nmap заполняет остаток из 6 байтов произвольными значениями. Если в качестве аргумента + не передается ни 0, ни шестнадцатиричная строка, то Nmap просматривает + nmap-mac-prefixes в поисках названия производителя, содержащего данную строку + (нечувствительна к регистру). Если найдено совпадение, то Nmap использует OUI производителя (3-байтный префикс), + organizationally unique identifier (OUI)nmap-mac-prefixes + а оставшиеся 3 байта заполняет произвольно. Примеры аргументов опции : + Apple, 0, + 01:02:03:04:05:06, deadbeefcafe, + 0020F2 и Cisco. Эта опция оказывает влияние + только на сканирования с использованием сырых пакетов, такие как SYN сканирование или определение ОС, а также + не ориентированные на соединение функции, такие как определение версии или Nmap Scripting Engine (NSE). + + + + + + + (Посылать пакеты с фиктивными TCP/UDP контрольными суммами) + + TCP checksum + checksums + + + + + Указывает Nmap использовать неправильные TCP или UDP контрольные суммы для пакетов, отправляемых на + целевой хост. Т.к. практически все реализации стека IP просто не обрабатывают такие пакеты, то любые ответы + скорее всего приходят от брандмауэров или IDS, которые не обременяеют себя проверкой контрольной суммы. Более + детальное описание этой техники смотрите на + + + + + + + + + + + Вывод результатов + output formats + + Любая утилита безопасности полезна ровно настолько, насколько полезны выдаваемые ею результаты. Различные + сложные тесты и алгоритмы имеют мало пользы, если они не представлены в хорошо организованной и удобной для + понимания форме. Предоставляя разлиные способы вывода результатов Nmap используется людьми и программным + обеспечением, т.к. нет такого формата, который подходил бы всем. Поэтому Nmap предлагает несколько форматов, + включая интерактивный режим для чтения людьми и XML для удобного анализа программным обеспечением. + +В дополнении к предоставлению различных форматов вывода, Nmap предлагает опции для упрваления уровнем вербальности +выходных данных и отладочных сообщений. Результаты могут быть направлены на стандартный вывод или в файлы, причем Nmap +может как добавлять в конец файлов, так и создавать новые. Выходные файлы также могут быть использованы для +продолжения остановленного сканирования. + +Nmap предоставляет пять различных выходных форматов. Формат по умолчанию называется +интерактивный вывод,interactive output, результаты передаются на стандартный вывод (stdout).stdoutstandard output +Есть также +нормальный вывод,normal output, +который подобен интерактивному, за исключением того, что в процессе работы выводится меньше информации и предупреждений, +т.к. предполагатеся, что эти результаты будут анализироваться после завершения сканирования, а не интерактивно. + +XML выводXML output +это один из наиболее важных выходных форматов, т.к. он может быть конвертирован в HTML, лего анализируется программами +типа графического пользовательского интерфейса Nmap или может быть экспортирован в базу данных. + +Оставшимися двумя форматами являются +grepable форматgrepable output, +который содержит большую часть о целевом хосте в одной строке, и +sCRiPt KiDDi3 0utPUtscR1pT kIddI3 вывод +для пользователей, которые считают себя |<-r4d. + +В то время как интерактивный вывод устанавливается по умолчанию и не имеет связанных с ним опций командой строки, +опции остальных четырех форматов вывода имеют похожий синтаксис. В качестве аргумента они принимают имя файла, где +должны храниться результаты. Возможно испльзование нескольких форматов, но каждый из них должен быть задан только один +раз. Например, вы хотите сохранить результаты предоставляемые форматом нормального вывода для себя, и в то же время +сохранить в формате XML результаты того же сканирования для анализа программами. Вы можете сделать это с помощью опции +. Для краткости здесь используются простые имена типа + myscan.xml, но рекомендуется использовать более описательные имена. Каждый + выбирает имена по своему; я обычно использую длинные имена, содержащие дату сканирования и пару слов описания, и + помещаю эти файлы в директории с именем компании, которую я сканирую. + +Хотя с помощью этих опций информация сохраняется в файлы, Nmap по-прежнему выводит интерактивную информацию на +стандартный вывод. Например, с помощью опции nmap -oX myscan.xml target XML +сохраняется в файл myscan.xml, а стандартный вывод заполняется информацией, как +если бы опция вообще не была задана. Вы можете изменить это поведение передав в качестве +аргумента к одному из форматов вывода символ дефиса. Это деактивирует интерактивный вывод, а на стандартный вывод +будет пересылаться информация в заданном вами формате. Поэтому с помощью команды +nmap -oX - target на стандартный вывод будет пересылаться только XML.outputto stdout with - +Серьезный ошибки могут выводиться в стандартный поток ошибок, stderr.standard errorstderr + + +В отличии от некоторых аргументов Nmap, пробел между флагом формата файла (например, ) и +именем файла или дефисом здесь обязателен. Если вы опустите флаги и зададите аргументы типа или +, из-за функции обратной совместимости Nmap будут созданы файлы +нормального формата с именами G- и +Xscan.xml соответственно. + +Все эти аргументы поддерживают strftimestrftime conversions in the filename +перобразования в именах файлов. %H, %M, +%S, %m, %d, +%y и %Y это то же самое что и в +strftime. %T то же самое что и +%H%M%S, %R то же самое что и +%H%M и %D то же самое что и +%m%d%y. Знак %, после которого следует любой +символ просто даст этот символ (%% даст вам символ процента). Поэтому опция + будет использовать XML файл в формате +scan-144840-121307.xml. + +Nmap также предоставляет опции для управления вербальностью сканирования, а также для добавления в конец файлов +вместо их перезаписи. Все эти опции описаны ниже. + +Форматы вывода Nmap + + + (Нормальный вывод) + + normal output + + + Перенаправляет нормальный вывод в заданный файл. Как отмечалось выше, + немного отличается от интерактивного вывода. + + + + + + (XML вывод) + + XML output + + + + Перенаправляет XML вывод в заданный файл. Nmap включает определение + типа документа (DTD), что позволяет XML парсерам использовать XML вывод Nmap. Изначально это предназначалось + для программного использования, хотя это также позволяет людям интерпретировать XML вывод Nmap. DTD + определяет возможные элементы, а также перечисляет атрибуты и значения, которые они могут принимать. Последняя + версия всегда доступна на . + + XML предоставляет формат, который легко обрабатывается программным обеспечением. Бесплатные XML парсеры, + доступны для всех основных языков программирования, включая C/C++, Perl, Python и Java. Люди даже написали + привязки для большинства из этих языков для обработки выходных данных Nmap. + Примерами являются Nmap::Scanner + Nmap::Scanner + и Nmap::Parser + Nmap::Parser + на Perl CPAN. В большинстве случаев взаимодействия какого-либо приложения и Nmap, XML является + предпочитаемым форматом. + + XML вывод связывается с XSL таблицей стилей, которая используется для форматирования результатов как + HTML. Самым легким способом использования этой возможности является загрузка XML вывода в браузер типа + Firefox или IE. По умолчанию это будет работать только на машине, на которой установлена Nmap (или + настроенной аналогично) из-за жесткой привязки полного пути файла + nmap.xsl. Используйте опции или + для создания XML файлов отображаемых как HTML только на подключенной к + интернету машине. + + + + + + + (ScRipT KIdd|3 oUTpuT) + + scR1pT kIddI3 output + + + Script kiddie формат практически такой же как и интерактивный, за тем исключением, что после окончания + сканирования он перерабатывается, чтобы больше подходит l33t HaXXorZ, который смотрит свысока на Nmap из-за + постоянного использования заглавных букв и правовисания. Лишенные чувства юмора люди должны иметь ввиду, что эта + опция высмеивает script kiddies, перед тем как ругать меня за то, что я якобы помогаю им. + + + + + + (grepable вывод) + + grepable output + + + +Это формат обсуждается последним, т.к. он нежелетален для использования. Формат вывода XML намного мощенее, а +также особенно удобен для опытных пользователей. XML это стандарт, для которого доступны дюжины отличных парсеров, в +то время как grepable вывод всего лишь мое простое изобретение. XML достаточно гибок для поодержания новых функций Nmap +по мере их выхода, тогда как мне частенько приходится опускать некоторые возможности grepable вывода из-за недостатка +места. + +Тем не менее, этот формат вывода все еще довольно популярен. Это простой формат, который просто описывает +каждый хост в одну строку и может быть легко обработан стандартными Unix утилитами как grep, awk, cut, sed, diff и Perl. +Даже я иногда использую этот формат вывода. Поиск хостов, на которых открыт SSH порт или работает Solaris сводится +к простой передаче результатов утилите grep, а затем утилитам типа awk или cut для вывода желаемой информации. + +Grepable вывод состоит из комментариев (линий начинающихся с #)grepable outputcomments in и строк описывающих цели. Каждая строка включает +комбинацию из 6 помеченных полей, разделенных знаками табуляции и оканчивающихся двоеточием. +Поля следующие: Хост, Порты, +Протоколы, Ignored State, +ОС, Seq Index, +IP ID и Статус. + +Наиболее важным из этих полей обычно является Порты, где дается описание +каждого интересного порта. Это поле представляет собой разделенный запятыми список портов. Каждый элемент этого списка +описывает один интересный порт и состоит из семи подполей, разделенных знаком косой черты (/). Подполя следующие: +Номер порта, Состояние, Протокол, Владелец, Служба, SunRPC информация и Информация о версии. + +Как и в случае с XML выводом, это руководство не позволяет полностью описать формат. Более подробное описание +этого формата доступно с . +на . + + + + + + + (Использовать все форматы вывода) + + + + Для удобства вы можете задать опцию , + чтобы сохранить результаты сканирования в обычном, XML и grepable форматах сразу. Они будут содержаться + в файлах + базовове_имя_файла.nmap, + базовове_имя_файла.xml и + базовове_имя_файла.gnmap соответственно. Как + и с большинством программ вы можете предварять имя файла путем к директории, например, + ~/nmaplogs/foocorp/ для Unix или + c:\hacking\sco для Windows. + + + + + + Опции управления вербальностью и отладкой + + + (Увеличить уровень вербальности) + + verbosity + + + + Увеличение уровня вербальности влечет за собой вывод большего количества информации во время + сканирования. Когда Nmap предполагает, что сканирование займет больше нескольких минут, будет выводиться + приблизительное время завершения работы и открытые порты по мере их обнаружения. Задайте эту опцию дважды + или более для увеличения количества выводимой информации. + giving more than once + + + Большинство изменений касаются только интерактивного режима; некоторые также нормального и + script kiddie режимов. Остальные форматы вывода предназначены для обработки машинами, поэтому вся + необходимая информация выдается Nmap по умолчанию. Тем не менее существуют несколько изменений в других + режимах, когда размер выходной информации может быть существенно сокращен путем отбрасывания некоторых + деталей. Например, линия комментариев в grepable формате, предоставляющая список всех просканированных портов, + выводится только в вербальном режиме, т.к. список может быть довольно длинный. + + + + + + + (Увеличить или установить уровень отладки) + + debugging + + + + +Когда даже вербальный режим не предоставляет вам достаточную информацию, вы можете использовать отладку! Отладка +активируется опцией командной строки (), и уровень отладочной информации может быть увеличен путем +задания этой опции несколько раз.giving more than once +В качестве альтернативы, вы можете передать уровень отладки как аргумент опции . Например, опцией + устанавливается девятый уровень. Это наивысший уровень, который будет предоставлять тысячи +строк, до тех пор пока вы не запустите очень простое сканирование небольшого количества целей. + +Отладка полезна, если вы предполагаете, что в Nmap есть баг, или если вы просто озадачены тем, что делает Nmap и +почему. Т.к. эта функция по большому счету предназначена для разработчиков, то выходная информация не всегда понятна. +Вы можете получить что-то типа: Timeout +vals: srtt: -1 rttvar: -1 to: 1000000 delta 14987 ==> srtt: 14987 +rttvar: 14987 to: 100000. Если вы не понимаете, что это означает, вы можете проигнорировать эту +информацию, посмотреть в исходному коде или попросить помощи у разработчиков (nmap-dev).nmap-dev mailing list +Некоторые линии довольно понятны, но сообщения становятся более неясными с увеличением уровня отладки. + + + + + + + (Отслеживание принятых и переданных пакетов и данных) + + + + + Указывает Nmap выводить краткую информацию о каждом принятом и отправленном пакете. Обычно используется + для отладки, но также может быть полезна новичкам для понимания того, что же действительно делает Nmap. Чтобы + избежать вывода тысяч строк, вы можете ограничить количество портов для сканирования, например опцией + . Если вас интересует только то, что происходит при процессе определения версии, то + вместо этой опции используйте . + + + + + + (Показывать только открытые (или возможно открытые) порты) + + + + + + +Иногда вас интересуют только порты, к которым вы фактически можете подключиться +(а именно открытые), и вам не нужны результаты о +закрытых, фильтруемых и +закрытых|фильтруемых портах. Обработка выходной информации может быть легко +произведена с помощью таких утилит как +grep, awk и +Perl, но по многочисленным просьбам эта функция была добавлена в Nmap. +Задайте опцию , чтобы видеть информацию только об +открытых, открытых|фильтруемых и +не фильтруемых портах. Эти три типа портов расцениваются как обычно, что означает, +что открытые|фильтруемые и нефильтруемые порты +могут быть приняты во внимание, если их набралось большое количество. + + + + + + + + (Вывести список интерфейсов и роутеров) + + + Выводит список интерфейсов и системных роутеров, обнаруженных Nmap. Это полезно для отладки проблем с + роутерами и неправильного описания устройств (когда, например, Nmap рассматривает PPP соединение как ethernet). + + + + + (Записывать ошибки/предупреждения в выходной файл нормального режима) + + + + + Обычно предупреждения и ошибки выводятся Nmap только на экран (интерактивный вывод), и не сохраняются + в файлах нормального режима вывода (заданных опцией ). Если вы хотите записывать эти + сообщения в заданные вами файлы, то используйте эту. Это может быть полезно, если вы не просматриваете + интерактивный вывод или хотите сохранить все ошибки во время отладки какой-либо проблемы. Сообщения об + ошибках и предупреждениях по-прежнему будут выводится в интерактивном режиме. Это не будет работать для + большинства ошибок, вызванных неправильным заданием аргументов командой строки, т.к. Nmap может не успеть + проинициализировать выходные файлы этих команд. В дополнении ко всему, некоторые предупреждения и ошибки + Nmap используют другую систему, которая еще не поддерживает данную опцию. + + Альтернативой опции может служить перенаправление интерактивного вывода + (включая стандартный поток ошибок) в файл. Большинство командных оболочек Unix легко справится с этим, но + это может быть проблематично на Windows. + + + + + + + Различные опции вывода + + + + (Добавлять в конец, а не перезаписывать выходные файлы) + + + + + Когда вы передаете в качестве аргумента какому-либо флагу формата вывода (например, + или ) имя файла, то по умолчанию этот файл перезаписывается. Если вы + хотите оставить текущее содержание файла, а новые результаты добавлять в конец, используйте опцию + . В результате все указанные файлы вывода не будут перезаписываться, а + новое содержимое будем добавляться в конец. Существуют некоторые сложности с XML выводом + (), т.к. результирующий файл в этом случае обычно не сможет быть правильно + проанализирован программами, пока не вы подправите его вручную. + + + + + + (Продолжить прерванное сканирование) + + resuming scans + + + + + Некоторые всесторонние варианты сканирования Nmap могут занимать очень продолжительное время - порядка + нескольких дней. И они не всегда работают до завершения. Различные ограничения могут не позволить Nmap + сканировать в течении рабочих часов, сеть может перестать работать, машина, на которой запущена Nmap может + быть перезагружена, или сама Nmap может вылететь. Администратор, использующий Nmap, может отменить + сканирование по каким-то другим причинам, просто нажав ctrl-C. Запуск целого + сканирования с самого начала может быть нежелателен. К счастью, если были сохранены логи нормального + () или grepable формата (), пользователь может продолжить + сканирование с того места, на котором оно было остановлено. Просто задайте опцию + и передайте в качестве аргумента имя выходного файла обычного или grepable формата. + Никакие другие опции использовать не разрешается, т.к. Nmap будет продолжать сканирование с заданными ранее + опциями. Просто запустите Nmap командой + nmap --resumeимя_лог_файла. Nmap будет + добавлять новые результаты к выходным файлам, определенным при предыдущем запуске. Выходные файлы формата + XML не поддерживаются функцией возобновления работы, т.к. комбинирование результатов двух сканирований в один + правильный XML файл является сложной задачей. + + + + + + (Устанавливает XSL таблицу стилей для + преобразования XML вывода) + + + + + Nmap использует XSL + XSL + таблицу стилей + stylesheet + nmap.xsl + nmap.xsl + для просмотра или перевода XML вывода в HTML. + HTML from XML output + XML вывод включает директиву xml-stylesheet, + которая указывает на файл nmap.xml, + туда, где он был размещен Nmap при установке (или на текущую рабочую директорию в Windows). Просто + загрузите XML вывод Nmap в любой современный веб браузер, и он самостоятельно найдет файл + nmap.xsl для отображения результатов. Если вы хотите использовать + другой файл таблицы стилей, то передайте имя этого файла в качестве аргумента опции + . Вы должны использовать полный путь к файлу или URL. Один из примеров: + . Эта опция указывает браузеру загружать + последнюю версию таблицы стилей с Nmap.Org. Опция делает то же самое, но без + лишнего набора на клавиатуре и запоминания. Загрузка XSL с Nmap.Org облегчает просмотр результатов на машине, + на которой не установленна Nmap (и поэтому нет файла nmap.xsl). Поэтому + URL часто бывает более полезен, но локальный файл nmap.xsl используется + по умолчанию из соображений приватности. + + + + + + (Загружает таблицу стилей с Nmap.Org) + + + + + Эта опция является просто псевдонимом + . + + + + + + (Убрать объявление XSL таблицы стилей из XML) + + + + + Задайте эту опцию, чтобы не ассоциировать какую-либо XSL таблицу стилей с XML выводом. В этом случае + директива xml-stylesheet опускается. + + + + + + + + + + + Различные опции + В этой секции описываются некоторые важные (и не очень важные) опции, которые не подходят к другим + категориям. + + + + + (Включает IPv6 сканирование) + + IPv6 + + + + Начиная с 2002 года Nmap имеет поддержку протокола IPv6 для своих наиболее используемых функций. + В частности, пинг сканирование (только TCP), выявление возможности установки соединения и определение + версии имеют поддержку протокола IPv6. Синтаксис команд такой же как и обычный за исключением того, что + вы добавляете опцию . Конечно же, вы должны использовать синтаксис IPv6, если вы + указываете адрес, а не имя хоста. Адрес может выглядеть как + 3ffe:7501:4819:2000:210:f3ff:fe03:14d0, поэтому лучше использовать + имена хостов. Вывод выглядит так же как и обычный, только на линии интересных портов будет + IPv6 адрес. + + Хотя протокол IPv6 еще не завоевал весь мир, в некоторых (обычно Азиатских) странах он используется + интенсивно, и большинство современных операционных систем поддерживают его. Чтобы использовать Nmap с + протоколом IPv6, и источник и цель сканирования должны быть настроены на работу с ним. Если ваш ISP + (как большинство из них) не предоставляет вам IPv6 адрес, вы можете использовать широко распространенный + и работающий с Nmap сервис Tunnel Brokers. Я использую бесплатный сервис + IPv6 tunnel broker + на . Другие подобные сервисы + перечислены на Wikipedia. + + + + + + + (Опции агрессивного сканирования) + + + + + Этой опцией активируется набор агрессивных опций сканирования. Я еще не решил до конца, какие же + опции будут использоваться. Сейчас этот набор включает определение ОС (), + сканирование с целью определения версии (), сканирование с использованием скриптов + () и трассировку (). + features enabled by + Возможно в будущем будут добавлены другие функции. Целью является создание всестороннего набора опций + сканирования, чтобы людям не надо было запоминать большое количество флагов. Тем не менее, т.к. сканирование + с использованием скриптов с настройками по умолчанию расценивается как "назойливое", вам не следует + использовать опцию для сканирования целевых сетей без разрешения. Эта опция активирует + только возможности, но не устанавливает опции времени (timing) (такие как ) или опции + вербального вывода (), которые вы, возможно, хотели бы использовать. + + + + + + (Определяет место расположения файлов + Nmap) + + + + + Во время работы Nmap получает некоторые данные из файлов + nmap-service-probes, + nmap-services, + nmap-protocols, + nmap-rpc, + nmap-mac-prefixes и + nmap-os-db. Если место расположение какого-либо из этих файлов было + задано конкретно (используя опции или ), то оно + используется для этого файла. Далее Nmap ищет эти файлы в директории, заданной опцией + (если задана). Если файлы не были найдены там, то Nmap ищет их в директории, + определенной переменной окружения NMAPDIR NMAPDIR environment variable. + Далее идут + ~/.nmap.nmap directory + для реальных и действующих в данный момент UIDs (только POSIX системы) или расположение исполняемого файла + Nmpa (только Win32), и далее /usr/local/share/nmap или + /usr/share/nmap. В последнюю очередь Nmap будет искать эти файлы в + текущей директории. + + + + + + (Задает определенный файл служб) + + + + + Указывает Nmap использовать заданный файл служб вместо файла + nmap-services, который поставляется вместе с Nmap. Использование этой + опции также подразумевает использование опции быстрого сканирования (). Смотрите описание + для более подробной информации о файлах данных Nmap. + + + + + + + (Задает определенный файл запросов для служб) + + + + + Указывает Nmap использовать заданный файл запросов для служб вместо файла + nmap-service-probes, который поставляется вместе с Nmap. Смотрите описание + для более подробной информации о файлах данных Nmap. + + + + + + (Использовать сырой уровень ethernet) + + + + + Указывает Nmap посылать пакеты с использование более низкого сырого уровня ethernet, а не с + использованием более высокого уровня IP (сетевого). По умолчанию Nmap выбирает тот способ, который + больше подоходит для используемой платформы. Сырые сокеты (уровень IP) + raw sockets в общем случае более эффективны + для Unix машин, в то время как использование ethernet фреймов необходимо для операционных систем Windows, т.к. + Microsoft отключила в них поддержку сырых сокетов. Nmap по-прежнему использует сырые IP пакеты на Unix не + смотря на эту опцию, когда нет другого выбора (как в случае с не-ethernet соединениями). + + + + + + + (Использовать сырой уровень IP) + + + + + Указывает Nmap посылать пакеты с использование сырых IP сокетов, а не с использованием более низкого + уровня ethernet фреймов. Это дополнение к опции описанной выше. + + + + + + (Подразумевать, что у пользователя есть все привилегии) + + + + + Указывает Nmap, что у нее есть необходимые привилегии для использования сырых сокетов, + пакетного сниффинга и сходных операций, которые обычно требуют привилегий пользователя root на Unix системах. + privileged users + + authorized usersprivileged users По умолчанию Nmap завершает + работу, если были запрошены такие опреации, но geteuid не нуль. + Опцию хорошо использовать на системах с возможностями ядра Linux или подобных, + которые могут быть сконфигурированы так, что непривилегированные пользовтели смогут осуществлять сканирование + с использованием сырых сокетов. Удостоверьтесь, что эта опция указана перед любымими опциями требующими + привилегий (сканирование SYN, определение ОС и т.д.). Переменная окурежния + NMAP_PRIVILEGED + NMAP_PRIVILEGED environment variable + может быть установлена как равнозначная альтернатива опции . + + + + + + (Подразумевать, что у пользователя нет привилегий для использования сырых + сокетов) + + unprivileged users + + + + + Эта опция противоположна . Указывает Nmap, что у пользователя нет + привилегий для использования сырых сокетов и сниффинга. Полезна для тестирования, отладки или когда по + какой-то причине на вашей системе не работае механизм сырых сокетов. Переменная окружения + NMAP_UNPRIVILEGEDNMAP_UNPRIVILEGED environment variable + может быть установлена как равнозначная альтернатива опции . + + + + + + + + (Освободить память перед завершением работы) + + + + + Эта опция полезна только во время отладки утечки памяти. Заставляет Nmap освободить занянутю память + перед завершением работы, что облегчает задачу обнаружения действительной утечки памяти. В обычном режиме + работы Nmap пропускает этот шаг, так ОС делает это самостоятельно при закрытии процесса. + + + + + + + ; (Вывести номер версии) + + + + + Выводит номер версии Nmap и завершает работу. + + + + + + ; (Вывести страницу помощи) + + + + + Выводит небольшую страницу помощи с наиболее часто используемыми командами и опциями. Запуск Nmap без + аргументов приводит к такому же результату. + + + + + + + + Взаимодействие во время выполнения<indexterm significance="normal"><primary>runtime interaction</primary></indexterm> + + Во время работы Nmap, все нажатые клавиши фиксируются. Это позволяет вам взаимодействовать с программой + не прерывая и не перезапуская ее. С помощью некоторых клавиш можно изменить опции сканирования, при + использовании же других будут выведены сообщения о текущем статусе сканирования. Существует договоренность, что + строчные буквы увеличивают количество выводимой информации, а + прописные буквы уменьшают. Для справки можно нажать ‘?’. + + + + / + + + Увеличить / уменьшить уровень вербальности + + + + + / + + + Увеличить / уменьшить отладочный уровень + + + + + / + + + Включить / выключить отслеживание пакетов + + + + + + + + Вывести справку о взаимодействии во время выполнения + + + + + Что-либо другое + + + Выведет сообщение типа: + Stats: 0:00:08 elapsed; 111 hosts completed (5 up), + 5 undergoing Service Scan + Service scan Timing: About 28.00% done; ETC: 16:18 + (0:00:15 remaining) + + + + + + + Примеры + Здесь приведены несколько примеров использования Nmap, от самых простых до более изощренных. Некоторые + реально существующие IP адреса и доменные имена использованны для того, чтобы сделать примеры более конкретными. + На их место вы должны подставить адреса/имена из вашей собственной сети.. В то время как + сканирование портов некоторой сети не является незаконным, некоторым администраторам сетей может не понравиться + своевольное сканирование их сетей и они могут пожаловаться. Для начала постарайтесь получить разрешение. + + В целях тестирования у вас есть разрешение сканировать scanme.nmap.org. + Вы можете использовать сканирование с помощью Nmap, но не тестировать эксплоиты или производить атаки отказа в + обслуживании. Для того чтобы не перегружать канал, пожалуйста, не производите более дюжины сканирований этого + хоста в день. В случае злоупотребления этим свободным для сканирования хостом, он будет отключен и Nmap выдаст + Failed to resolve given hostname/IP: + scanme.nmap.org (не могу разрешить данное имя/IP: scanme.nmap.org). Все выше сказанное также + относится и к хостам scanme2.nmap.org, + scanme3.nmap.org, и так далее, несмотря на то, что эти хосты еще не + существуют. + + + example of + nmap -v scanme.nmap.org + + Этой командой будут просканированы все TCP порты машины + scanme.nmap.org . Опция + активирует вербальный режим. + + example of + example of + nmap -sS -O scanme.nmap.org/24 + + Этой командой будет произведено скрытное SYN сканирование всех 255 машин сети класса C, в + которой расположена машина Scanme. Также будет произведена попытка определения операционной системы на каждом + работающем хосте. Из-за SYN сканирования и опции определения ОС данная команда требует привилегий + суперпользователя (root). + + example of + nmap -sV -p 22,53,110,143,4564 + 198.116.0-255.1-127 + + + Запускает перебор хостов и TCP сканирование первой половины всех (из доступных 255) 8 битных подсетей + адресного пространства 198.116 класса B. Также проверяет запущены ли SSH, DNS, POP3 или IMAP с использованием их + стандартных портов, а также использует ли какое-нибудь приложение порт 4564. Если какой-нибудь из этих портов + открыт, то будет произведена попытка определения работающего с этим портом приложения. + + + example of + example of + nmap -v -iR 100000 -PN -p 80 + + + Указывает Nmap выбрать случайным образом 100,000 хостов и просканировать их на наличие запущенных на них + веб-серверов (порт 80). Перебор хостов отключен опцией , т.к. посылка пары предварительных + запросов с целью определения доступности хоста является нецелесообразной, когда вас интересует всего один порт на + каждом хосте. + + + example of + example of + nmap -PN -p80 -oX logs/pb-port80scan.xml -oG + logs/pb-port80scan.gnmap 216.163.128.20/20 + + Этой командой будут просканированы 4096 IP адресов (без предварительного пингования), а выходные данные + будут сохранены в фомате XML и формате, удобном для просмотра утилитой grep (grepable формат). + + + + + Ошибки + bugs, reporting + + Как и ее автор, Nmap не идеальна. Но вы можете сделать ее лучше посылая нам отчеты об ошибках или даже + написав патч. Если Nmap ведет себя не так, как вы ожидаете, то для начала обновитесь до последней версии с + . Если проблема останется, то выясните, не была ли эта проблема уже обнаружена кем-то. + Попробуйте поискать сообщения об ошибках на нашей странице поиска + или в Google. Также попробуйте просмотреть nmap-dev архивы на .nmap-dev mailing list + Также прочитайте полностью страницу руководства. Если ничего не помогло, отправьте сообщение об ошибке на + dev@nmap.org. Пожалуйста, включите всю известную вам информацию об ошибке, какую версию + Nmap вы используете, и на какой операционной системы вы запускаете Nmap. Сообщения о проблемах и вопросы по + использованию Nmap отправленные на dev@nmap.org имеют больше шансов на ответ, чем если бы + вы послали их непосредственно Fyodor'у. Если вы подпишитесь на рассылку nmap-dev перед отправкой сообщения, + то ваше сообщение будет обработано быстрее. Подпишитесь на рассылку на . + + Патчи для исправления ошибок даже лучше просто сообщений об ошибках. Базовые инструкции по созданию патчей + доступны по адресу . Созданные вами патчи можно отправить на + nmap-dev (рекомендуется) или непосредственно Fyodor'у. + + + + Автор + Fyodor + fyodor@nmap.org + () + + + На протяжении многих лет сотни людей внесли ценный вклад в разработку Nmap. Все изменения и улучшения + подробно описаны в файле + CHANGELOGchangelog, который распространяется вместе с Nmap, а также доступен на + . + + + + + Юридические уведомления + + + Unofficial Translation Disclaimer / Отречение неофициального перевода + + This is an unnofficial translation of the Nmap + license details into Russian. It was not written by Insecure.Com LLC, and does not legally state the + distribution terms for Nmap -- only the original English text does that. However, we hope that this translation + helps Russian speakers understand the Nmap license better. + + Это неофициальный перевод лицензии Nmap на + русский язык. Он не был осуществлен Insecure.Com LLC, и не определяет с юридической точки зрения условия + распространения Nmap -- это делает только оригинальный английский вариант. Тем не менее, мы надеемся, что этот + перевод поможет русскоязычным пользователям лучше понять лицензию Nmap. + + + + + Авторское право и лицензия Nmap + copyright + GNU General Public License + +Nmap Security Scanner (C) 1996-2008 Insecure.Com LLC. Nmap также является зарегистрированным товарным знаком +Insecure.Com LLC. Эта программа является свободным программным обеспечением; вы можете распространять и / или +модифицировать его в соответствии с условиями GNU General Public License, опубликованной Free Software Foundation; +Версия 2 с уточнениями и исключениями, описанными ниже. Лицензия гарантирует ваше право использовать, модифицировать и +распространять данное программное обеспечение на определенных условиях. Если вы хотите встроить Nmap технологии в +собственное программное обеспечение, мы продаем альтернативные лицензии (обращаться sales@insecure.com). +Десятки поставщиков программного обеспечения, уже имеют лицензии на использование Nmap технологий, таких, как +обнаружение хостов, сканирование портов, определение OS и определение версии. + + +Имейте ввиду, что GPL накладывает важные ограничения на производные приложения, хотя и не дает +четкого определения этого термина. Чтобы избежать недоразумений, мы считаем, что приложение является +производным, если в нем реализованы любые из следующих пунктов: + + +Используется исходный код Nmap +Используются авторские файлы данных Nmap, такие, как + nmap-os-db или + nmap-service-probes. +Запускается Nmap, и анализируются результаты работы (в противовес обычным командным оболочкам, которые +просто отображают необработанные выходные данные Nmap и поэтому не являются производными приложениями.) +Nmap интегрируется/включается/агрегируется в собственный исполняемый инсталлятор, как предоставляемые, +например, с помощью InstallShield. +Используется ссылка на библиотеку или запускается программа, в которой реализованы любые из +перечисленных пунктов. + + +В термин Nmap следует также включать любые части Nmap или производные от нее приложения. Это +список не является полным, мы просто хотим сделать ясным наше понимание производных приложений с помощью некоторых +общих примеров. Эти ограничения имеют силу, только когда вы действительно распростаняете Nmap. Например, ничего +не мешает вам написать и продавать свой собственный пользовательский интерфейс для Nmap. Распространяйте его +самостоятельно, а для скачивания Nmap направляйте людей на . + +Мы не считаем, что данные ограничения должны быть добавлены к лицензии GPL, мы просто приводим наше понимание +производных приложений по отношению к нашему продукту с GPL лицензией. Это похоже на то, как Линус +Торвальдс (Linus Torvalds) опубликовал свое понимание производных приложений применимо к модулям ядра +Linux. Наше трактовка относится только к Nmap, мы не говорим ни о каких других GPL продуктах. + +Если у вас есть какие-либо вопросы о GPL ограничениях по использованию Nmap в не-GPL продуктах, мы с радостью +вам поможем. Как уже упоминалось выше, мы предоставляем альтернативную лицензию для интегрирования Nmap в собственные +программные продукты. Эти контракты были проданы многим производителям программного обеспечения и обычно они включают: +бессрочную лицензию, предоставление приоритетной поддержки и обновлений, а также содействие спонсированию +продолжающейся разработки Nmap технологии. Для дальнейшей информации пишите на sales@insecure.com. + +В качестве исключения из GPL соглашений, Insecure.Com LLC предоставляет право связывать исходный код этой +программы с любой версией OpenSSL библиотеки, которая распространяется по лицензии приведенной в файле +COPYING.OpenSSL, а также распространять эту комбинацию.OpenSSLlinking exception +Вы должны удовлетворять условиям лицензии GNU GPL во всем, что касается кода не использующего OpenSSL. Если вы +модифицируете этот файл, вы можете расширить это исключение на вашу версию файла, но вы не обязаны это делать. + +Если вы получаете эти файлы в лицензионным соглашением или контрактом, где указаны отличные от этих условий, то +альтернативные условия лицензионного соглашения имеют преимущество над этими комментариями. + + + + Creative Commons License для этого справочного руководства Nmap + Справочно Руководство Nmap это (C) 2005-2008 Insecure.Com LLC. Оно распространяется + под лицензией Creative Commons + Attribution License версии 2.5. Это позволяет вам распространять и модифицировать его по вашему усмотрению, + до тех пор пока вы считаетесь с исходным источником. В качестве альтернативы вы можете считать, что этот документ + распространяется по той же лицензии, что и сама Nmap (описывается выше). + + + + Доступность исходного кода и общественные вклады + +Мы предоставляем исходный код, потому что верим, что пользователи должны иметь право знать, что именно программа +будет делать до того, как запустят ее. Это также позволяет вам проверять программное обеспечение на наличие дыр в +безопасности (пока не было найдено ни одной). + +Исходный код также позволяет вам портировать Nmap на новые платформы, исправлять баги и добавлять новые +возможности. Всячески поощряется посылка своих изменений на fyodor@nmap.org для возможного +их включения в основной дистрибутив. Отправляют эти изменения Fyodor'у или разработчикам на Insecure.Org, +пердполагается, что вы предоставляете Fyodor'у и Insecure.Com LLC безграничное, не эксклюзивное право на повторное +использование, модификацию и изменение лицензии кода. Nmap всегда будет доступна как +Open Source продукт,open source +это важно, т.к. невозможность изменения лицензии на кода уже повлекла за собой большие проблемы для других +Free Software проектов (как, например, KDE и NASM). Вы также порой позволяем третьим сторонам изменять лицензию, как +описывалось выше. Если вы хотите использовать собственные лицензионные условия для ваших изменений, сообщите об этом, +когда будете их отсылать. + + +Отсутствие гарантии<indexterm significance="normal"><primary>warranty (lack of)</primary></indexterm> + +Эта программа распространяется в надежде на то, что она будет полезна, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ; даже без +какой-либо подразумеваемой ТОВАРНОЙ ПРИГОДНОСТИ или ПРИГОДНОСТИ ДЛЯ КАКОЙ-ЛИБО ОПРЕДЕЛЕННОЙ ЗАДАЧИ. Смотрите GNU +General Public License v2.0 для подробностей , или в файле +COPYING, который распространяется с Nmap. + +Также следует принять во внимание, что время от времени Nmap вызывает крах плохо написанных приложений, TCP/IP +стеков и даже операционных систем.crashing targets +Хотя такие случаи и чрезвычайно редки, не следует о них забывать. Nmap никогда не следует использовать для +сканирования критичных систем, пока вы не готовы мириться в временем простоя. Мы признаем, что Nmap может +вызвать крах ваших систем или сетей, и отрицаем всякую ответственность за проблемы или ущерб, нанесенные Nmap. + + +Несоответствующее использование +Из-за возможного риска краха и из-за того, что некоторые личности используют Nmap для предварительного +исследования систем перед их атакой, некоторые администраторы могут быть недовольны тем, что их система была +просканирована. Поэтому, перед тем как сканировать сеть, разумно получить на это разрешение. + +Nmap не следует устанавливать с особыми привилегиями (например, suid root) из соображений безопасности.setuid, why Nmap shouldn't be + + + +Стороннее программное обеспечение + +Этот продукт содержит программное обеспечение разработанное +Apache Software Foundation. Модифицированная версия библиотеки +Libpcap portable packet capture librarylibpcap +распространяется вместе с Nmap. Windows версия Nmap использует вместо Libpcap производную от нее библиотеку +WinPcap libraryWinPcap. +Поддержка регулярных выражений предоставляется библиотекой +PCRE library,Perl Compatible Regular Expressions (PCRE), +которая является программным обеспечением с открытым исходным кодом, написана Филипом Хазелом (Philip Hazel).Hazel, Philip +Некоторые функции по работе с сырыми сокетами используют сетевую библиотеку +Libdnetlibdnet, написанную Дагом Сонгом (Dug Song).Song, Dug +Модифицированная версия распространяется вместе с Nmap. Nmap может быть связана с +OpenSSL +cryptography toolkitOpenSSL +поддержки SSL определения версии. Скриптовый движок Nmap (Nmap Scripting Engine) использует встроенную версию +языка программирования Lua.Lua programming language +Все описанное здесь стороннее проограммное обеспечение бесплатно распространяется на основе лицензии в стиле BSD. + + + +Классификация по контролю экспорта Соединенных Штатов<indexterm significance="normal"><primary>export control</primary></indexterm> + +U.S. Export Control: Insecure.Com LLC указывает, что Nmap попадает под U.S. ECCN (число в классификации по +контролю экспорта) 5D992. Эта категория называется Программное обеспечение информационной безопасности не +контролируемое 5D002. Единственным ограничем в этой категории является AT (анти-терроризм), под который +попадают почти все товары, что запрещает экспорт в горстку не стран типа Ирана и Северной Кореи. Поэтому экспорт Nmap +не требует какой-либо специальной лицензии, разрешения или других санкций со стороны государства. + + + + + + +
-- cgit v1.2.3