32 примера использования команды Nmap для Linux-систем

32 примера использования команды Nmap для Linux-систем

Рубрики:

nmap

Метки:

, , , , , ,

Сегодня поговорим про использование команды Nmap для LinuxNmap (сокращенно от англ. Network Mapper) — это очень удобное средство для обеспечения безопасности. Оно помогает осуществлять аудит сетевой инфраструктуры, сканировать ее и выявлять подключения. Данный инструмент имеет открытый исходный код, потому широко применяется сетевыми и системными администраторами.

От аналогов утилита Nmap отличается сочетанием двух характеристик:

  • огромных возможностей, необходимых профессионалам для решения задач в ИТ;
  • простоты освоения, позволяющей быстро научиться основам работы с сетями с нуля.

Потому сегодняшняя наша статья научит Вас некоторым полезным способам применения команды Nmap. Помимо всего прочего, Вам будут продемонстрированы методы не только оборонительного, но и превентивного усиления защиты Вашей системы.

Содержание:

  1. Для каких целей применяется Nmap
  2. Подготовка среды для лабораторных работ по Nmap
  3. Примеры использования Nmap для Linux-систем
    1. №1 — сканирование указанного IP-адреса (IPv4) либо хоста
      1. Сканируем один IP-адрес (IPv4)
      2. Сканируем одно имя хоста
      3. Сканируем одно имя хоста, получая дополнительные данные
    2. №2 — сканирование сразу нескольких IP-адресов или подсетей (IPv4)
      1. Сканируем группу адресов IP
      2. Сканируем группу подсетей 192.168.1.0/24
      3. Сканируем диапазон IP-адресов
      4. Сканируем диапазон IP-адресов с помощью метасимвола подстановки
      5. Сканируем всю подсеть
    3. №3 — сканирование хостов/сетей (IPv4) по списку из файла
    4. №4 — исключение указанных хостов/сетей при сканировании
      1. Исключение одного хоста по его IP-адресу
      2. Исключение нескольких хостов по их IP-адресам
      3. Исключение нескольких хостов, записанных в файл
    5. №5 — скрипт сканирования ОС и определения версии
      1. Сканируем версию ОС
      2. Сканируем версию ОС, получая дополнительные данные
      3. Сканируем версию ОС по списку хостов из файла
    6. №6 — выявление защиты брандмауэром или фильтрации пакетов у хоста/сети
      1. Сканируем на наличие брандмауэра по IP-адресу
      2. Сканируем на наличие брандмауэра по имени хоста
    7. №7 — сканирование хоста, защищенного брандмауэром
      1. Сканирование хоста, защищенного брандмауэром, по его IP-адресу
      2. Сканирование хоста, защищенного брандмауэром, по имени хоста
    8. №8 — сканирование хоста с адресом IPv6 с помощью Nmap для Linux
    9. №9 — поиск активных серверов и других устройств
    10. №10 — быстрое сканирование
    11. №11 — поиск причины, по которой порт находится в определенном состоянии
      1. Узнаем причину текущего состояния порта по IP-адресу
      2. Узнаем причину текущего состояния порта по имени хоста
    12. №12 — обнаружение всех открытых портов
      1. Находим открытые порты по IP-адресу
      2. Находим открытые порты по имени хоста
    13. №13 — вывод всех отправленных/полученных пакетов
      1. Выводим пакеты по IP-адресу
      2. Выводим пакеты по имени хоста
    14. №14 — вывод интерфейсов хостов и маршрутов
    15. №15 — сканирование конкретных портов
      1. Сканируем указанный порт
      2. Сканируем указанный порт по TCP
      3. Сканируем указанный порт по UDP
      4. Сканируем два порта
      5. Сканируем диапазон портов
      6. Комбинируем опции сканирования
      7. Сканируем все порты с помощью метасимвола подстановки «*»
    16. №16 — экспресс-сканирование всех открытых портов в сети
    17. №17 — удаленное выявление операционной системы с помощью Nmap для Linux
    18. №18 — проверка версий удаленных сервисов (сервер / демон)
    19. №19 — сканирование с помощью пинга TCP ACK (PA) и TCP Syn (PS)
    20. №20 — сканирование хоста с помощью IP-протокола ping
    21. №21 — сканирование хоста за счет UDP-пинга
    22. №22 — поиск наиболее часто используемых портов TCP, с использованием TCP SYN Scan
      1. Сканируем скрытно с TCP SYN
      2. Ищем с помощью TCP-подключения порты, которые чаще всего используются
      3. Ищем с помощью TCP ACK порты, которые чаще всего используются
      4. Ищем с помощью сканирования TCP Window порты, которые чаще всего используются
      5. Ищем с помощью сканирования TCP Maimon порты, которые чаще всего используются
    23. №23 — сканирование хоста на предмет UDP-сервисов
    24. №24 — сканирование поддерживаемых IP-протоколов
    25. №25 — сканирование брандмауэра для обнаружения уязвимостей
      1. Сканируем TCP Null, позволяющим «обмануть» брандмауэр для получения ответа
      2. Сканируем TCP FIN для проверки брандмауэра
      3. Сканируем TCP Xmas для проверки брандмауэра
    26. №26 — сканирование брандмауэра на предмет фрагментов пакетов
    27. №27 — скрытое сканирование с обманками
    28. №28 — спуфинг MAC-адресов
      1. Указываем ложный MAC-адрес
      2. Указываем дополнительные опции спуфинга
      3. Используем случайный MAC-адрес
    29. №29 — сохранение вывода в текстовый файл при работе с Nmap для Linux
    30. №30 — сканирование веб-серверов и каналов в Nikto
    31. №31 — ускорение процесса сканирования Nmap
    32. №32 — что делать, если вы не любите пользоваться командной строкой Linux
      1. Устанавливаем Zenmap
      2. Запускаем Zenmap
  4. Выводы

