Практическое задание

Эта задача — шаг 9 курса «Сеть и HTTP из консоли»

curl --resolve: обойти DNS

средне

Локальный сервер на порту 8080 отдаёт страницу только при обращении по имени shop.local. Обратись к нему как http://shop.local:8080/, не трогая /etc/hosts: форсируй резолв shop.local в 127.0.0.1 средствами curl. Сохрани тело ответа в /root/body.txt.

Что потренируешь:
  • curl
  • --resolve
  • dns
  • virtual host
  • host-заголовок

Разбор темы

Флаг --resolve у curl подменяет разрешение имени для конкретного запроса, не трогая /etc/hosts и настоящий DNS: указываешь тройку имя-порт-адрес, и curl идёт на заданный IP, но в заголовке Host шлёт исходное имя. Это позволяет достучаться до виртуального хоста по домену, которого ещё нет в DNS. Тело ответа здесь нужно сохранить, поэтому его не выбрасывают, а перенаправляют в файл.

Что проверяется

  1. тело получено через --resolve
  2. /etc/hosts не изменён

Как это выглядит