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

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

Введение

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

Эта работа предоставляет локальный DNS-сервер и веб-службу внутри среды Kali. Вы изучите сеть, разрешите учебное имя и проверите прослушиваемый TCP-порт без сканирования шлюза и зависимости от публичных целей.

Изучите адреса, маршруты и доступность петлевого интерфейса

На этом шаге вы изучите сеть контейнера Kali и проверите ограниченный локальный путь соединения.

Войдите в подготовленную оболочку и выберите рабочую папку:

kali
cd /home/labex/project

IP-адрес определяет сетевую конечную точку. Интерфейс — подключение системы к сети; маршрут описывает, куда направлять трафик для адреса. У контейнеров собственное представление сети, поэтому изучайте эту среду, не предполагая настройки хоста.

ip изучает сеть Linux. Параметр -brief запрашивает краткое представление адресов интерфейсов:

ip -brief address

Найдите lo, петлевой интерфейс, и 127.0.0.1. Петлевой трафик остаётся внутри этой сетевой среды. Другие интерфейсы и адреса могут различаться. Префикс вроде /8 или /16 описывает сетевой диапазон адреса; это не порт службы.

Изучите маршруты:

ip route

Запись default, если есть, используется при отсутствии более конкретного подходящего маршрута. Сканировать шлюз или менять маршруты не нужно.

ping отправляет пробы доступности. -c 3 ограничивает тест тремя пробами для автоматического завершения:

ping -c 3 127.0.0.1

Вы должны получить ответы и итоговую сводку пакетов. Точное время различается. Ответ ping показывает, что эти пробы получили отклик; он не устанавливает, что определённая TCP-служба прослушивает порт.

Сохраните наблюдение интерфейсов известным перенаправлением вывода:

ip -brief address > interfaces.txt
cat interfaces.txt

Сохранённое представление должно включать петлевой интерфейс и адрес.

Разрешите имя с помощью учебного DNS-сервера

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

DNS преобразует имена в записи. Запись A содержит IPv4-адрес. Эта работа предоставляет DNS-сервер 127.0.0.1 на порту 5353 и локальное имя training-web.test; публичная служба DNS не нужна.

dig запрашивает DNS. @127.0.0.1 выбирает сервер, -p 5353 — его нестандартный порт DNS, следующий аргумент — имя, а A запрашивает запись IPv4-адреса:

dig @127.0.0.1 -p 5353 training-web.test A

Раздел ответа должен показывать имя и адрес 127.0.0.1. DNS тоже использует порты: порт 5353 здесь принадлежит учебному DNS-серверу, а не веб-службе, названной его ответом.

Параметр отображения +short выводит только данные ответа. Сохраните этот меньший результат:

dig @127.0.0.1 -p 5353 +short training-web.test A > dns-answer.txt
cat dns-answer.txt

Ожидаемый вывод:

127.0.0.1

Системный поиск имени также может использовать локальные файлы вместо прямого DNS-запроса. getent hosts запрашивает имя через настроенный в системе механизм поиска хостов:

getent hosts localhost

Вывод связывает localhost с петлевым адресом, возможно IPv6 ::1. Это отличается от явного запроса предоставленного DNS-сервера с dig. Успешное разрешение имени даёт адрес; ещё нужно проверить доступность необходимой службы по нему.

Изучите прослушиваемый порт и проверьте TCP-соединение

На этом шаге вы свяжете адрес с конкретным транспортным протоколом и портом службы.

Порт определяет транспортную конечную точку по адресу. TCP устанавливает соединения; UDP отправляет датаграммы без такого же рукопожатия. Один номер порта службы не доказывает наличие определённого приложения или уязвимости.

ss показывает сведения о сокетах. -l выбирает прослушивающие сокеты, -t — TCP, а -n оставляет числовые адреса и номера портов:

ss -ltn

Найдите локальную конечную точку 127.0.0.1:8080. Она принадлежит предоставленной учебной веб-службе. Адрес ограничивает её петлевым интерфейсом контейнера. Отдельно изучите UDP-сокеты с -u вместо -t:

ss -lun

Учебная конечная точка DNS использует порт 5353. У TCP и UDP отдельные пространства портов; оба протокола могут использовать один номер.

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

ss -ltn | grep ':8080 ' > service-listener.txt
cat service-listener.txt

Строка должна определять LISTEN и 127.0.0.1:8080; интервалы и значения очередей могут отличаться.

Ncat может проверить TCP-соединение без отправки данных приложения. -v выводит статус, а -z запрашивает проверку соединения вместо интерактивного сеанса данных:

ncat -vz 127.0.0.1 8080

Статус должен сообщить об успешном соединении. Это доказывает, что выбранный TCP-порт сейчас принимает соединение; это ещё не проверяет HTTP-ответ. Сам HTTP вы изучите в следующей работе.

Резюме

Вы изучили интерфейсы и маршруты, отправили конечное число проб доступности, запросили локальный DNS, изучили прослушиваемые TCP- и UDP-порты и проверили одно TCP-соединение. Вы отличили успешное разрешение имени и сетевую доступность от поведения уровня приложения.