Идентификация запущенных 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)