Nmap (Network Mapper) - свободная утилита с открытым исходным кодом, предназначенная для сканирования сетей и аудита сетевой безопасности. Nmap использует множество различных методов сканирования (UDP, TCP, TCP SYN, FTP, ICMP и т.д.), а также поддерживает большой набор дополнительных возможностей.
Ниже описаны некоторые полезные возможности этой замечательной утилиты.
Для выполнения большинства операций nmap требуются полномочия пользователя root. При запуске nmap от имени обычного пользователя значительная часть функций будет не доступна.
1. Получение информации об удаленном хосте и определение операционной системы
Nmap используются в следующем виде:
$ sudo nmap -sS -P0 -sV -O <target>
где:
< target > - IP, хост или подсеть
-sS - TCP SYN сканирование (полуоткрытое)
-P0 - отключение ICMP сканирования.
-sV - определение закрытых и фильтруемых портов
-O - определение версии операционной системы
Еще опции:
-A - включает определение "отпечатка" и версии операционной системы
-v|-vv - уровень вывода диагностических сообщений
Используя алтернативные опции, команда выглядит следующим образом:
Номер порта указывается после опции "-p". В данном примере, выполняется поиск машин, для которых возможен вход по ssh (если, конечно, не изменен порт по умолчанию для ssh).
3. Поиск актиных IP адресов в сети
Nmap используются в следующем виде:
$ sudo nmap -sP 192.168.0.*
Чтобы опросить конкретную подсеть, можно использовать следующие параметры:
8. Декорирорование истинного IP адреса при сканировании сети
Nmap используются в следующем виде:
$ sudo nmap -sS 192.168.0.10 -D 192.168.0.2
В данном примере выполняется поиск открытых портов на машине 192.168.0.10, в качестве адреса, откуда ведется сканирование указывается адрес 192.168.0.2. Таким образом, в логах машины 192.168.0.10 будет отображен не истинный IP адрес, с которой ведется сканирование, а указанный - 192.168.0.2.
9. Список обратных DNS записей для подсети
Nmap используются в следующем виде:
$ sudo nmap -R -sL 209.85.229.99/27 | \
awk '{if($3=="not")print"("$2") no PTR";else print $3" is "$2}' | \
grep ‘(‘
В этом примере, nmap выполняет поиск обратных DNS записей для подсети. Результатом поиска будет список IP адресов с соответствующими PTR записями для подсети. Чтобы выполнить запрос через конкретный DNS сервер, необходимо добавить "-dns-servers x.x.x.x" после опции "-sL".