Для каких целей применяется Nmap

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

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

С помощью этого приложения можно получить сведения следующего характера:

  • сколько и каких машин подключено к Вашей сети;
  • какие в ней присутствуют IP-адреса;
  • какие операционные системы и каких версий установлены на задействованных машинах;
  • имеются ли в Вашей инфраструктуре открытые порты и какие именно;
  • заражена ли система потенциально вредоносным программным обеспечением;
  • подключаются ли к Вашей сети неавторизованные хосты или сервисы;
  • все ли ПК в Вашей сети соответствуют указанному набору критериев безопасности (с возможностью блокирования тех, что не соответствует).

Подготовка среды для лабораторных работ по Nmap

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

Sample-setup-(LAB)

На показанной выше схеме показаны следующие условные обозначения:

  • wks01 — Ваш персональный компьютер под управлением Unix-подобной операционной системы (Linux либо OS X) с установленной утилитой Nmap, с которого будет осуществляться сканирование;
  • server1 — unpatched сервер под управлением ОС Linux, Unix либо Windows (должен содержать несколько сервисов вроде файлового сервера, веб-сервера и т. п.);
  • server2 — fully patched сервер с брандмауэром под управлением ОС Linux, Unix либо Windows (должен содержать несколько сервисов вроде файлового сервера, веб-сервера и т. п.).

Все три устройства нужно соединить через коммутатор в единую сеть.

Примеры использования Nmap для Linux-систем

Всли Вы подготовили свою тестовую среду — можно переходить к изучению примеров использования Nmap.

№1 — сканирование указанного IP-адреса (IPv4) либо хоста

Прежде всего нам пригодится команда, позволяющая просканировать конкретное имя хоста или определенный IP-адрес.

Сканируем один IP-адрес (IPv4)

Сканируем одно имя хоста

Сканируем одно имя хоста, получая дополнительные данные

 

nmap-output

№2 — сканирование сразу нескольких IP-адресов или подсетей (IPv4)

В реальной жизни очень редко удается обойтись сканированием одного единственного хоста за раз. К счастью, разработчик предусмотрел возможность одновременного сканирования нескольких IP-адресов.

