27 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Как пользоваться Nmap для сканирования сети

Как пользоваться Nmap для сканирования сети

Nmap — это очень популярный сканер сети с открытым исходным кодом, который может использоваться как в Windows, так и в Linux. Программа Nmap или Network Mapper была разработана Гордоном Луоном и на данный момент используется специалистами по безопасности и системными администраторами по всему миру.

Эта программа помогает системным администраторам очень быстро понять какие компьютеры подключены к сети, узнать их имена, а также посмотреть какое программное обеспечение на них установлено, какая операционная система и какие типы фильтров применяются. Функциональность программы может быть расширена за счет собственного скриптового языка, который позволяет администраторам автоматизировать много действий.

Например, с помощью скриптов можно автоматически обнаруживать новые уязвимости безопасности в вашей сети. Namp может использоваться с хорошими и плохими намерениями, будьте аккуратны, чтобы не использовать nmap против закона. В этой инструкции мы рассмотрим как пользоваться namp для сканирования портов в операционной системе Linux. Но сначала нужно попытаться понять как работает эта утилита.

Содержание

  • 1 История
  • 2 Описание
    • 2.1 Особенности
    • 2.2 Графический интерфейс
  • 3 GUI Nmap — Zenmap
  • 4 Принцип работы
  • 5 Примеры использования nmap — сканера портов
    • 5.1 Сканирование сети с помощью Nmap
    • 5.2 Пример сканирования сети с помощью Nmap на операционной системе Android
    • 5.3 Пример сканирования сети с помощью Nmap на операционной системе Windows 10
    • 5.4 Пример сканирования сети с помощью Nmap на операционной системе Ubuntu 18
  • 6 Примечания
  • 7 Источники

Синтаксис Nmap

Команда запуска Nmap очень проста для этого достаточно передать ей в параметрах целевой IP адрес или сеть, а также указать опции при необходимости:

$ nmap опции адрес

Теперь давайте рассмотрим основные опции, которые понадобятся нам в этой статье.

  • -sL — просто создать список работающих хостов, но не сканировать порты nmap;
  • -sP — только проверять доступен ли хост с помощью ping;
  • -PN — считать все хосты доступными, даже если они не отвечают на ping;
  • -sS/sT/sA/sW/sM — TCP сканирование;
  • -sU — UDP сканирование nmap;
  • -sN/sF/sX — TCP NULL и FIN сканирование;
  • -sC — запускать скрипт по умолчанию;
  • -sI — ленивое Indle сканирование;
  • -p — указать диапазон портов для проверки;
  • -sV — детальное исследование портов для определения версий служб;
  • -O — определять операционную систему;
  • -T[0-5] — скорость сканирования, чем больше, тем быстрее;
  • -D — маскировать сканирование с помощью фиктивных IP;
  • -S — изменить свой IP адрес на указанный;
  • -e — использовать определенный интерфейс;
  • —spoof-mac — установить свой MAC адрес;
  • -A — определение операционной системы с помощью скриптов.

Теперь, когда мы рассмотрели все основные опции, давайте поговорим о том, как выполняется сканирование портов nmap.

Описание

Nmap использует множество различных методов сканирования, таких как UDP [10] , TCP (connect) [11] , TCP SYN (полуоткрытое), FTP-proxy (прорыв через ftp) [12] , Reverse-ident, ICMP [13] (ping) [14] , FIN [15] , ACK [16] , Xmas tree [17] , SYN- и NULL-сканирование [18] . Nmap также поддерживает большой набор дополнительных возможностей, а именно: определение операционной системы удалённого хоста с использованием отпечатков стека [19] TCP/IP, «невидимое» сканирование, динамическое вычисление времени задержки и повтор передачи пакетов, параллельное сканирование, определение неактивных хостов методом параллельного ping-опроса, сканирование с использованием ложных хостов, определение наличия пакетных фильтров, прямое (без использования portmapper) RPC-сканирование [20] , сканирование с использованием IP-фрагментации, а также произвольное указание IP-адресов и номеров портов сканируемых сетей. В последних версиях добавлена возможность написания произвольных сценариев (скриптов) на языке программирования Lua [21] . Существуют графические интерфейсы, упрощающие выполнение задач сканирования:

  • Nmap Front End (Qt) [22] ;
  • zenmap (GTK, Linux). [Источник 2]
Читать еще:  Настройка Wi-Fi: установка, защита, ошибки

Особенности

