Обнаружение хостов с помощью Nmap

NmapNmapBeginner
Практиковаться сейчас

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В этом лабе цель - научиться выполнять обнаружение хостов с использованием Nmap. В лабе рассматриваются различные команды Nmap для обнаружения хостов, включая выполнение пинг-скана по сети 192.168.1.0/24 с использованием опции -sn для отключения сканирования портов, использование TCP SYN пинга и ACK пинга, а также комбинирование различных пинг-команд. Также показано, как просматривать живые хосты в терминале Xfce. Кроме того, демонстрируется выполнение пинг-скана на адрес localhost с отключением сканирования портов.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL nmap(("Nmap")) -.-> nmap/NmapGroup(["Nmap"]) nmap/NmapGroup -.-> nmap/port_scanning("Port Scanning Methods") nmap/NmapGroup -.-> nmap/host_discovery("Host Discovery Techniques") nmap/NmapGroup -.-> nmap/target_specification("Target Specification") nmap/NmapGroup -.-> nmap/syn_scan("SYN Scan") nmap/NmapGroup -.-> nmap/firewall_evasion("Firewall Evasion Techniques") subgraph Lab Skills nmap/port_scanning -.-> lab-530184{{"Обнаружение хостов с помощью Nmap"}} nmap/host_discovery -.-> lab-530184{{"Обнаружение хостов с помощью Nmap"}} nmap/target_specification -.-> lab-530184{{"Обнаружение хостов с помощью Nmap"}} nmap/syn_scan -.-> lab-530184{{"Обнаружение хостов с помощью Nmap"}} nmap/firewall_evasion -.-> lab-530184{{"Обнаружение хостов с помощью Nmap"}} end

Запуск пинг-скана с помощью nmap -sn 192.168.1.0/24

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

192.168.1.0/24 - это запись в формате CIDR, представляющая сеть. /24 означает, что первые 24 бита IP-адреса фиксированы и определяют сеть, а оставшиеся 8 бит используются для адресов хостов внутри этой сети. Это соответствует диапазону IP-адресов от 192.168.1.1 до 192.168.1.254.

Для выполнения пинг-скана по сети 192.168.1.0/24 выполните следующую команду в терминале:

sudo nmap -sn 192.168.1.0/24

Эта команда сообщает Nmap выполнить пинг-скан по всем IP-адресам в сети 192.168.1.0/24. sudo требуется, потому что Nmap часто нуждается в повышенных правах для отправки определенных типов сетевых пакетов.

Вывод будет содержать список IP-адресов хостов, которые ответили на запросы Nmap, что означает, что они работают. Вывод будет похож на этот (точные IP-адреса и имена хостов могут отличаться в зависимости от вашей сети):

