Базовые сетевые инструменты в Kali

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

Введение

В ходе этой лабораторной работы вы научитесь использовать ключевые сетевые инструменты Kali Linux для выполнения базовых задач по диагностике и управлению сетью. Это практическое занятие разработано для новичков и поможет вам освоить проверку состояния сети, тестирование соединений, обнаружение устройств в сети и поиск открытых портов. Используя такие инструменты, как ip a, ping, netdiscover и nmap, вы заложите фундамент навыков сетевого анализа в среде LabEx. При открытии терминала вы автоматически подключитесь к оболочке контейнера Kali Linux и сможете сразу приступить к практике.

Проверка сетевых интерфейсов с помощью ip a

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

Когда вы открываете терминал в среде LabEx, вы автоматически подключаетесь к оболочке контейнера Kali Linux. Вам не нужно вручную запускать контейнер или входить в систему — среда уже полностью готова к работе.

Для начала необходимо установить пакет iproute2, если он еще не установлен. Введите следующую команду в терминале и нажмите Enter:

apt update && apt install -y iproute2

Теперь введите в терминале следующую команду и нажмите Enter:

ip a

Эта команда выводит список всех сетевых интерфейсов в системе вместе с их подробными характеристиками, такими как IP-адреса и текущий статус.

Пример ожидаемого вывода (фактические данные могут отличаться):

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
4: eth0@if5: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
    link/ether 02:42:ac:11:00:02 brd ff:ff:ff:ff:ff:ff link-netnsid 0
    inet 172.17.0.2/16 brd 172.17.255.255 scope global eth0
       valid_lft forever preferred_lft forever

В выводе вы увидите такие интерфейсы, как lo (петлевой интерфейс для локальных нужд) и eth0 (ваш основной сетевой интерфейс). Найдите строку inet под разделом eth0, чтобы узнать свой IP-адрес, например 172.17.0.2. Статус <UP> указывает на то, что интерфейс активен. Понимание этого вывода помогает подтвердить, что ваша система подключена к сети и готова к выполнению дальнейших задач.

Тестирование сетевой связности с помощью ping

Теперь, когда вы проверили сетевые интерфейсы, следующим шагом будет проверка способности вашей системы взаимодействовать с внешними серверами. Для проверки интернет-соединения мы воспользуемся командой ping.

Установите пакет ping, если он отсутствует в системе.

apt install -y iputils-ping

Введите следующую команду в терминале контейнера Kali Linux и нажмите Enter:

ping -c 4 8.8.8.8

Опция -c 4 ограничивает количество попыток отправки пакетов до четырех, а 8.8.8.8 — это публичный DNS-сервер Google, который является надежной целью для проверки доступности сети.

Пример ожидаемого вывода (фактические данные могут отличаться):

PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=117 time=10.2 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=117 time=9.8 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=117 time=10.1 ms
64 bytes from 8.8.8.8: icmp_seq=4 ttl=117 time=9.9 ms

--- 8.8.8.8 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3004ms
rtt min/avg/max/mdev = 9.800/10.000/10.200/0.141 ms

Этот вывод показывает ответы от сервера 8.8.8.8 с такими деталями, как time (задержка в миллисекундах) и icmp_seq (порядковый номер пакета). Значение 0% packet loss (0% потерь пакетов) означает успешное соединение. Если вы видите 100% packet loss, это сигнализирует о проблемах со связью. Команда ping — это простой, но мощный инструмент для подтверждения того, что ваша система имеет доступ к внешним сетям, что необходимо для большинства сетевых операций.

Установка и использование netdiscover для идентификации сетевых устройств

Подтвердив наличие связи, вы научитесь обнаруживать устройства в вашей локальной сети с помощью инструмента netdiscover. Поскольку этот инструмент может отсутствовать в стандартном образе контейнера Kali Linux, сначала мы его установим.

Начните с обновления списка пакетов и установки netdiscover. Введите следующие команды в терминале, нажимая Enter после каждой:

apt install -y netdiscover

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

Затем нужно определить сетевой интерфейс для сканирования. Вы уже использовали ip a на первом этапе, поэтому посмотрите на предыдущий вывод или запустите команду снова, чтобы подтвердить имя интерфейса (скорее всего, eth0) и диапазон IP-адресов (в средах Docker это обычно 172.17.0.0/16).

