NMAP
Open source приложение для сканирования сети.
Общие флаги
nmap -e eth2 scanme.nmap.org | Конкретный интерфейс |
nmap -A <target> | Агрессивный режим (объединение режимов определения версии ОС, версий сервисов, скрипт сканирования, трассировки) |
-T4 |
Время задержки (ожидания) |
nmap -iL targets.txt |
Запуск с источниками из файла. Могут разделяться пробелом, табуляцией или переводом строки. Поддерживает диапазоны 192.168.1.20-30 192.168.* 192.168.0/24 scanme.nmap.org/24 комментарии
|
nmap 192.168.1.1-255 --exclude 192.168.1.1 | Исключение из диапазона |
nmap --exclude-file dontscan.txt 192.168.1.1/24 | Исключение адресов из файла |
nmap -iR 100 |
100 случайных адресов -iR 0 это все адреса. |
http-max-cache-size=0 |
Отключение кэша (по умолчанию включен) |
Поиск хостов
NMAP использует несколько техник пинга с использованием разных протоколов.
-PS/PA/PU/PY [portlist]: TCP SYN/ACK, UDP or SCTP discovery to given ports
-PE/PP/PM: ICMP echo, timestamp, and netmask request discovery probes
-PO [protocol list]: IP protocol ping
Ключ | Описание |
-sn <target> |
Ping-сканирование сети.
Отправляются разные пакеты в зависимости от привилегий пользователя. С опцией traceroute должен показывать дополнительные маршруты, но это не то же самое что traceroute. У меня до всех тестовых адресов получился один шаг
|
-sn --script dns-brute bobrobotirk.ru | Брутфорс по доменным именам |
-sn --script broadcast-ping 192.168.0.1/24 | Броадкастовый пинг |
Открытые порты
Без параметров, только адрес. По умолчанию сканирует 1024 первых порта. Статусы портов:
Open | Сервис доступен |
Closed | Запросы были получены, но был сделан вывод, что на этом порту не запущена служба. |
Filtered | Не было признаков того, что запросы были получены, и состояние не удалось установить. Это также указывает на то, что запросы отбрасываются в результате какой-либо фильтрации. |
Unfiltered | Запросы были получены, но состояние не удалось установить. |
Open/Filtered | Запросы отфильтрованы или порт открыт, но не удалось установить состояние. |
Close/Filtered | Запросы отфильтрованы или порт закрыт, и не удалось установить состояние. |
Последовательность задач при сканировании портов:
- Преобразование DNS имени в IP. Можно указать альтернативный dns сервер.
nmap --dns-servers 8.8.8.8,8.8.4.4 scanme.nmap.org
- Проверка, поднят ли хост. Чтобы пропустить:
nmap -Pn scanme.nmap.org
- Обратное преобразование IP в DNS. Чтобы пропустить:
nmap -n scanme.nmap.org
- Затем SYN (привилегированный пользователь) или TCP connect (обычный пользователь) сканирование. SYN быстрее. Однако есть еще способы сканирования портов.
Диапазоны портов:
nmap -p80,443 localhost | Явный список портов |
nmap -p1-100 localhost | Диапазон |
nmap -p- localhost | Все порты |
nmap -pT:25,U:53 <target> | Порты с протоколом |
nmap -p smtp <target> | По имени сервиса |
nmap -p smtp* <target> | По шаблону имени сервиса |
nmap -p[1-65535] <target> | Только порты, указанные в nmap в виде сервиса |
Определение типа сервиса и версии
За счет базы данных "отпечатков" сервисов и ОС. Отправляются пробники, определенные в nmap-service-probes, в список предполагаемых открытых портов. Пробники выбираются в зависимости от того, насколько вероятно, что они могут быть
использованы для идентификации службы.
nmap -sV <target> | Версии сервисов |
nmap -sV --version-intensity 9 <target> | Уровень интенсивности поиска, 0-9 |
nmap -O <target> | Версия ОС. В привилегированном режиме. |
nmap -O --osscan-guess <target> | Попытка угадать ОС |
nmap -O --osscan-limit <target> | Вывод информации об ОС только а случае абсолютной уверенности |
nmap -O -v 192.168.0.1 | Расширенная информация об ОС |
"Отпечатки" могут настраиваться для улучшения производительности.