Введение
Перед использованием сканера нужно различать адрес, имя, сетевой путь и порт службы. Это разные наблюдения, и успех на одном уровне не доказывает успех на другом.
Эта работа предоставляет локальный 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-соединение. Вы отличили успешное разрешение имени и сетевую доступность от поведения уровня приложения.