Функции Nmap включают:

  1. Обнаружение сети и узлов в сети. Например, перечисление узлов, которые отвечают на запросы TCP (Transmission Control Protocol) и/или ICMP (Internet Control Messaging Protocol) или имеют определенный открытый порт.
  2. Сканирование портов, перечисление открытых портов на целевых узлах.
  3. Обнаружение версий, опрос сетевых служб на удаленных устройствах для определения имени приложения и номера его версии.
  4. Обнаружение ОС, определение операционной системы и аппаратных характеристик сетевых устройств.
  5. Взаимодействие с целевой программой с помощью Nmap Scripting Engine (NSE) и языка программированияLua.
  6. Nmap может предоставить дополнительную информацию о целевых объектах, включая обратные DNS-имена, типы устройств и MAC-адреса.

Типичные области применения:

  1. Аудит безопасности устройства или брандмауэра путем определения сетевых подключений, которые могут быть сделаны, или через него.
  2. Определение открытых портов на целевом узле при подготовке к аудиту.
  3. Инвентаризация сети, составление карты сети (картирование сети) [23] , обслуживание и управление активами.
  4. Аудит безопасности сети путем выявления новых серверов.
  5. Создание трафика для хостов в сети, анализ ответов и измерение времени отклика.
  6. Поиск и использование уязвимостей в сети.

Графический интерфейс

Программное обеспечение предоставляет ряд функций для проверки компьютерных сетей, включая обнаружение хостов и сервис обнаружения операционных систем. Эти функции расширяются скриптами, обеспечивающими более совершенное обнаружение службы, обнаружение уязвимостей, и другими функциями. Nmap может адаптироваться к условиям сети, включая задержки и перегрузки во время сканирования. Сообщество пользователей Nmap продолжает разрабатывать и совершенствовать этот инструмент.

Zenmap показывает результаты сканирования портов для Википедии

NmapFE показывает результаты сканирования портов для Wikipedia

XNmap: Mac OS и GUI

Синтаксис Nmap

Команда запуска Nmap очень проста для этого достаточно передать ей в параметрах целевой IP адрес или сеть, а также указать опции при необходимости:

$ nmap опции адрес

Теперь давайте рассмотрим основные опции, которые понадобятся нам в этой статье.

  • -sL — просто создать список работающих хостов, но не сканировать порты nmap;
  • -sP — только проверять доступен ли хост с помощью ping;
  • -PN — считать все хосты доступными, даже если они не отвечают на ping;
  • -sS/sT/sA/sW/sM — TCP сканирование;
  • -sU — UDP сканирование nmap;
  • -sN/sF/sX — TCP NULL и FIN сканирование;
  • -sC — запускать скрипт по умолчанию;
  • -sI — ленивое Indle сканирование;
  • -p — указать диапазон портов для проверки;
  • -sV — детальное исследование портов для определения версий служб;
  • -O — определять операционную систему;
  • -T[0-5] — скорость сканирования, чем больше, тем быстрее;
  • -D — маскировать сканирование с помощью фиктивных IP;
  • -S — изменить свой IP адрес на указанный;
  • -e — использовать определенный интерфейс;
  • —spoof-mac — установить свой MAC адрес;
  • -A — определение операционной системы с помощью скриптов.
Читать еще:  Как восстановить страницу ВК: подробный гайд для разных ситуаций

Теперь, когда мы рассмотрели все основные опции, давайте поговорим о том, как выполняется сканирование портов nmap.

Примеры использования nmap — сканера портов

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

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

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

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

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

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

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

  1. Записи могут быть представлены в любом из форматов, с которыми работает.
  2. Nmap из командной строки (IP адреса, имена хостов, CIDR (Classless Inter-Domain Routing), IPv6, или октетные.
  3. диапазоны). Записи должны разделятся одним или более пробелами, табуляциями.
  4. или переходами на новую строку.

5. Исключение IP/Хостов/Сетей из Сканирования Исключить Цели из сканирования Nmap-ом:

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

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

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

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

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

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

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

7. Определение Поддерживаемых IP Протоколов Определить какие IP Протоколы (TCP (Transmission Control Protocol), UDP (User Datagram Protocol), ICMP (Internet Control Messaging Protocol) и т.д.) поддерживает сканируемый хост:

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

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

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

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

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

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

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

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

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

12. Определение ОС Одна из наиболее известных функциональных возможностей Nmap — это удаленное определение ОС на основе анализа работы стека TCP/IP (Transmission Control Protocol/Internet Protocol). Nmap посылает серию TCP и UDP пакетов на удаленный хост и изучает ответы. После проведения множества тестов, Nmap сравнивает результаты со своей базой данных и, при нахождении соответствий, выводит информацию об ОС. Включить Определение ОС:

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

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

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

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

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