Сканируем группу адресов IP

Сканируем группу подсетей 192.168.1.0/24

Сканируем диапазон IP-адресов

Cканируем диапазон IP-адресов с помощью метасимвола подстановки

Сканируем всю подсеть

№3 — сканирование хостов/сетей (IPv4) по списку из файла

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

 

После чего укажите путь к файлу как аргумент команды Nmap:

№4 — исключение указанных хостов/сетей при сканировании

Возможна и обратная ситуация, при которой некоторые хосты или адреса IP не нужно сканировать. В этом случае их можно исключить опцией --exclude.

Исключение одного хоста по его IP-адресу

Исключение нескольких хостов по их IP-адресам

Исключение нескольких хостов, записанных в файл

Список исключенных хостов или сетей можно внести непосредственно в файл — /tmp/exclude.txt. А потом указывать его в качестве аргумента команды Nmap:

№5 — скрипт сканирования ОС и определения версии

Nmap позволяет сканировать сеть на предмет получения данных об установленных ОС и их версиях. Для этого нужно использовать опцию -A.

Сканируем версию ОС

Сканируем версию ОС, получая дополнительные данные

Сканируем версию ОС по списку хостов из файла

№6 — выявление защиты брандмауэром или фильтрации пакетов у хоста/сети

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

Сканируем на наличие брандмауэра по IP-адресу

Сканируем на наличие брандмауэра по имени хоста

№7 — сканирование хоста, защищенного брандмауэром

Также может возникнуть потребность в сканировании защищенного хоста. Сделать это поможет опция -PN, указывающая утилите Nmap пропустить этап пинга сканирования.

Сканирование хоста, защищенного брандмауэром, по его IP-адресу

Сканирование хоста, защищенного брандмауэром, по имени хоста

№8 — сканирование хоста с адресом IPv6 с помощью Nmap для Linux

Утилита поддерживает сканирование IPv6 — для этого предназначена опция -6. В таком случае команды будут выглядеть следующим образом:

№9 — поиск активных серверов и других устройств

Если возникла необходимость в обнаружении всех запущенных устройств сети, то самый простой способ это сделать — применить метод host discovery или ping scan:

№10 — быстрое сканирование

В утилите предусмотрена возможность выполнения быстрого сканирования. Для этого предназначена опция -F утилиты Nmap:

№11 — поиск причины, по которой порт находится в определенном состоянии

С помощью опции --reason можно узнать, по какой причине тот или иной порт был переведен утилитой в определенное состояние.

Узнаем причину текущего состояния порта по IP-адресу

Узнаем причину текущего состояния порта по имени хоста

№12 — обнаружение всех открытых портов

Одной из самых полезных функций Nmap является способность искать открытые порты. Специально для этого предназначена опция --open.

Находим открытые порты по IP-адресу

Находим открытые порты по имени хоста

№13 — вывод всех отправленных/полученных пакетов

Не менее важна функция просмотра отправленных и полученных пакетов с помощью Nmap. Для этого предназначена опция --packet-trace.

Выводим пакеты по IP-адресу

Выводим пакеты по имени хоста

№14 — вывод интерфейсов хостов и маршрутов

Для отладки полезно уметь вывести на экран интерфейсы активных хостов и маршрутов. Утилита Nmap для Linux-систем может это сделать с помощью опции --iflist:

№15 — сканирование конкретных портов

Утилита позволяет сканировать определенные порты, для этого можно использовать опцию -p:

Сканируем указанный порт

Сканируем указанный порт по TCP

Сканируем указанный порт по UDP

Сканируем два порта

Сканируем диапазон портов

Комбинируем опции сканирования

Сканируем все порты с помощью метасимвола подстановки «*»

