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

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

Рубрики:

nmap

Метки:

32 примера использования команды Nmap для Linux-систем. Nmap (сокращенно от англ. 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 есть много других опций. В результате чтения руководства вы можете открыть для себя много дополнительных возможностей программы.

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

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

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

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

Курсы Cisco и Linux с трудоустройством!

Спешите подать заявку! Осталось пару мест. Группы стартуют 22 июля, а следующая 19 августа, 23 сентября, 21 октября, 25 ноября, 16 декабря, 20 января, 24 февраля.
Что Вы получите?
  • Поможем стать экспертом в сетевом администрировании и получить международные сертификаты Cisco CCNA Routing & Switching или Linux LPI.
  • Предлагаем проверенную программу и учебник экспертов из Cisco Networking Academy и Linux Professional Institute, сертифицированных инструкторов и личного куратора.
  • Поможем с трудоустройством и сделать карьеру. 100% наших выпускников трудоустраиваются.
Как проходит обучение?
  • Проводим вечерние онлайн-лекции на нашей платформе или обучайтесь очно на базе Киевского офиса.
  • Спросим у вас об удобном времени для практик и подстроимся: понимаем, что времени учиться мало.
  • Если хотите индивидуальный график — обсудим и осуществим.
  • Выставим четкие дедлайны для самоорганизации. Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
А еще поможем Вам:
  • отредактировать резюме;
  • подготовиться к техническим интервью;
  • подготовиться к конкурсу на понравившуюся вакансию;
  • устроим на работу в Cisco по программе Cisco Incubator, New Graduate и Experienced. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
Чтобы учиться на курсах Cisco CCNA Routing & Switching и Linux LPI, подайте заявку или получите бесплатную консультацию.

Рубрики:

nmap

Метки:

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

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

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

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

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