Теперь запустите netdiscover для сканирования локальной сети. Введите следующую команду и нажмите Enter:

netdiscover -i eth0 -r 172.17.0.0/16

Флаг -i eth0 указывает интерфейс, а -r 172.17.0.0/16 определяет диапазон IP-адресов для сканирования. Если имя вашего интерфейса отличается, замените eth0 на соответствующее значение.

Пример ожидаемого вывода (фактические данные могут отличаться):

Currently scanning: 172.17.0.0/16   |   Screen View: Unique Hosts

2 Captured ARP Req/Rep packets, from 2 hosts.   Total size: 120
_____________________________________________________________________________
  IP            At MAC Address     Count     Len  MAC Vendor / Hostname
-----------------------------------------------------------------------------
172.17.0.1      02:42:ac:11:00:01      1      60  Unknown vendor
172.17.0.2      02:42:ac:11:00:02      1      60  Unknown vendor

В этом списке отображаются IP-адреса и MAC-адреса устройств в сети. Например, 172.17.0.2 может быть вашей собственной системой, а 172.17.0.1 — сетевым шлюзом. Дайте сканеру поработать несколько секунд, чтобы обнаружить устройства, а затем остановите его, нажав Ctrl+C.

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

Установка nmap и выполнение базового сканирования портов

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

Введите следующие команды в терминале для обновления списка пакетов и установки nmap, нажимая Enter после каждой:

apt install -y nmap

Дождитесь завершения установки.

Используя данные из вывода netdiscover на предыдущем этапе, выберите IP-адрес устройства в сети, например 172.17.0.1. Мы просканируем этот адрес на наличие открытых портов. Если в вашем случае IP-адрес другой, используйте его.

Введите следующую команду в терминале и нажмите Enter для выполнения базового сканирования:

nmap 172.17.0.1

Пример ожидаемого вывода (фактические данные могут отличаться):

Starting Nmap 7.95 ( https://nmap.org ) at 2025-04-11 06:04 UTC
Nmap scan report for 172.17.0.1
Host is up (0.0000060s latency).
Not shown: 997 closed tcp ports (reset)
PORT     STATE SERVICE
22/tcp   open  ssh
3000/tcp open  ppp
3001/tcp open  nessus
MAC Address: 02:42:06:F2:C3:B0 (Unknown)

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

Этот вывод перечисляет открытые порты на целевом IP. Например, 22/tcp open ssh означает, что запущена служба SSH, а порты 3000/tcp и 3001/tcp могут указывать на работу веб-серверов. Инструмент nmap (сокращение от Network Mapper) широко применяется для исследования сетей и аудита безопасности, позволяя выявлять потенциальные точки доступа на устройствах.

Сохранение результатов сканирования nmap в файл

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

Используя тот же целевой IP-адрес из этапа 4 (например, 172.17.0.1), выполните следующую команду, чтобы запустить сканирование и сохранить результат в файл с именем scan_results.txt:

nmap 172.17.0.1 -oN /root/scan_results.txt

Опция -oN указывает nmap сохранить результаты в обычном текстовом формате по указанному пути /root/scan_results.txt. Если на этапе 4 вы использовали другой IP, замените 172.17.0.1 на него.

Результаты по-прежнему отобразятся в терминале, но теперь они также будут записаны в файл /root/scan_results.txt. Чтобы убедиться, что файл создан и содержит данные, введите следующую команду:

cat /root/scan_results.txt

Пример ожидаемого вывода (фактические данные могут отличаться):

Starting Nmap 7.95 ( https://nmap.org ) at 2025-04-11 06:05 UTC
Nmap scan report for 172.17.0.1
Host is up (0.0000060s latency).
Not shown: 997 closed tcp ports (reset)
PORT     STATE SERVICE
22/tcp   open  ssh
3000/tcp open  ppp
3001/tcp open  nessus
MAC Address: 02:42:06:F2:C3:B0 (Unknown)

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

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

Резюме

В этой лабораторной работе вы научились использовать фундаментальные сетевые инструменты Kali Linux для выполнения базовой диагностики. Вы начали с проверки сетевых интерфейсов с помощью ip a, протестировали связность через ping, обнаружили устройства в локальной сети с помощью netdiscover, провели базовое сканирование портов в nmap и сохранили результаты в файл для дальнейшего использования. Эти навыки формируют прочную основу для анализа сетей и устранения неполадок в среде Linux.