Каким образом добавление IP/веб-адреса в файл hosts блокирует трафик?

Каким образом добавление IP/веб-адреса в файл hosts блокирует трафик?

Обсуждалось, как файл hosts может быть использован для блокировки доступа к веб-сайтам (хотя я пробовал это несколько раз на машинах с Windows и Linux, и это не сработало), однако, насколько я понимаю, цель файла - сопоставить имена хостов с адресами. Как получается, что добавление IP и веб-адреса может блокировать посещения сайта?

решение1

Файл hosts не используется для блокировки IP-адреса. Он используется для блокировки доменного имени — ну, вы не блокируете его, а перенаправляете. Это как изменить список контактов в телефоне. Когда вы вводите 000000 для номера телефона вашей мамы, вы получите предупреждение о несуществующем номере, когда позвоните ей через список контактов.

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


Вы можете использовать файл hosts для сопоставления доменных имен с IP-адресами. Вы можете использовать его для следующих целей:

  • Сопоставьте nytimes.com (или любой другой сайт) с 127.0.0.1, который является локальным адресом вашего компьютера. Теперь nytimes.com больше не будет работать или будет отображать то, что отображает ваш локальный веб-сервер.
  • Сопоставьте yournewwebsite.net с 12.34.56.78 (или как там). У вас есть новый веб-сайт, пока не публичный, и вы хотите увидеть, как он работает с новым доменным именем. Вы не установили DNS для доменного имени, или оно все еще сопоставлено со старым сайтом. Таким образом вы можете протестировать домен, и только на своем ноутбуке вы увидите новый сайт. Иногда веб-сайту нужно настоящее доменное имя для работы, и во время разработки и тестирования это хороший способ попробовать это, не нарушая работу рабочего веб-сайта.
  • Используйте несуществующий домен, например test.local, и сопоставьте его с вашим локальным веб-сервером или с каким-либо другим IP-адресом.

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

Примечание: у вашего компьютера два IP-адреса, один локальный - 127.0.0.1, и один публичный, обычно что-то вроде 192.168.1.10, когда он находится за маршрутизатором. Публичный означает относительно сети, к которой он подключен. У маршрутизатора есть настоящий публичный адрес.

решение2

Ваша операционная система сначала посмотрит на файл hosts, прежде чем попытается искать разрешение имени где-то еще. Файл hosts гораздо быстрее, чем запрос в сети, поэтому если ОС может найти ответ там, то на один запрос в другом месте меньше.

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

Аналогично SSHD будет хранить наиболее часто используемые данные на SSD (так как доступ к ним гораздо быстрее), чем на механической части SSHD (доступ к которой гораздо медленнее).

Связанный контент