Starting Nmap 7.80 ( https://nmap.org )
Nmap scan report for 192.168.1.1
Host is up (0.00043s latency).
Nmap scan report for 192.168.1.10
Host is up (0.0023s latency).
Nmap scan report for 192.168.1.20
Host is up (0.0019s latency).
Nmap done: 256 IP addresses (3 hosts up) scanned in 2.54 seconds

Этот вывод показывает, что Nmap просканировал 256 IP-адресов (всю сеть 192.168.1.0/24) и нашел 3 работающих хоста.

Отключение сканирования портов с помощью nmap -sn 127.0.0.1

В этом шаге мы будем использовать Nmap для выполнения пинг-скана на адрес локального хоста (127.0.0.1), при этом отключая сканирование портов. Основная цель здесь - показать, как использовать опцию -sn для конкретного выполнения обнаружения хостов без запуска полного сканирования портов. Это полезно, когда вы хотите только проверить, жив ли хост, и избежать потенциально шумных или затратных по времени сканирований портов.

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

Для выполнения пинг-скана на localhost без сканирования портов выполните следующую команду в терминале:

sudo nmap -sn 127.0.0.1

Эта команда сообщает Nmap выполнить пинг-скан на адресе 127.0.0.1. Опция -sn гарантирует, что Nmap выполняет только обнаружение хостов и не пытается сканировать какие-либо порты. sudo обычно требуется для Nmap для отправки необработанных пакетов, хотя в этом случае для localhost это может быть не строго необходимо.

Вывод будет показывать, находится ли хост в сети. Он должен выглядеть примерно так:

Starting Nmap 7.80 ( https://nmap.org )
Nmap scan report for localhost (127.0.0.1)
Host is up (0.0000070s latency).
Nmap done: 1 IP address (1 host up) scanned in 0.00 seconds

Этот вывод подтверждает, что localhost (127.0.0.1) работает. Nmap выполнил только пинг-скан, как указано опцией -sn, и не сканировал никакие порты.

Использование TCP SYN пинга с помощью nmap -PS 192.168.1.1

В этом шаге мы будем использовать Nmap для выполнения TCP SYN пинг-скана на определенный хост (192.168.1.1). TCP SYN пинг отправляет пакет TCP SYN на целевой хост. Если хост активен и слушает указанный порт (или любой порт по умолчанию), он ответит пакетом SYN/ACK. Затем Nmap сбрасывает соединение, отправив пакет RST. Эта техника часто более надежная, чем ICMP пинг, потому что многие фаерволы блокируют трафик ICMP, но позволяют TCP-трафик.

Опция -PS в Nmap указывает, что мы хотим использовать TCP SYN пинг. По умолчанию Nmap отправляет пакет SYN на порт 80. Также можно указать другой порт или список портов для проверки.

Для выполнения TCP SYN пинг-скана на 192.168.1.1 выполните следующую команду в терминале:

sudo nmap -PS 192.168.1.1

Эта команда сообщает Nmap отправить пакет TCP SYN на порт 80 хоста 192.168.1.1. sudo требуется, потому что Nmap нуждается в повышенных правах для создания и отправки необработанных пакетов TCP.

Вывод будет показывать, активен ли хост и слушает ли он порт 80. Вывод будет похож на этот (если хост активен):

Starting Nmap 7.80 ( https://nmap.org )
Nmap scan report for 192.168.1.1
Host is up (0.0012s latency).
PORT   STATE    SERVICE
80/tcp filtered http

Nmap done: 1 IP address (1 host up) scanned in 0.12 seconds

Этот вывод показывает, что Nmap отправил пакет TCP SYN на 192.168.1.1 и получил ответ, что означает, что хост активен. Состояние filtered для порта 80 означает, что фаервол, вероятно, блокирует соединение, но хост по-прежнему считается активным, потому что ответил на исходный SYN-запрос. Если хост выключен или недоступен, вывод будет показывать, что хост выключен.

Выполнение ACK пинга с помощью nmap -PA 192.168.1.1

В этом шаге мы будем использовать Nmap для выполнения ACK пинг-скана на определенный хост (192.168.1.1). ACK пинг отправляет пакет TCP ACK на целевой хост. В отличие от SYN пинга, который пытается установить соединение, ACK пинг отправляет пакет, который выглядит как часть уже установленного соединения. Фаерволы часто имеют правила для обработки входящих пакетов ACK по-разному, чем пакеты SYN, что делает ACK пинг полезным для обхода некоторых конфигураций фаервола.

Опция -PA в Nmap указывает, что мы хотим использовать TCP ACK пинг. По умолчанию Nmap отправляет пакет ACK на порт 80. Также можно указать другой порт или список портов для проверки.

Для выполнения TCP ACK пинг-скана на 192.168.1.1 выполните следующую команду в терминале:

sudo nmap -PA 192.168.1.1

Эта команда сообщает Nmap отправить пакет TCP ACK на порт 80 хоста 192.168.1.1. sudo требуется, потому что Nmap нуждается в повышенных правах для создания и отправки необработанных пакетов TCP.

Вывод будет показывать, активен ли хост. Вывод будет похож на этот (если хост активен):

Starting Nmap 7.80 ( https://nmap.org )
Nmap scan report for 192.168.1.1
Host is up (0.0011s latency).
PORT   STATE    SERVICE
80/tcp unfiltered http

Nmap done: 1 IP address (1 host up) scanned in 0.11 seconds

Этот вывод показывает, что Nmap отправил пакет TCP ACK на 192.168.1.1 и получил ответ, что означает, что хост активен. Состояние unfiltered для порта 80 означает, что Nmap смог отправить пакет ACK и получить ответ без вмешательства фаервола. Если хост выключен или недоступен, вывод будет показывать, что хост выключен.

Объединение пингов с помощью nmap -PS -PA 192.168.1.0/24

В этом шаге мы будем объединять TCP SYN и ACK пинг-сканы с использованием Nmap для обнаружения активных хостов в сети 192.168.1.0/24. Объединение различных типов пингов может повысить надежность обнаружения хостов, так как некоторые хосты могут реагировать на один тип пинга, но не на другой из-за правил фаервола или сетевых конфигураций.

С использованием обоих опций -PS и -PA Nmap отправит как пакеты TCP SYN, так и пакеты TCP ACK на каждый хост в указанной сети. Это повышает шансы обнаружить активные хосты, особенно в средах с ограничивающими фаерволами.

Для выполнения объединенного TCP SYN и ACK пинг-скана в сети 192.168.1.0/24 выполните следующую команду в терминале:

sudo nmap -PS -PA 192.168.1.0/24

Эта команда сообщает Nmap отправить как пакеты TCP SYN, так и пакеты TCP ACK на порт 80 каждого хоста в сети 192.168.1.0/24. sudo требуется, потому что Nmap нуждается в повышенных правах для создания и отправки необработанных пакетов TCP.

Вывод будет перечислять обнаруженные активные хосты в сети. Вывод будет похож на этот (фактический вывод зависит от хостов, присутствующих в вашей сети):

Starting Nmap 7.80 ( https://nmap.org )
Nmap scan report for 192.168.1.1
Host is up (0.0010s latency).
Nmap scan report for 192.168.1.2
Host is up (0.0015s latency).
Nmap scan report for 192.168.1.10
Host is up (0.0012s latency).
Nmap done: 256 IP addresses (3 hosts up) scanned in 2.56 seconds

Этот вывод показывает, что Nmap сканировал сеть 192.168.1.0/24 и нашел три активных хоста: 192.168.1.1, 192.168.1.2 и 192.168.1.10.

Просмотр активных хостов в терминале Xfce

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

Для просмотра истории команд в терминале Xfce вы можете использовать команду history. Эта команда отобразит нумерованный список команд, которые вы ранее выполняли.

Откройте новое окно терминала в Xfce (если оно еще не открыто). Затем введите следующую команду и нажмите Enter:

history

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

Например, вы должны увидеть команды, похожие на:

sudo nmap -sn 192.168.1.0/24
sudo nmap -sn 127.0.0.1
sudo nmap -PS 192.168.1.1
sudo nmap -PA 192.168.1.1
sudo nmap -PS -PA 192.168.1.0/24

Просмотрев эти команды и их вывод (который вы должны были записать в предыдущих шагах), вы можете подтвердить активные хосты, которые были обнаружены в сети. Команда history - полезный инструмент для аудита вашей работы и обеспечения правильного выполнения шагов в этом лабораторном занятии.

Примечание: точный вывод команды history зависит от команд, которые вы выполняли в своей сессии терминала.

Резюме

В этой лабораторной работе участники получают практику в обнаружении хостов с использованием Nmap. Они начинают с выполнения пинг-скана в сети 192.168.1.0/24 с использованием опции -sn для отключения сканирования портов, что быстрее и менее накладно. Команда sudo используется для предоставления повышенных прав для отправки сетевых пакетов. Они также получают практику в выполнении пинг-скана на адрес локального хоста 127.0.0.1 с отключенным сканированием портов. Кроме того, они исследуют различные типы пингов, такие как TCP SYN пинг с использованием -PS, ACK пинг с использованием -PA и комбинированный пинг с использованием -PS -PA, а также просматривают активные хосты в терминале Xfce.