Команды nmap : самые популярные из них.
Всем привет, и в продолжение вводной статьи о программе сканирования портов Nmap я хотел бы предложить вам список наиболее используемых на практике команд этой программы, которые помогут использовать утилиту на всю катушку. В прошлый раз мы разбирали лишь общие команды, теперь – чуть подробнее. Итак, как применить команды nmap по полной программе. Здесь могут встретиться и бесконечно устаревшие флаги, но, так как они порой всё-таки “прокатывают”, я приведу и их.
В каждой утилите, в том числе и Nmap, существуют ходовые и проторенные варианты, которые могут значительно облегчить жизнь начинающему. Если что-то не получается, обратитесь к статье Тихое сканирование Nmap или как остаться незамеченным.
Сканируем отдельный IP адрес – базовая команда (здесь и далее я буду опускать ОБЯЗАТЕЛЬНЫЙ флаг -Pn; иначе Nmap будет выдавать ошибку host seems down – “хост, походу, не работает” ):
nmap 192.168.1.1
Сканируем хост:
nmap site.com
Сканируем на скорую руку:
nmap -F 192.168.1.1
Сканируем хост и ещё немного информации в дополнение:
nmap -v site.com
Сканируем одновременно несколько адресов. Это можно сделать сразу несколькими способами и большинство из них даже выглядят логично. Можно сканировать поадресно по подмаске:
nmap 192.168.1.1 192.168.1.2 192.168.1.3
аналогична ей команда (и, как видно, побыстрее в наборе):
nmap 192.168.1.1,2,3
можно указать диапазон адресов:
nmap 192.168.1.1-20
или всю подсеть сразу:
nmap 192.168.1.0/24
И тут вспоминаете, что некоторые адреса для … “анализа” бесполезны или их сканирование просто небезопасно. Можно их исключить – сама сеть может содержать много вкусненького:
nmap 192.168.1.0/24 --exlude 192.168.0.115
Порядок написания адресов после флага exlude такой же, как и в команде поиска: можно указывать несколько адресов подряд или через дефис. Более того. Вы можете сформировать некий список адресов, на которых обожглись или просто не хотите “светиться”. Запишите из в какой-нибудь file.txt и при следующем сканировании диапазона в список исключений можно добавить не адреса, а этот список, указав его емя (file.txt):
nmap 192.168.1.0/24 --exludefile file.txt
Читаем список сетей или хостов из файла. Опция -iL позволяет это сделать. Это полезно при сканировании большого количества сетей. Можно создать текстовый файл на манер:
cat > /tmp/список.txt
В нём адреса или их диапазон нужно указывать в одну строку с переносом по строчкам, например:
site.com 192.168.1.0/24 192.168.1.1/24 10.1.2.3 localhost
Соответственно, команда будет выглядеть как:
nmap -iL /tmp/list.txt
Следующие команды Nmap заставят узнать название и версию работающей у жертвы операционной системы:
nmap -A 192.168.1.254 nmap -v -A 192.168.1.1 nmap -A -iL /tmp/scanlist.txt
Проверим, работает ли фаерволл на стороне жертвы:
nmap -sA 192.168.1.254 nmap -sA server1.site.com
Если фаерволл стоит, попробуем сканировать через него:
nmap -PN 192.168.1.1 nmap -PN server1.site.com
Опция -6 позволит сканировать IPv6. Синтаксис команды будет таким:
nmap -6 server1.site.com
Сканируем сеть с целью определить какие серверы и устройства запущены и работают:
nmap -sP 192.168.1.0/24
Эти команды nmap покажут только открытые порты:
nmap --open 192.168.1.1
nmap --open server1.site.com
Следующая команда покажет пакеты. Отправленные и полученные:
nmap --packet-trace 192.168.1.1 nmap --packet-trace server1.site.com
Отобразить интерфейс хостов ( команда покажет устройства с выходом в сеть с присвоенными адресами):
nmap --iflist
Сканируем специальные порты:
nmap -p [port] имя_хоста
сканирует 80 порт:
nmap -p 80 192.168.1.1
сканирует TCP порт 80
nmap -p T:80 192.168.1.1
сканирует UDP порт 53
nmap -p U:53 192.168.1.1
сканирует два порта
nmap -p 80,443 192.168.1.1
сканирует порты в диапазоне:
nmap -p 80-200 192.168.1.1
Здесь несколько опций комбинируются:
nmap -p U:53,111,137,T:21-25,80,139,8080 192.168.1.1
nmap -p U:53,111,137,T:21-25,80,139,8080 server1.site.com
nmap -v -sU -sT -p U:53,111,137,T:21-25,80,139,8080 192.168.1.254
Вот эти команды nmap сканируют наиболее часто используемые порты:
nmap --top-ports 5 192.168.1.1 nmap --top-ports 10 192.168.1.1
Самый быстрый способ отсканировать все устройства на предмет открытых портов:
nmap -T5 192.168.1.0/24
Следующая команда сканирует адреса на предмет версий служб плюс на открытые TCP порты:
nmap -p 1-65535 -sV -sS -T4 192.168.1.0/24
После этой команды результаты сканирования SYN по версии ОС и маршрутизации в подробностях, за счёт менее низкого тайминга они более аккуратные:
nmap -v -sS -A -T4 192.168.1.0/24
Ну, и две следующие, одни из самых полных в ожидании результатов команды с различными степенями вероятности и скоростью сканирования:
nmap -v -p 1-65535 -sV -O -sS -T4 192.168.1.0/24
nmap -v -p 1-65535 -sV -O -sS -T5 192.168.1.0/24
Как определить удалённую операционную систему? Используем известные вам команды и опции:
nmap -O 192.168.1.1 nmap -O --osscan-guess 192.168.1.1 nmap -v -O --osscan-guess 192.168.1.1
Сканируем хост при помощи TCP ACK (PA) и TCP Syn (PS) ping. Если фаерволл блокирует стандартные ICMP пинги, можете попробовать вот эти команды:
nmap -PS 192.168.1.1 nmap -PS 80,21,443 192.168.1.1 nmap -PA 192.168.1.1 nmap -PA 80,21,200-512 192.168.1.1
Сканируем хост с использованием IP ping:
nmap -PO 192.168.1.1
Сканируем хост с использованием UDP ping (это сканирование помогает обойти фаерволы, которые защищают TCP соединение):
nmap -PU 192.168.1.1 nmap -PU 2000.2001 192.168.1.1
Следующая команда обнаруживает наиболее используемые порты для протокола TCP, используя TCP SYN Scan (команды мало чем отличаются):
Команды nmap для скрытого сканирования:
nmap -sS 192.168.1.1 nmap -sT 192.168.1.1 nmap -sA 192.168.1.1 nmap -sW 192.168.1.1 nmap -sM 192.168.1.1
Сканируем хост на предмет запущенных UDP сервисов:
nmap -sU 192.168.1.1
Сканируем на предмет IP протокола (этот тип протокола позволяет обнаружить, какие Ip протоколы поддерживаются машиной жертвы):
nmap -sO 192.168.1.1
Сканируем фаервол на предмет дыр в безопасности (неплох для тестирования безопасности против типичных атак):
Команда обманет фаервол и заставит отправить ответ:
nmap -sN 192.168.1.254
TCP Fin сканирование для проверки брандмауэра. Устанавливает TCP FIN бит:
nmap -sF 192.168.1.254
Сканируем фаервол на предмет фрагментов пакетов (идея заключается в том, чтобы раздробить заголовки TCP на несколько пакетов, что затрудняет их анализ фильтрами и другими защитными системами; так брандмауэр жертвы не понимает, что вы делаете в данный момент):
nmap -f 192.168.1.1 nmap -f site.com
Сканируем фаерволл на предмет спуффинга mac адреса.
- Подделаем собственный Mac адрес:
nmap --spoof-mac MAC-адрес 192.168.1.1
- Добавим ещё немного опций:
nmap -v -sT -PN --spoof-mac MAC-адрес 192.168.1.1
- используем случайный MAC адрес. Цифра 0 означает, что nmap выбирает абсолютно случайный MAC адрес:
nmap -v -sT -PN --spoof-mac 0 192.168.1.1
Как всё это дело сохранить (записать)?
nmap 192.168.1.1 > результаты.txt
nmap -oN результаты.txt 192.168.1.1
Надоело пользоваться терминалом? Любите пощёлкать мышкой? Вам в помощь утилита zenmap.
Успехов.