## Scan top ports i.e. scan $number most common ports ##
nmap —top-ports 5 192.168.1.1
nmap —top-ports 10 192.168.1.1
Starting Nmap 5.00 ( http://nmap.org ) at 2012-11-27 01:23 IST
Interesting ports on 192.168.1.1:
PORT STATE SERVICE
21/tcp closed ftp
22/tcp open ssh
23/tcp closed telnet
25/tcp closed smtp
80/tcp open http
110/tcp closed pop3
139/tcp closed netbios-ssn
443/tcp closed https
445/tcp closed microsoft-ds
3389/tcp closed ms-term-serv
MAC Address: BC:AE:C5:C3:16:93 (Unknown)

Nmap done: 1 IP address (1 host up) scanned in 0.51 seconds[/code]

№16 — экспресс-сканирование всех открытых портов в сети

Одной из самых нужных и востребованных возможностей утилиты Nmap является быстрый поиск открытых портов. Для его выполнения предназначена опция -T5:

№17 — удаленное выявление операционной системы с помощью Nmap для Linux

Утилита может опознавать ПО и даже операционные системы на удаленном хосте. В этом Вам поможет опция -O:

№18 — проверка версий удаленных сервисов (сервер / демон)

Также программа может выяснить то, какие версии сервисов работают на удаленных хостах. Для этого нужно использовать опцию -sV:

№19 — сканирование с помощью пинга TCP ACK (PA) и TCP Syn (PS)

Нередко брандмауэр отклоняет все запросы ICMP. В таком случае можно попробовать выполнить сканирование одним из следующих способов:

№20 — сканирование хоста с помощью IP-протокола ping

С помощью Network Mapper можно выполнить пинг с использованием IP-протокола. Для этого воспользуйтесь опцией -PO:

№21 — сканирование хоста за счет UDP-пинга

При работе с Nmap можно обойти межсетевые экраны с помощью UDP-пинга. Для этого попробуйте опцию -PU:

№22 — поиск наиболее часто используемых портов TCP, с использованием TCP SYN Scan

Сканируем скрытно с TCP SYN

Можно выполнить полуоткрытое сканирование (TCP SYN) без установки полноценного подключения. Для этого воспользуйтесь опцией -sS:

Ищем с помощью TCP-подключения порты, которые чаще всего используются

Ищем с помощью TCP ACK порты, которые чаще всего используются

Ищем с помощью сканирования TCP Window порты, которые чаще всего используются

Ищем с помощью сканирования TCP Maimon порты, которые чаще всего используются

№23 — сканирование хоста на предмет UDP-сервисов

Утилита предлагает обнаружение служб, пользующихся UDP-подключением. Для этого достаточно использовать опцию -sU:

№24 — сканирование поддерживаемых IP-протоколов

А еще можно выяснить, какие именно IP-протоколы доступны к применению на целевых машинах:

  • TCP;
  • ICMP;
  • IGMP и другие.

Для этого нужно использовать опцию -sO:

№25 — сканирование брандмауэра для обнаружения уязвимостей

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

Сканируем TCP Null, позволяющим «обмануть» брандмауэр для получения ответа

Первый вариант оставляет заголовок флага TCP равным нулю (не устанавливает битов) с помощью опции -sN:

Сканируем TCP FIN для проверки брандмауэра

Второй вариант сканирования устанавливает только бит TCP FIN с помощью опции -sF:

Сканируем TCP Xmas для проверки брандмауэра

Третий вариант с помощью опции -sX устанавливает флаги FIN, PSH и URG, подсвечивая пакет не хуже новогодней елки:

№26 — сканирование брандмауэра на наличие фрагментов пакетов

Флаг -f заставляет данное сканирование (включая проверки ping) использовать крошечные фрагментированные IP-пакеты. Идея состоит в том, чтобы разделить заголовок TCP на несколько пакетов для усложнения фильтрации пакетов и, следовательно, усложнить работу системам обнаружения вторжений и т. д.

№27 — скрытое сканирование с обманками

Существует возможность при сканировании скрыть свой IP-адрес среди любого количества фиктивных адресов-обманок. Для этого предназначена опция -D:

№28 — спуфинг MAC-адресов

Утилита Nmap имеет в своем арсенале функцию спуфинга MAC-адресов. Стоит отметить, что spoofing attack — это ситуация, при которой одно устройство / приложение маскируется под другое, указывая его MAC-адрес.

Указываем ложный MAC-адрес

Указываем дополнительные опции спуфинга

Используем случайный MAC-адрес

В данном примере «0» означает, что Nmap выберет совершенно случайный MAC-адрес:

№29 — сохранение вывода в текстовый файл при работе с Nmap для Linux

Если Вам нужно сохранить результаты вывода утилиты Nmap, то удобнее всего сделать это за счет перенаправления стандартного потока вывода в указанный текстовый файл с помощью знака «>»:

№30 — сканирование веб-серверов и каналов в Nikto

Существует возможность осуществить сканирование веб-серверов и каналов в Nikto:

№31 — ускорение процесса сканирования Nmap

Вы можете повысить скорость сканирования в Nmap. Для этого следует воспользоваться опцией -T:

№32 — что делать, если вы не любите пользоваться командной строкой Linux

Наверняка многие наши читатели умеют работать с командной строкой ОС семейства GNU / Linux. Однако это вовсе не означает, что все обязаны любить этот инструмент и пользоваться всегда только им. Мы можем посоветовать Вам Zenmap — официальный GUI для программы Nmap Security Scanner. Данное решение является кроссплатформенным и поддерживает популярные ОС:

  • Linux;
  • Windows;
  • Mac OS X;
  • BSD и другие.

Данное приложение с открытым исходным кодом является бесплатным и призвано обеспечить пользователя профессиональным функционалом Nmap для Linux-систем. И, при этом, упростить новичкам работу с утилитой, особенно на первых порах.

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

Устанавливаем Zenmap

Установить Zenmap можно с помощью команды менеджера пакетов apt:

Запускаем Zenmap

Чтобы запустить Zenmap, введите в командную строку следующую команду:

Выводы

Базовые примеры работы с утилитой Nmap для Linux достаточно легки в освоении. Поэтому этот инструмент можно и нужно брать на вооружение всем, кто занимается сетевым и системным администрированием UNIX-подобных систем.

Вам могут пригодиться в работе и учебе следующие материалы:

  1. Официальное руководство проекта Nmap по обнаружению сети и сканированию параметров безопасности.
  2. Официальная домашняя страница проекта Nmap.

Безусловно, у команды Nmap есть много других опций. Хотите узнать о них? Читайте нашу статью про 29 практических примеров команды Nmap для сетевых администраторов Linux.

Спасибо за время, уделенное прочтению статьи о 32 примерах использования команды Nmap для Linux-систем!

Если возникли вопросы — задавайте их в комментариях.

Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!

Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Cisco, курсы по кибербезопасности, полный курс по кибербезопасности, курсы DevNet / DevOps (программируемые системы) от Академии Cisco, курсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).

Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!

Спешите подать заявку! Группы стартуют 25 января, 26 февраля, 22 марта, 26 апреля, 24 мая, 21 июня, 26 июля, 23 августа, 20 сентября, 25 октября, 22 ноября, 20 декабря.
Что Вы получите?
  • Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
  • Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
  • Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
Как проходит обучение?
  • Проведем вечерние онлайн-лекции на нашей платформе.
  • Согласуем с вами удобное время для практик.
  • Если хотите индивидуальный график — обсудим и реализуем.
  • Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
  • Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
А еще поможем Вам:
  • отредактировать или создать с нуля резюме;
  • подготовиться к техническим интервью;
  • подготовиться к конкурсу на понравившуюся вакансию;
  • устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
Чтобы учиться на курсах Cisco, Linux LPI, кибербезопасность, DevOps / DevNet, Python, подайте заявку или получите бесплатную консультацию.

Рубрики:

nmap

Метки:

, , , , , ,

Больше похожих постов

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Заполните поле
Заполните поле
Пожалуйста, введите корректный адрес email.
Вы должны согласиться с условиями для продолжения


Поиск по сайту
Лучшее
Популярное
Рубрики
Меню