Файл hosts: мощный инструмент для пользователей и разработчиков

Опубликовано: 2020-09-23

Возможно, вы слышали о файле hosts раньше, но не знали, что это такое и что он делает. В этой статье мы проясним это и объясним, что такое хост-файл и как он работает. Мы также рассмотрим некоторые примеры того, чего вы можете достичь с его помощью. Давайте начнем!

Что такое хост-файл?

Файл hosts находится на вашем компьютере (независимо от того, Mac это или Windows, он будет). Файлы hosts — это то, что известно как «обычный текст», и они возникли несколько десятилетий назад, когда они первоначально использовались в качестве ранней формы «разрешения имен», когда эти файлы направляли раннюю интернет-активность на целевые серверы. Это использование было заменено изобретением системы доменных имен (или DNS), которая используется до сих пор.

Сегодняшний интернет-трафик зависит от системы DNS, которая «указывает ему, куда идти». Когда вы вводите адрес веб-сайта в свой браузер, браузер «ищет» местоположение сервера, на котором размещен этот веб-сайт, используя систему DNS.

Этот запрос начинается с файла hosts вашего локального компьютера. Если требуемые данные (т. е. местоположение или IP-адрес требуемого сервера) там не найдены, то запрос продолжается на внешние DNS-серверы до тех пор, пока адрес не будет найден. Затем это позволяет браузеру подключиться к веб-сайту и отобразить контент, который вы искали. Все это происходит за миллисекунды, что действительно замечательно.

Взгляните на рисунок выше. Как видите, запросы, отправляемые вашим компьютером, сначала направляются через файл hosts вашего компьютера. Если в файле hosts сохранен IP-адрес запрошенного вами веб-сайта, он отправит ваш браузер прямо на него. Если это не так, он направит ваш браузер на DNS-сервер, который должен иметь необходимую информацию.

Исходя из этого, логично заключить, что, отредактировав файл hosts, мы можем обойти DNS и заставить любой домен разрешаться в любой IP-адрес при использовании нашего браузера. Возможность сделать это может иметь ряд преимуществ, и мы увидим.

Примечание. Прежде чем рассматривать файл hosts и способы его редактирования, стоит отметить, что файл hosts может быть целью для вредоносных атак. Из-за этого стоит изменить его свойства на «только для чтения», когда вы закончите вносить какие-либо изменения.

Изменение файла hosts

Изменить файл hosts на вашем компьютере очень просто, и иногда это может быть невероятно полезно. Давайте посмотрим, как вы можете легко изменить файл hosts в Windows, Linux и Mac.

Как изменить файл hosts в Windows 10

Файл может находиться в папке «C:\Windows\System32\drivers\etc».

Расположение файла hosts — Windows

При открытии файла hosts с помощью текстового редактора, такого как блокнот, вы увидите что-то вроде этого (не забудьте «Запустить от имени администратора» при появлении запроса).

Содержимое файла hosts

Под существующим содержимым (около строки 24 в нашем примере выше) вы можете ввести целевой IP-адрес, который вы хотите достичь, затем пробел, а затем доменное имя. Это будет выглядеть примерно так:

Обратите внимание, что для комментариев используется символ «#». Все, что написано после «#» в той же строке, будет проигнорировано. Вы можете использовать это как метку, чтобы пометить изменения в вашем файле hosts, например:

 # my router's alias 192.168.1.1 myrouter.com

Как изменить файл hosts в дистрибутиве Linux

Например, в Ubuntu полный путь к файлу hosts — /etc/hosts. Вы можете открыть файл в своем редакторе (в этом примере мы использовали редактор Nano). Введите пароль sudo при появлении запроса.

Расположение файла hosts — дистрибутив Linux

Как только это будет сделано, вы можете добавить строки, как мы сделали для Windows.

Как изменить файл hosts в MacOS

В MacOS полный путь к файлу — /etc/hosts. После запуска окна терминала откройте файл hosts с помощью текстового редактора.

  1. Введите sudo nano /private/etc/hosts и нажмите Enter.
  2. Введите запрошенный пароль. Теперь у вас будет файл hosts, открытый в редакторе Nano.
  3. Перейдите ниже исходного содержимого в файле hosts и отредактируйте файл, как описано для Windows и Linux. > целевой IP-адрес > пробел > доменное имя
  4. Нажмите Control-O, чтобы сохранить файл.
  5. Если изменения не отображаются, сбросьте кеш с помощью > dscacheutil -flushcache

