В этом
случае запустите Nmap с указанием этой опции и имени файла, в который
производилась запись предыдущего сеанса. При этом никаких других опций указывать
не нужно, поскольку при возобновлении сканирования будут использоваться опции,
указанные в предыдущем сеансе. Nmap продолжит сканирование с адреса, следующего за
последним "завершенным".
-iL <имя_файла> (input List) - считывает описание целевых хостов из текстового
файла. Файл должен содержать список имен хостов или IP-адресов, разделенных
пробелами, знаками табуляции или комбинацией (каждый хост - с новой
строки).
Если вы хотите использовать StdIn в качестве источника информации о
хостах, укажите вместо имени файла символ '-'. Более подробная информация о
форматах выражений приведены в разделе "Способы задания целевого хоста".
-iR (input Random) - если вы укажете эту опцию, Nmap будет сканировать случайно
выбранные им хосты, адреса которых получены с помощью генератора случайных
величин. Этот процесс будет длиться, пока вы его не остановите. Функция может
пригодиться для статистического исследования Internet.
-p <диапазон(ы)_портов> (ports) - эта опция указывает Nmap, какие порты необходимо
просканировать. Например, '-p23' означает сканирование 23 порта на целевой машины.
Если указано выражение типа '-p 20-30,139,60000-', Nmap будет сканировать порты с
номерами с 20 по 30 включительно, 139 и от 60000 и выше (до 65535). По умолчанию
Nmap сканирует все порты в диапазоне 1-1024, поскольку все они перечислены в файле
services.
-F (Fast scan) - быстрое сканирование. Указывает Nmap на необходимость
сканирования портов только тех служб, которые перечислены в файле services.
Сканирование проходит гораздо быстрее, чем если бы Nmap сканировал все 65535
портов.
-D <ложный_хост1,[ложный_хост2],[,ME],...> (use Decoy hosts). - В этом режиме Nmap
"создает" ложные хосты, адреса которых задаются произвольно и указываются в
качестве аргументов.
При этом на стороне сканируемого хоста создается видимость,
что производится одновременное сканирование с различных хостов (обладающих разными
IP-адресами), что очень затрудняет обнаружение вашего реального IP-адреса.
Адреса разделяются запятой. Вы также можете указать свой IP-адрес (аргумент 'ME')
в качестве одного из хостов. Однако если вы поместили аргумент 'ME' на шестой
позиции и выше, некоторые скан-детекторы (например Solar Designer's Excellent
Scanlogd) покажут ваш IP-адрес как наиболее предполагаемый. Если вы явно не
указали аргумент 'ME', Nmap поместит вас на случайную позицию. Также вы можете
указать имена хостов вместо их IP-адресов. Заметим, что хосты, указанные вами в
качестве ложных, должны реально существовать и функционировать, в противном случае
вы можете "затопить" сканируемый хост SYN-пакетами. Это также может способствовать
обнаружению вашего хоста, потому что если ложные хосты не функционируют, то
единственным работающим хостом окажется ваш.
Стоит заметить, что некоторые скан-детекторы блокируют доступ хосту,
осуществившему попытку сканирования. Поэтому ложный хост может потерять соединение
со сканируемым хостом. Эта ситуация может возникнуть даже в том случае, если вы
указали в качестве ложного хоста адрес шлюза или 'localhost'. Поэтому аккуратно
используйте эту опцию.
Ложные хосты могут использоваться с любым методом сканирования, а также при
определении операционной системы. Если вы указали много ложных хостов, это
замедлит процесс сканирования и сделает его менее точным. Некоторые провайдеры
могут отфильтровывать ваши пакеты (но еще больше их не отфильтруют), и в этом
случае использование ложных хостов не даст вам ожидаемого результата.
-S (set Source) - Если Nmap не смог автоматически определить IP-адрес
вашего хоста (о чем вы получили соответствующее сообщение), вам необходимо
самостоятельно указать IP-адрес, используя его в качестве аргумента данной опции
(т.е. адрес интерфейса, который вы хотите использовать). Другое применение данной
опции - для создания видимости сканирования целевого хоста кем-то другим. В этом
случае вы не сможете получить результат, однако на стороне сканируемого хоста
создается видимость сканирования с указанного вами адреса. Для этого совместно с
'-S'необходимо использовать опцию '-e'.
-e <интерфейс> (interface) - указывает Nmap, какой интерфейс будет использоваться
для приема/передачи пакетов. Имя интерфейса указывается в качестве аргумента
опции. Nmap обычно сам определяет интерфейс, однако выдаст вам соответствующее
сообщение, если по каким-либо причинам он не смог этого сделать.
-g <номер_порта> - указывает номер порта на вашем компьютере, который будет
использоваться Nmap для осуществления сканирования. Многие файрволлы и пакетные
фильтры позволяют проходить пакетам DNS (порт 53) и FTP-DATA (порт 20) к
защищаемому ими хосту и установить соединение. Этот момент является большой
"дырой" в безопасности файрволлов, поэтому атакующему ничего не стоит отправлять
нужные ему пакеты через 53-й или 20-й порт.
Для сканирования UDP-портов Nmap пробует сначала 53-й порт, а затем 20-й. Для
TCP-портов - наоборот. Заметим, что это влияет на поле "порт источника" в запросе
и поэтому не всегда работает. Например, вы не сможете определить характер
изменения ISN, всвязи с чем Nmap самостоятельно сменит номер порта для этой цели,
даже если вы используете опцию '-g'.
-r (randomize off) - для обеспечения скрытности очередной номер сканируемого хоста
Nmap выбирает случайным образом. Эта опция указывает на то, что необходимо
отключить случайный выбор портов и производить их последовательное сканирование.
--randomize_hosts - указывает Nmap на необходимость случайной перестановки каждой
группы из 2048 хостов перед непосредственным их сканированием. Эта опция делает
сканирование менее заметным для различных систем сетевого мониторинга, особенно
если вы используете ее совместно с опцией настройки времени, устанавливающей более
медленное сканирование.
-M <максимум_сокетов> (Max sockets) - устанавливает максимальное количество
сокетов, используемых параллельно в методе TCP connect() сканирования. Установка
меньшего значения немного замедляет процесс сканирования, но предотвращает "завал"
сканируемого хоста. Для последней цели лучше всего использовать опцию '-sS', так
как SYN-сканирование гораздо легче "переносится" операционными системами.
Опции настройки временных параметров
Обычно Nmap автоматически настраивает временные параметры в соответствии с
характеристиками сканируемой сети. Настройки осуществляются, во-первых, для
проведения максимально быстрого сканирования, и во-вторых, для уменьшения
вероятности появления ошибок. Если вас не устраивает автоматическая настройка
временных параметров, вы можете настроить их самостоятельно, используя эти опции.
-T (Timing options) - эта опция
устанавливает временной режим сканирования. Требуемый режим указывается в качестве
аргумента. Режим Paranoid используется в случае, когда очень велика вероятность
использования скан-детекторов. В этом режиме сканирование проходит очень медленно.
Параллельне сканирование не используется. Вместо этого Nmap проводит сканирование
последовательно, с интервалом по меньшей мере 5 минут между посылкой пакетов.
Режим Sneaky похож на режим Paranoid. Разница заключается в том, что интервал
между посылкой двух пакетов составляет 15 секунд.
Режим Polite используется в случае, когда необходимо минимизировать нагрузку на
сеть и уменьшить вероятность "завала" сканируемого хоста. В этом режиме тесты
проходят последовательно с интервалом минимум 0,4 секунды.
Режим Normal используется Nmap по умолчанию. В этом режиме сканирование
производится с максимально возможной скоростью, и по возможности без перегрузки
сети и возникновения ошибок.
В режиме Aggressive устанавливается ограничение на сканирование одного хоста,
равное 5 минутам, и, кроме того, время ожидания ответа на запрос не превышает 1,25
секунды.
Режим Insane применяется только при сканировании очень быстрых сетей. Время
сканирования одного хоста составляет 75 секунд, а ожидание ответа на запрос - 0,3
секунды.
Каждому режиму присвоен соответствующий номер, и вы можете указать его вместо
полного названия режима. Так, опция '-T0' означает режим Paranoid, а '-T5' -
Insane. Нумерация соответствует порядку, в котором они были перечислены выше.
Заметим, что опция '-T' осуществляет настройку Nmap на высоком уровне, и не должна
использоваться с опциями, приведенными ниже (они обеспечивают низкоуровневую
настройку).
--host_timeout <миллисекунд> - устанавливает время, отводимое Nmap на полное
сканирование одного хоста, прежде чем он перейдет к очередному IP-адресу. По
умолчанию этот параметр отсутствует, т.е. Nmap не переходит к очередному адресу до
окончания сканирования текущего.
--max_rtt_timeout <миллисекунд> (maximal round-trip time timeout) - устанавливает
верхнюю границу временного интервала, в течение которого Nmap ожидает ответ на
посланный запрос, прежде чем повторить запрос либо послать новый. По умолчанию это
значение установлено равным 5000 миллисекунд.
--min_rtt_timeout <миллисекунд> - Если сканируемый хост немедленно отвечает на
посланный запрос, Nmap сразу же передает следующий, сэкономив тем самым очень
много времени. Это ускоряет сканирование, но может привести к потере пакетов с
ответами, пришедшими несколько позже, чем обычно. Эта опция устанавливает нижнюю
границу времени ожидания ответа, т.е. Nmap в любом случае будет ждать в течении
указанного вами времени не зависимо от того, пришел ответ или нет.
--initial_rtt_timeout <миллисекунд> - устанавливает время, отводимое на начальный
тест. Эта опция используется в основном для сканирования хостов, защищенных
файрволлом, совместно с опцией '-P0'. Обычно Nmap автоматически выбирает
оптимальное значение этого параметра. Значение по умолчанию составляет 6000
миллисекунд.
--max_parallelism <количество> - устанавливает максимальное количество
параллельных процессов сканирования, используемых Nmap. Установка этого параметра
равным 1 означает, что Nmap никогда не будет сканировать более одного порта в один
момент времени.
--scan_delay <миллисекунд> - устанавливает минимальное время задержки между
тестами. Эта опция может использоваться для снижения нагрузки на сеть и уменьшения
вероятности обнаружения сканирования.
СПОСОБЫ ЗАДАНИЯ ЦЕЛЕВОГО ХОСТА
Все, что не является опцией или ее аргументом, Nmap воспринимает как адрес или имя
целевого хоста (т.е. хоста, подвергаемого сканированию). Простейший способ задать
сканируемый хост - указать его имя или адрес в командной строке после указания
опций и аргументов. Если вы хотите просканировать подсеть IP-адресов, вам
необходимо указать параметр '/' ("маска") после имени или IP-адреса
сканируемого хоста. Маска может принимать следующие значения:
'/0' - сканировать весь Интернет;
'/16' - сканировать адреса класса B;
'/24' - сканировать адреса класса С;
'/32' - сканировать только указанный хост.
Nmap позволяет также гибко указать целевые IP-адреса, используя списки и диапазоны для
каждого их элемента. Например, необходимо просканировать подсеть класса B с адресом
128.210.*.*. Задать эту сеть можно любым из следующих способов:
128.210.*.*
128.210.0-255.0-255
128.210.1-50,51-255.1,2,3,4,5-255
128.210.0.0/16
Все эти строки эквивалентны. Заметим, что если вы используете "звездочку" ('*'), то в
большинстве оболочек вам понадобится отделить ее обратной "косой чертой" либо
апострофами. Приведем еще один пример. Если вы указали в качестве целевого IP-адреса
строку '*.*.5.6-7', Nmap отсканирует все IP-адреса, оканчивающиеся на 5.6 либо 5.7.
Более подробно примеры вызова программы Nmap приведены ниже. ПРИМЕРЫ
Приведем некоторые примеры использования Nmap и соответствующие способы запуска
программы с указанием параметров в командной строке.
nmap -v target.example.com
Сканировать все зарезервированные TCP-порты на хосте target.example.com. Опция
'-v' означает включение режима подробного отчета о ходе процесса сканирования.
nmap -sS -O target.example.com/24
Запускает SYN-сканирование всех 255 машин с адресами класса C, одной из которых
является target.example.com. Кроме того, осуществляется определение ОС каждого из
сканируемых хостов. Для этого вам необходим статус root.
nmap -sX -p 22,53,110,143,4564 128.210.*.1-127
Осуществляет Xmas-сканирование первой половины адресов (0-127) каждой из 255
подсетей класса B адресного пространства 128.210.*.*. На этих хостах тестируется
присутствие sshd (22 порт), DNS (53), pop3d (110), imapd (143) и состояние порта
4564. Обращаем внимание, что Xmas-сканирование не будет работать с ОС Windows,
CISCO, IRIX, HP/UX и BSDI.
nmap -v --randomize_hosts -p80 *.*.2.3-5
Nmap будет искать все машины, IP-адрес которых оканчивается на .2.3, .2.4 и .2.5.
Если ваш статус root, вы также можете просканировать порты обнаруженных хостов,
указав опцию '-sS'. Вы найдете много интересных машин, адреса которых начинаются
на 127. Поэтому мы рекомендуем вместо первой звездочки указать '127-222'.
Попробуйте обязательно!
host -l company.com |cut '-d' -f 4| ./nmap -v -iL
Просканировать серверы DNS зоны и найти хосты в домене company.com, передав затем
в Nmap их адреса. Так выглядит команда для GNU/Linux. Для других ОС она будет
выглядеть несколько иначе.
ВОЗМОЖНЫЕ ОШИБКИ
Если вы обнаружили какие-либо симптомы, говорящие о неверной работе программы, или
нашли место в коде, приводящее к такому эффекту - немедленно отправьте нам эту
информацию. Не забывайте также отправлять нам отпечатки ОС, чтобы пополнять базу
данных Nmap. Программа выдаст вам соответствующее сообщение и URL, где она
обнаружила новый отпечаток.
АВТОРЫ
Базовая версия:
Nmap 2.54BETA3 release by Fyodor
fyodor@dhp.com
fyodor@insecure.org
http://www.insecure.org
Русская версия:
RuNmap 2.53, Алексей Волков
alex@nmap.ru
alex@nmap.ru
http://www.nmap.ru
РАСПРОСТРАНЕНИЕ
Новейшую версию Nmap и RuNmap вы можете получить по адресам
http://www.nmap.ru
http://www.insecure.org
nmap (базовая версия) © 1997,1998,1999 Fyodor
runmap (русская версия) © 1999,2000 Алексей Волков
Библиотека libcap распространяется совместно с Nmap. Владельцы авторского права:
Van Jacobson, Craig Leres и Steven McCanne, Национальная лаборатория Lawrence
Berkley Калифорнийского университета, Беркли, Калифорния. Версия, распространяемая
с Nmap, может быть модифицирована. Исходный код библиотеки можно получить по
адресу
ftp://ftp.ee.lbl.gov/libcap.tar.gz.
Эта программа является бесплатным программным обеспечением. Вы можете свободно
распространять и/или модифицировать ее в соответствии с требованиями GNU General
Public License, опубликованной Free Software Foundation, версия 2. Если вас не
устраивает данная лицензия, мы (Insecure.Org) готовы рассмотреть ваши предложения.
Программа поставляется без предоставления каких-либо гарантий. Вопросы и
комментарии отправляйте по адресу:
alex@nmap.ru