Перейти к содержимому

Порты и службы

Найдите слушающие службы, поговорите с ними напрямую и запустите собственный сервер.

  • networking.ports
  • networking.services
  • networking.dns

Задания

  1. 1. Найдите веб-сервер10 очк.

    На этой машине работает веб-сервер. На каком TCP-порту он слушает?

  2. 2. Снимите баннер15 очк.

    Ещё одна служба слушает необычный высокий порт и приветствует каждого клиента баннером. Подключитесь к ней и отправьте флаг.

  3. 3. Разрешение имён10 очк.

    В какой IP-адрес на этой машине разрешается имя intranet.cyberlab.local?

  4. 4. Запустите свой сервер20 очк.

    Создайте ~/site/index.html с текстом hello cyberlab и раздайте каталог ~/site по HTTP на 127.0.0.1:9000 (сервер должен продолжать работать в фоне).

Вводные и справка по командам

Программы, принимающие сетевые подключения, слушают порт. На этой машине:

  • ss -ltn выводит слушающие TCP-сокеты,
  • curl http://127.0.0.1:<порт>/ говорит по HTTP,
  • nc 127.0.0.1 <порт> открывает «сырое» TCP-соединение,
  • /etc/hosts сопоставляет имена с адресами ещё до обращения к DNS.

У практики нет доступа в интернет — все службы локальные.

Справка по командам

КомандаЧто делает
ss -ltnслушающие TCP-порты (колонка «Local Address:Port»)
curl http://127.0.0.1:<порт>/HTTP-запрос к локальной службе
nc 127.0.0.1 <порт>«сырое» TCP-соединение; выход — Ctrl+C
cat /etc/hostsлокальные соответствия имён и адресов
getent hosts <имя>во что системный резолвер превращает имя
mkdir -p ~/siteсоздать каталог
echo 'текст' > <файл>записать текст в файл
python3 -m http.server <порт> --bind 127.0.0.1 --directory <каталог> &запустить простой веб-сервер в фоне
Порты и службы: практика в терминале онлайн — CyberLab