Порты и службы
Найдите слушающие службы, поговорите с ними напрямую и запустите собственный сервер.
- networking.ports
- networking.services
- networking.dns
Задания
1. Найдите веб-сервер10 очк.
На этой машине работает веб-сервер. На каком TCP-порту он слушает?
2. Снимите баннер15 очк.
Ещё одна служба слушает необычный высокий порт и приветствует каждого клиента баннером. Подключитесь к ней и отправьте флаг.
3. Разрешение имён10 очк.
В какой IP-адрес на этой машине разрешается имя
intranet.cyberlab.local?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 <каталог> & | запустить простой веб-сервер в фоне |