Иллюстрированный самоучитель по защите в Интернет

Идентификация запущенных TCP- и UDP-служб

netcat

Еще одной прекрасной утилитой является netcat (или nc), написанная Хоббитом (Hobbit, hobbit@avian.org). Эта утилита может выполнять так много различных задач, что была названа нами "швейцарским армейским ножом". Помимо остальных возможностей, о которых мы еще не раз будем говорить на протяжении всей книги, утилита nc позволяет применять основные методы TCP- и UDP-сканирования. Степенью детализации выводимых данных можно управлять с помощью параметров -v и -vv, которые включают, соответственно, режимы подробного и очень подробного отображения результатов. Параметр -z применяется для включения режима нулевого ввода-вывода (zero mode I/O), используемого для сканировании портов, а параметр -w2 позволяет задать для каждого соединения интервал ожидания. По умолчанию утилита пс выполняет TCP-сканирование, а для UDP-сканирования необходимо использовать параметр -u (как показано во втором примере).

tsunami] nc -v -z -w2 192.168.1.1 1-140
192.168.1.1] 139 (?) open
192.168.1.1] 135 (?) open
192.168.1.1] 110 (pop-3) open
[192.168.1.1] 106 (?) open
[192.168.1.1] 81 (?) open
[192.168.1.1] 80 (http) open
[192.168.1.1] 79 (finger) open
[192.168.1.1] 53 (domain) open
[192.168.1.1] 42 (?) open
[192.168.1.1] 25 (smtp) open
[192.168.1.1] 21 (ftp) open

[tsunami] nc -u -v -z -w2 192.168.1.1 1-140
[192.168.1.1] 135 (ntportmap) open
[192.168.1.1] 123 (ntp) open
[192.168.1.1] 53 (domain) open
[192.168.1.1] 42 (name) open

nmap

Рассмотрев простейшие средства сканирования портов, давайте перейдем к обсуждению возможностей безусловного лидера этой категории – утилиты nmap. Данная утилита, разработанная Федором (Fyodor) (http://www.insecure.org/nmap), обладает не только базовыми возможностями TCP- и UDP-сканирования, но и поддерживает все остальные упоминавшиеся выше методы. Очень редко можно найти утилиту, которая предоставляла бы столь богатый набор возможностей в одном пакете. Итак, запустим утилиту и посмотрим, какие возможности она предоставляет.

[tsunami]# nmap -h

nmap V. 2.53

Использование:

nmap [Тип(ы) сканирования] [Параметры] <Список узлов или подсетей>

Некоторые стандартные типы сканирования (При использовании параметров, отмеченных символом '*', требуются привилегии root):

  • -sT TCP – сканирование подключением (устанавливается по умолчанию)
  • * -sS TCP – сканирование с помощью сообщений SYN (среди всех методов TCP-сканирования является наилучшим)
  • * -sU UDP – сканирование
  • -sP ping – прослушивание (выполняется поиск всех достижимых узлов)
  • * -sF,-sX,-sN – сканирование с помощью сообщений FIN, по методу "рождественской елки" и нуль-сканирование, соответственно (рекомендуется использовать только опытным пользователям)
  • -SR/-I – сканирование с использованием демона
  • RPC/identd (применяется совместно с другими типами сканирования)

Некоторые стандартные параметры (являются необязательными, могут комбинироваться друг с другом):

  • * -О – режим изучения пакетов TCP/IP с целью определения типа удаленной операционной системы
  • -р <диапазон> – диапазон портов, которые будут сканироваться.

Пример диапазона:

'1-1024.1080.6666.31337'
  • -F – Выполняется сканирование портов, перечисленных в файле /etc/services
  • -v – Режим вывода подробной информации.

Рекомендуется всегда использовать этот параметр.

Для включения режима вывода очень подробной информации используйте параметр -vv.

  • -РО – Отключение проверки активности узла с помощью утилиты ping (применяется для сканирования таких узлов, как www.microsoft.com и аналогичных)
  • * -Ddecoy_host1,decoy2[,…] – Скрытое сканирование с указанием нескольких ложных адресов узлов
  • -Т <Paranoici I Sneaky|Polite|Normal[Aggressive IInsane> – Принятая политика ожидания отклика от удаленного узла
  • -n/-R – Никогда не выполнять разрешение имен DNS / Всегда выполнять [по умолчанию: имена разрешаются при необходимости]
  • -oN/-oM <logfile> – Вывести результаты сканирования в файл <logfile> в удобочитаемом/машинном формате
  • -iL <inputfile> – Взять IP-адреса или имена узлов из файла <inputfiie>.

Для использования стандартного потока ввода stdin укажите '-':

  • * -S <your_IP>/-e <devicename> – позволяет указать исходный IP-адрес или устройство
  • "-" – переход в интерактивный режим (затем для получения справки нужно нажать клавишу h)
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.