Теперь, когда мы понимаем, как можно редактировать файл hosts на вашем локальном компьютере, давайте рассмотрим несколько полезных вещей, которые вы можете с ним сделать.

Основные причины для редактирования файла hosts

Существует множество причин, по которым вы можете захотеть отредактировать файл hosts. Ниже мы рассмотрим некоторые из них.

При тестировании разработки сайта

Предположим, вы разработчик WordPress, работающий над новой версией веб-сайта вашего клиента, который в настоящее время находится в домене «mycompany.com». Вы вносите изменения в локальную версию веб-сайта (сохраненную на вашем компьютере).

Проблема, с которой вы столкнетесь, заключается в том, что любая ссылка в коде на домен «mycompany.com» увидит, что ваш браузер приведет вас к активной версии сайта, а не к локальной версии сайта, что означает, что практически невозможно протестировать внесенные вами изменения. В этом случае у вас есть несколько вариантов:

  1. Купите временный домен и укажите IP, на котором находится разрабатываемая версия.
  2. Разверните работающий сайт на промежуточном сервере.
  3. Используйте файл hosts, чтобы временно указать «mycompany.com» на другой IP-адрес/сервер локально.

Итак, если вы не любите выбрасывать деньги на временные домены, отличным решением этой проблемы является использование файла hosts и разрешение домена на то место, где ваша работа выполняется или будет выполняться.

Для этого все, что вам нужно сделать, это ввести доменное имя и IP-адрес сервера, на котором вы работаете (как мы описали ранее). Если, например, IP-адрес 138.201.141.25, вы должны отредактировать файл hosts следующим образом:

То же самое применимо, если вы хотите добавить домен www. Вы можете сделать это, просто добавив вторую строку следующим образом:

Или объедините оба в одной строке следующим образом:

Также обратите внимание, что использование файла hosts для указания на ваши локальные файлы также немного увеличит скорость вашего просмотра, поскольку ваш компьютер может напрямую «запрашивать» локальный файл и пропускать запрос IP-адреса с DNS-сервера и ожидание, необходимое для получения его ответ.

Подобное редактирование файла hosts чрезвычайно полезно разработчикам для тестирования своих веб-сайтов, находящихся в стадии разработки, или для выполнения других видов работ, где полезно переопределить DNS-серверы и при этом контролировать доступ к веб-сайтам и сетевому трафику.

Заблокировать веб-сайт

Существует МНОГО веб-сайтов, многие из которых не особенно приятны. Таким образом, вы можете заблокировать доступ к ним (например, если у вас есть дети, которые используют ваш компьютер). Этого можно добиться, перенаправив запрос определенного веб-сайта на ваш IP-адрес локального хоста (обычно это 127.0.0.1).

Однако мы должны отметить, что:

  • Сайты HTTPS не будут заблокированы, если вы не укажете www в их адресе.
  • Во время этих изменений имейте в виду, что вам необходимо очистить кеш браузера, чтобы эти изменения вступили в силу.

Итак, допустим, вы хотите заблокировать доступ к веб-сайту под названием www.badwebsite.com. Для этого вы должны ввести следующее в файл hosts:

 127.0.0.1 badwebsite.com www.badwebsite.com

Результатом этого будет то, что этот сайт будет недоступен с вашего компьютера.

Вы также можете использовать файл hosts для блокировки шпионского ПО/рекламных сетей. Для этого составьте список всех сайтов-шпионов и доменных имен рекламных сетей, которые вы хотите заблокировать, и добавьте их в файл hosts, сопоставив их с IP-адресом 127.0.0.1, который всегда будет указывать на вашу машину. Таким образом, ваш браузер не сможет получить доступ к этим доменам.

Одним из преимуществ этого является то, что после блокировки таких нежелательных сайтов ваш просмотр будет более безопасным, поскольку вы не сможете получить доступ к известным вредоносным сайтам. Это также может ускорить ваш просмотр, поскольку вам больше не нужно ждать, пока вы загружаете рекламу с сайтов рекламных сетей.

Вывод

Таким образом, редактирование файла hosts дает вам полный контроль над тем, какой домен разрешается в какой IP-адрес локально на вашем компьютере. Это имеет ряд возможных применений и преимуществ. Всегда приятно иметь контроль, и знание того, как обойти файл hosts на вашем компьютере, дает вам именно этот… контроль. Действительно мощное средство!