16. Сканирование Фаервола на Уязвимости Эти три типа сканирования используют незаметную лазейку в TCP RFC, чтобы разделять порты на открытые и закрытые. Когда сканируется система отвечающая требованиям RFC, любой пакет, не содержащий установленного бита SYN, RST или ACK, повлечет за собой отправку RST в ответ в случае, если порт закрыт, или не повлечет никакого ответа, если порт открыт. Т.к. ни один из этих битов не установлен, то любая комбинация трех оставшихся (FIN, PSH и URG) будет являться правильной. TCP Null сканирование:

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

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

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

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

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

17. Скрытое Сканирование TCP SYN сканирование:

  • Известное как сканированием с использованием полуоткрытых соединений, так как не отрывает полных TCP соединений.
Читать еще:  Как узнать месторасположение телефона по номеру. Местоположение по номеру телефона. Определение местоположения человека через Viber

18. Отключение Обнаружения Хостов (No Ping) Не пинговать хосты перед сканированием:

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

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

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

Сканирование сети с помощью Nmap

Пример сканирования сети с помощью Nmap на операционной системе Android

Пример сканирования сети с помощью Nmap на операционной системе Windows 10

Пример сканирования сети с помощью Nmap на операционной системе Ubuntu 18

Как пользоваться Nmap для сканирования портов в Linux

Дальше рассмотрим примеры nmap. Сначала давайте рассмотрим как найти все подключенные к сети устройства, для этого достаточно использовать опцию -sL и указать маску нашей сети. в моем случае это 192.168.1.1/24. Маску вашей локальной сети вы можете найти, выполнив команду:

Из вывода для используемого интерфейса возьмите число после слеша, а до слэша укажите ip вашего роутера. Команда на сканирование сети nmap будет выглядеть вот так:

nmap -sL 192.168.1.1/24

Иногда это сканирование может не дать никаких результатов, потому что некоторые операционные системы имеют защиту от сканирования портов. Но это можно обойти, просто использовав для сканирования ping всех ip адресов сети, для этого есть опция -sn:

nmap -sn 192.168.1.1/24

Как видите, теперь программа обнаружила активные устройства в сети. Дальше мы можем сканировать порты nmap для нужного узла запустив утилиту без опций:

sudo nmap 192.168.1.1

Теперь мы можем видеть, что у нас открыто несколько портов, все они используются каким-либо сервисом на целевой машине. Каждый из них может быть потенциально уязвимым, поэтому иметь много открытых портов на машине небезопасно. Но это еще далеко не все, что вы можете сделать, дальше вы узнаете как пользоваться nmap.

Чтобы узнать более подробную информацию о машине и запущенных на ней сервисах вы можете использовать опцию -sV. Утилита подключится к каждому порту и определит всю доступную информацию:

sudo nmap -sV 192.168.1.1

На нашей машине запущен ftp, а поэтому мы можем попытаться рассмотреть эту службу подробнее с помощью стандартных скриптов nmap. Скрипты позволяют проверить порт более детально, найти возможные уязвимости. Для этого используйте опцию -sC и -p чтобы задать порт:

sudo nmap -sC 192.168.56.102 -p 21

Мы выполняли скрипт по умолчанию, но есть еще и другие скрипты, например, найти все скрипты для ftp вы можете командой:

sudo find /usr/share/nmap/scripts/ -name ‘*.nse’ | grep ftp

Затем попытаемся использовать один из них, для этого достаточно указать его с помощью опции —script. Но сначала вы можете посмотреть информацию о скрипте:

sudo nmap —script-help ftp-brute.nse

Этот скрипт будет пытаться определить логин и пароль от FTP на удаленном узле. Затем выполните скрипт:

sudo nmap —script ftp-brute.nse 192.168.1.1 -p 21

В результате скрипт подобрал логин и пароль, admin/admin. Вот поэтому не нужно использовать параметры входа по умолчанию.

Также можно запустить утилиту с опцией -A, она активирует более агрессивный режим работы утилиты, с помощью которого вы получите большую часть информации одной командой:

sudo nmap -A 192.168.1.1

Обратите внимание, что здесь есть почти вся информация, которую мы уже видели раньше. Ее можно использовать чтобы увеличить защиту этой машины.

Ссылка на основную публикацию
Статьи c упоминанием слов:
Adblock
detector