>_ IzzyLab

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

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

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