NMAP - расширенное описание

  • Михаил
  • 8 мин. на прочтение
  • 89
  • 09 Feb 2019
  • 09 Feb 2019

Приложение Nmap для Linux-систем было создано Гордоном Лионом. Его работа основана на использовании необработанных IP-пакетов, которые позволяют найти все доступные хосты в Вашей сети. Также они способствуют определению сервисов, использующих данные хосты. Утилита возвращает данные о том, на каких операционных системах выполняются соответствующие процессы, и выявляет фильтрацию пакетов брандмауэром, если тот используется.

Инструмент Nmap предназначен прежде всего для сканирования сети и аудита безопасности. Но многие сетевые и системные администраторы применяют его в повседневной работе: для контроля над графиком обновления служб, анализа сетевых подключений и проверки времени работы отдельных хостов.

1. Сканирование Одного Хоста или IP Адреса

Сканировать Отдельный IP Адрес:       

nmap 192.168.0.1

Сканировать сервер по Имени Хоста:

nmap server.com

Увеличить Уровень Детализации результатов сканирования:

nmap -v server.com
nmap -vv server.com

2. Сканирование Множества IP Адресов

Сканировать Множество IP Адресов:

nmap 192.168.0.1 192.168.0.2 192.168.0.3
namp 192.168.0.1,2,3

Сканировать Подсеть:

nmap 192.168.0.0/24
nmap 192.168.0.*

 Сканировать Диапазон IP Адресов (192.168.0.0 — 192.168.0.100):

nmap 192.168.0.0-100

3. Поиск Активных Компьютеров в Сети

Сканировать сеть в поиске Активных Хостов

nmap -sn 192.168.0.0/24

4. Сканирование Списка Хостов из Файла

Сканирование списка хостов/сетей из Файла:

nmap -iL input.txt

Формат файла:

# Записи могут быть представлены в любом из форматов, с которыми работает
                # Nmap из командной строки (IP адреса, имена хостов, CIDR, IPv6, или октетные
                # диапазоны). Записи должны разделятся одним или более пробелами, табуляциями
                # или переходами на новую строку.
                $ cat input.txt
                server.shellhacks.com
                192.168.0.0/24
                192.168.1.1,2,3
                192.168.2.0-100

5. Исключение IP/Хостов/Сетей из Сканирования

Исключить Цели из сканирования Nmap-ом:

nmap 192.168.1.0/24 --exclude 192.168.1.1
nmap 192.168.1.0/24 --exclude 192.168.1.1 192.168.1.5
nmap 192.168.1.0/24 --exclude 192.168.1.1,2,3

Исключить Список хостов, взятых из файла:

nmap 192.168.1.0/24 --excludefile exclude.txt

Формат файла с исключенными хостами аналогичен приведенному выше.

6. Сканирование Определенных Портов

Сканировать Один Порт:

nmap -p 80 192.168.1.1

Сканировать Несколько Портов:

nmap -p 80,443 192.168.1.1

 Сканировать Диапазон Портов:

nmap -p 80-1000 192.168.1.1

Сканировать Все Порты:

nmap -p "*" 192.168.1.1

Сканировать несколько самых Распространенных Портов:

nmap --top-ports 5 192.168.1.1
nmap --top-ports 10 192.168.1.1

7. Определение Поддерживаемых IP Протоколов

Определить какие IP Протоколы (TCP, UDP, ICMP, и т.д.) поддерживает сканируемый хост:

nmap -sO 192.168.1.1

8. Сканирование TCP/UDP Портов

Сканировать все TCP Порты:

nmap -sT 192.168.1.1

Сканировать определенные TCP Порты:

nmap -p T:80 192.168.1.1

Сканировать все UDP Порты:

nmap -sU 192.168.1.1

Сканировать определенные UDP Порты:

nmap -p U:53 192.168.1.1

Объединение сканирования разных портов:

nmap -p U:53,79,113,T:21-25,80,443,8080 192.168.1.1

9. Быстрое Сканирование

Активировать Быстрый Режим сканирования:

nmap -F 192.168.1.1

* Сканирует меньшее кол-во портов, чем при обыкновенном сканировании.

10. Показывать Причину Состояния Порта

Показать Причину, по которой Nmap считает что порт находится в определенном состоянии: 

nmap --reason 192.168.1.1

11. Показывать Только Открытые Порты

Показать Только Открытые Порты (либо возможно открытые):

nmap --open 192.168.1.1

12. Определение ОС

Одна из наиболее известных функциональных возможностей Nmap — это удаленное определение ОС на основе анализа работы стека TCP/IP. Nmap посылает серию TCP и UDP пакетов на удаленный хост и изучает ответы.

После проведения множества тестов, Nmap сравнивает результаты со своей базой данных и, при нахождении соответствий, выводит информацию об ОС.

Включить Определение ОС:

nmap -O 192.168.1.1

13. Определение Версии Сервисов

Включить Определение Версии Сервисов

nmap -sV 192.168.1.1

* Определяет версии программ, запущенных на удаленном сервере.

14. Обнаружение Фаервола

Узнать, защищен ли компьютер какими-либо Пакетными Фильтрами или Фаерволом:

nmap -sA 192.168.1.1

15. Подмена MAC Адреса

Подменить MAC Адреса:

nmap --spoof-mac 00:11:22:33:44:55 192.168.1.1

Подменить MAC Адрес Случайным MAC-ом:

nmap --spoof-mac 0 192.168.1.1

16. Сканирование Фаервола на Уязвимости

Эти три типа сканирования используют незаметную лазейку в TCP RFC, чтобы разделять порты на открытые и закрытые.

Когда сканируется система отвечающая требованиям RFC, любой пакет, не содержащий установленного бита SYN, RST или ACK, повлечет за собой отправку RST в ответ в случае, если порт закрыт, или не повлечет никакого ответа, если порт открыт.

Т.к. ни один из этих битов не установлен, то любая комбинация трех оставшихся (FIN, PSH и URG) будет являться правильной.

TCP Null сканирование:

nmap -sN 192.168.1.1

* Не устанавливаются никакие биты (Флагов в TCP заголовоке 0).

TCP Fin сканирование:

nmap -sF 192.168.1.1

* Устанавливается только TCP FIN бит.

TCP Xmas сканирование:

nmap -sX 192.168.1.1

* Устанавливаются FIN, PSH и URG флаги (пакет светится как новогодняя елка).

17. Скрытое Сканирование

TCP SYN сканирование:

nmap -sS 192.168.0.1

* Известное как сканированием с использованием полуоткрытых соединений, так как не отрывает полных TCP соединений.

18. Отключение Обнаружения Хостов (No Ping)

Не пинговать хосты перед сканированием:

nmap -Pn 192.168.1.1

19. Отключение Использования DNS

Никогда не производить обратное преобразование DNS имен для каждого обнаруженного активного IP адреса:

nmap -n 192.168.1.1

20. Сохранение Результатов Сканирования Nmap в Файл

Сохранить результат сканирования Nmap в Текстовый Файл:

nmap 192.168.1.1 > output.txt
nmap -oN output.txt 192.168.1.1

Сохранить результат сканирования Nmap в XML Файл:

$ nmap -oX output.xml 192.168.1.1