Nmap («Network Mapper») - это бесплатная утилита с открытым исходным кодом для анализа сети и аудита безопасности систем. Яростные противники консоли могут использовать Zenmap, это GUI к Nmap'у.
Это не просто «умный» сканер, это серьезный расширяемый инструмент (из «необычных фишек» — наличие скрипта для проверки узла на наличие червя "Stuxnet" (упоминалось тут). Типовой пример использования:
nmap -A -T4 host
где:
- -A - агрессивное сканирование для определения версии ОС, сканирования с использованием скриптов и трассировки. По сути, объединяет опции: OS detection (-O), Service version detection (-sV), Scanning by scripts (-sC), Traceroute (--traceroute).
- -T4 настройка управления таймингом отправки пакетов (чем число больше — тем быстрее отправка, число задается в диапазоне от 0 до 5)
- host — целевой хост
Определение открытых портов на исследуемом хосте:
nmap -sT -O host
где -sT — это TCP Connect scan, т. е. устанавливается полноценное TCP-соединение со сканируемым хостом.
Имеются и другие режимы сканирования:
- -sS — это TCP SYN scan (также называют "полускан" или "stealth scan"). Отправляется только SYN-пакет (т. е. начало TCP-соединения). Если порт открыт, хост ответит SYN+ACK, а nmap не завершает соединение и просто сразу отправляет RST. Если порт закрыт, ответ хоста будет RST. Плюсы: Быстрее и менее заметен для систем безопасности.
- -sU — это UDP scan. Проверяет UDP-порты, отправляя пустые или минимальные UDP-пакеты. Если порт закрыт, обычно приходит ICMP-пакет "порт недоступен". Если порт открыт или фильтруется — нет ответа, или отклик от сервиса. Плюсы: это единственный способ сканировать UDP-порты. Минусы: медленный (UDP — без подтверждения, часто нужно ждать таймаута) и много ложных срабатываний (не все устройства отвечают одинаково).
Вот более тонко настроенная команда вызова nmap:
nmap -sS -sU -T4 -A -v -PE -PP -PS21,22,23,25,80,113,31339 -PA80,113,443,10042 -PO --script all localhost
Это набор опций из профиля «slow comprehensive scan» в Zenmap. Выполняется довольно долго, но и дает в итоге более детальную информацию, которую можно узнать о целевой системе. Справочное руководство на русском языке (http://nmap.org/man/ru/), если решили углубиться, а так же советую перевод статьи Beginner's Guide to Nmap (http://habrahabr.ru/blogs/infosecurity/88064).
Nmap получил статус “Security Product of the Year” такими журналами и сообществами как Linux Journal, Info World, LinuxQuestions.Org и Codetalker Digest.
Интересный момент, Nmap можно увидеть в фильмах «Матрица: Перезагрузка», «Крепкий орешек 4», «Ультиматум Борна», «Хоттабыч» и других.