Тайна файла hosts
Есть в операционной системе такой таинственный файлик hosts. Даже люди далекие от сетевых технологий наверняка слышали про него. На первый взгляд это обычный текстовый файл. Располагается он в папке C:\Windows\System32\drivers\etc
. Кстати, этот файл не является эксклюзивным для Windows, он есть и в ОС Unix\Linux и в MacOS.
Вот так примерно выглядит содержимое файла hosts по умолчанию:
# Copyright (c) 1993-2009 Microsoft Corp.
#
# This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
#
# This file contains the mappings of IP addresses to host names. Each
# entry should be kept on an individual line. The IP address should
# be placed in the first column followed by the corresponding host name.
# The IP address and the host name should be separated by at least one
# space.
#
# Additionally, comments (such as these) may be inserted on individual
# lines or following the machine name denoted by a '#' symbol.
#
# For example:
#
# 102.54.94.97 rhino.acme.com # source server
# 38.25.63.10 x.acme.com # x client host
#
# localhost name resolution is handled within DNS itself.
# 127.0.0.1 localhost
# ::1 localhost
Как видите, внутри находится описание и пара примеров. Из описания следует, что файл содержит сопоставления IP-адресов с именами хостов. Каждая запись храниться в отдельной строке. Формат записи таков — первым идет IP-адрес, за ним через пробел имя хоста. С помощью решетки (#) к записи можно добавлять комментарии. Например:
102.54.94.97 rhino.acme.com # source server
Если не вдаваться в подробности, то файл hosts указывает, по какому IP-адресу надо обращаться к хосту. Данные из hosts имеют приоритет над данными, полученными с DNS-серверов, при этом сам файл полностью контролируется администратором компьютера, что позволяет администратору переопределять IP-адреса любых сетевых ресурсов.
Как работает разрешение имен
Для того, чтобы понять, что такое файл hosts, вкратце разберем принцип разрешения имен. Итак, у каждого ресурса в сети имеется свой IP-адрес, что то типа 192.168.0.1. Но пользователи (как правило) обращаются к сетевым ресурсам по их именам (напр. google.com), поэтому необходим механизм преобразования имени хоста в IP-адрес. На данный момент этот механизм реализован с помощью сервиса доменных имен (Domain Name Service, DNS).
Когда пользователь пытается получить доступ к хосту по его имени, клиент обращается к DNS серверу и получает IP-адрес, соответствующий указанному имени.
Для примера воспользуемся утилитой ping. Вот так выглядит разрешение имени в адрес на практике.
В Windows в качестве клиента DNS используется системная служба Dnscache. Как видно из ее названия, основной задачей этой службы является кэширование DNS-имен. Каждый раз при запросе к DNS-серверу полученный результат сохраняется в кэше DNS, где хранится в течение своего времени жизни (Time To Live, TTL). Это позволяет ускорить процесс разрешения имен, поскольку нужное имя можно взять из кеша без необходимости каждый раз обращаться к DNS-серверу .
Таким образом, Windows пытается разрешить имена в следующем порядке:
• Сначала проверяет, не совпадает ли имя с локальным именем хоста;
• Затем смотрит в кэш DNS;
• И только если в кэше соответствие не найдено, отправляет запрос к серверу DNS.
Посмотреть содержимое кэша DNS можно в командной строке с помощью команды ipconfig /displaydns
, например:
Казалось бы, при чем здесь файл hosts? А при том, что его содержимое сразу считывается в кэш DNS и постоянно обновляется. Именно поэтому данные из файла hosts всегда имеют приоритет над данными, полученными с DNS-серверов. Для примера изменим добавив в hosts адрес www.google.com:
И еще раз проверим содержимое кэша. Как видите, теперь в нем находится адрес из файла hosts.
История файла hosts
Файл hosts пришел к нам из далекого прошлого 🙂 из тех времен, когда компьютеры были очень большими, а глобальной сети Интернет не было и в помине.
Одной из первых компьютерных сетей была ARPANET, созданная по заказу американского военного агентства DARPA в 1969 году.
В семидесятых годах сеть ARPANET включала в себя всего несколько сотен узлов. А всю информацию по узлам, в том числе и необходимую для разрешения имен и адресов, содержал один единственный файл HOSTS.TXT. За файл отвечал Сетевой информационный центр Стэнфордского исследовательского института (Stanford Research Institute`s Network Information Center, SRI-NIC).
В тот период времени единственным источником, распространявшим файл, являлся узел SRI-NIC. Администраторы ARPANET просто посылали изменения электронной почтой в NIC и периодически синхронизировали свои файлы HOSTS.TXT с копией на узле SRI-NIC с помощью протокола FTP. Присылаемые ими изменения добавлялись в файл HOSTS.TXT один или два раза в неделю.
По мере роста сети эта схема становилась все менее работоспособной. Пропорционально количеству узлов в ARPANET увеличивался размер файла и рос объем работ, связанный с обновлением файла на узлах. При появлении каждого нового узла в сети необходимо было не только добавить строчку в HOSTS.TXT, но и синхронизировать эти изменения между SRI-NIC и всеми узлами сети.
И в 1984 году на замену файлу HOSTS.TXT пришла система доменных имен DNS. Однако сам файл hosts остался в операционных системах, в качестве дополнительного инструмента для работы с сетью.
Перенаправление файла hosts
По умолчанию в операционных системах Windows файл hosts располагается в папке С:\windows\system32\drivers\etc
. Но при необходимости этот путь можно изменить. Значение пути, по которому располагается актуальный файл hosts, хранится в параметре реестра DataBasePath, находящемся в разделе HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
.
Кстати, этим свойством файла hosts очень любят пользоваться различные зловредные программы (вирусы, трояны и прочая нечисть). Они подменяют путь в реестре, а потом по новому пути подкладывают свой файл hosts, ведущий на подложные адреса. При этом оригинальный файл остается на своем месте и внешне все выглядит правильно. Так вот, по умолчанию значение параметра всегда %SystemRoot%\System32\drivers\etс
и если вы увидите там что то другое, то стоит начать беспокоиться .
Восстановление файла hosts
Что случится, если файл hosts будет поврежден или удален? Да в принципе ничего страшного. Как я уже говорил, он является всего лишь вспомогательным инструментом и без него операционная система вполне сможет обойтись. Определить наличие проблем с файлом можно по событию с EventID 1012 в журнале событий операционной системы, в котором буде сообщение о невозможности прочитать файл.
Но восстановить файл hosts после повреждения, удаления или несанкционированного редактирования все же стоит, хотя бы для порядка. Сделать это довольно просто, достаточно создать в Блокноте обычный текстовый файл добавить в него текст, приведенный в начале статьи. Файл сохранить с именем hosts и без расширения и положить в родную папку С:\windows\system32\drivers\etc
. Напоминаю, что для работы с файлом нужны права локального администратора на компьютере.
И еще нюанс — блокнот по умолчанию сохраняет файлы с расширением txt, а проводник по умолчанию не показывает расширения файлов. Поэтому во избежании ошибки включите в проводнике опцию показывать расширения файлов.
Вот в принципе и все, что я хотел рассказать о файле hosts. Как видите, не такой уж он и таинственный 🙂
Где находится файл hosts в Windows 7?
Hosts — это небольшой текстовый файл, внутри которого находится база доменных имен. Он используется при трансляции доменных имен в сетевые адреса узлов. Содержимое «хостса» должен контролировать администратор ПК, то есть вы.
В каких случаях вам может редактирование файла hosts? У каждого из вас наверняка есть страничка в социальной сети «ВКонтакте» или «Одноклассники». Иногда при входе на страницу появляется окошко, так называемая «Валидация аккаунта», с помощью которой необходимо подтвердить, что вы вполне реальная личность, а не очередной бот. Чуть ниже предлагается ввести свой номер телефона. Выглядит эта форма примерно таким образом:
В данном случае неважно, о какой социальной сети идет речь. Вы должны понять главное — это действия мошенников, направленные на то, что бы заработать на вас немного денег. Если вы впишите свой номер телефона, то спустя минуту к вам на телефон придет сообщение с кодом, который необходимо ввести в появившееся поле. После этого действия с вашего лицевого счета будет списана крупная сумма денег или же денежные средства будут списываться постепенно — это так называемая подписка.
Как такое возможно? Стоит сказать «спасибо» файлу «хостс». Когда вы блуждаете по сети, на ваш компьютер может попасть вирус или троян, который автоматически перезаписывает hosts, внося в него нужные корректировки. С помощью этих корректировок вы, набирая в адресной строке адрес vk.com, попадаете не на «ВКонтакте», а на специально созданный мошенниками сайт, который своим дизайном в точности повторяет социальную сеть, только вместо вашей страницы высвечивается «Валидация аккаунта».
Проверить это очень легко — откройте hosts и посмотрите, если ли в нем непонятные IP-адреса. В 99% случаев они находятся в файле.
Есть два пути. Если вы не хотите редактировать этот файл самостоятельно, а хотите привести его в первоначальный вид, то можете скачать бесплатную утилиту Dr.Web Cureit, которая во время сканирования системы автоматически исправляет «хостс» на дефолтные настройки.
Если хотите исправить его самостоятельно, то зайдите в папку C:\windows\system32\drivers\etc\. Hosts имеет скрытые атрибуты, поэтому необходимо сделать скрытые файлы видимыми («Панель управления» — «Параметры папок» — «Показывать скрытые файлы, папки и диски»). Теперь наведите курсор мыши на файл, нажмите на левую кнопку и через меню выберите пункт «Запуск от имени администратора». Отредактируйте файл и сохраните его. Кстати, по умолчанию он выглядит таким образом (все, что находится ниже записи localhost, можно удалять):
Другой вариант — без показа скрытых папок.
Что такое файл hosts и как его редактировать в Windows?
Хост-файлы — это текстовые файлы, которые используются для сопоставления доменных имен с IP-адресами, что и делают DNS-серверы. Вы можете использовать их для упрощения подключения к веб-сайтам, поэтому иногда вам нужно их редактировать.
Таким образом, в этом руководстве объясняется, что такое хост-файлы в Windows, как их можно редактировать и что делать, если вы не можете этого сделать.
Что такое файл hosts в Windows?
Когда ваш компьютер хочет подключиться к веб-сайту, ему необходимо связаться с DNS-сервером, чтобы преобразовать URL-адрес в IP-адрес. Однако, если вы уже знаете IP-адрес для URL-адреса, вы можете добавить сведения в файл хоста, и ваш компьютер будет использовать его, не обращаясь к DNS-серверу или кэшу.
Допустим, вы хотите найти наш сайт MakeUseOf в своем веб-браузере. Для успешного поиска вашему ПК нужен IP-адрес, поэтому он ищет его в файле хоста.
Если вы ранее указали URL-адрес MakeUseOf и соответствующий IP-адрес в файле, ваш компьютер использует эту информацию для подключения. В противном случае ПК попытается найти IP-адрес в кэше DNS или подключиться к DNS-серверу в обычном режиме.
Файлы hosts присутствуют во всех операционных системах, но в разных местах. Вот типичные места:
- Windows 10 — «C:\Windows\System32\drivers\etc\hosts»
- Mac OS X — «/private/etc/hosts»
- Linux — «/etc/hosts»
Зачем вам Редактировать файл hosts?
Файл hosts редактируется по нескольким причинам, но обычно это требуется для одного из двух целей.
Во-первых, файл hosts пригодится, если ваш DNS-сервер работает неэффективно. Если ваш DNS-сервер работает медленно, вы можете вставить IP-адрес и доменное имя в файл hosts, чтобы ускорить процесс поиска (если вы знаете все детали).
И наоборот, вы можете использовать плитку хостов, чтобы заблокировать ПК от доступа к веб-сайту. Поскольку файл hosts является первым портом захода для ПК, вы можете ввести неверный адрес для целевого сайта, чтобы запретить доступ к нему с вашего ПК.
Как редактировать файл hosts в Windows 10 и 11
Редактировать файл hosts в Windows довольно просто. Следуйте инструкциям ниже.
1. Создать резервную копию
Прежде всего нам необходимо создать резервную копию. Это поможет вам вернуться к предыдущему состоянию, если что-то пойдет не так.
Чтобы продолжить, выполните следующие действия:
- Запустите проводник и перейдите в папку, указанную ниже:
C:\Windows\system32\drivers\etc
- Найдите файл hosts и щелкните его правой кнопкой мыши.
- Выберите Скопируйте и вставьте файл в другое безопасное место на вашем ПК.
Чтобы добавить дополнительный уровень безопасности, вы также можете создать точку восстановления. Эта точка восстановления позволит вам вернуть текущее состояние операционной системы с помощью функции восстановления системы.
2. Используйте «Блокнот» для редактирования файла hosts
В этом методе мы будем запускать файл hosts с помощью приложения «Блокнот» и редактировать его непосредственно там.
Вот все, что вам нужно сделать:
- Откройте Блокнот, нажав Win + S , набрав «Блокнот» в поиске Windows и нажав Запуск от имени администратора .
- В следующем окне перейдите к File > Open .
- Введите следующее местоположение в текстовое поле для имени файла и нажмите Открыть . Вы также можете вручную перейти к файлу.
C:\Windows\System32\drivers\etc\hosts
- После открытия файла прокрутите вниз до конца и введите IP-адрес, а затем доменное имя сайта, который вы хотите заблокировать. Допустим, мы хотим добавить в файл IP-адрес Google. Используя этот пример, наш файл будет выглядеть следующим образом.
127.0.0.1 www.google.com
- Если вы хотите заблокировать сайт, просто введите неверный IP-адрес, например 0.0.0.0. Используя приведенный выше пример, мы будем вводить следующий текст, если хотим заблокировать Google.
0.0.0.0 www.google.com
- Чтобы сэкономить время, нажмите Файл > Сохранить как .
- Разверните раскрывающийся список для Сохранить как тип и выберите Все файлы .
- Назовите файл как hosts2 и сохраните его на рабочем столе.
Теперь, когда у вас есть готовый файл hosts, все, что вам нужно сделать, это поместить его в нужное место.
- Перейдите на рабочий стол, щелкните правой кнопкой мыши только что созданный файл и выберите 9.0050 Переименовать .
- Удалите 2 (или любую другую цифру/букву, которую вы добавили), чтобы файл назывался только как Hosts.
- Скопируйте этот файл.
- Запустите проводник и перейдите к исходному расположению хоста.
- Вставьте сюда новый файл и нажмите Замените файл в этом месте назначения , если появится запрос на перезапись.
Теперь ваш отредактированный файл hosts готов к использованию.
Что делать, если файл hosts не работает
Если файл hosts не работает в вашей системе, это может быть вызвано несколькими причинами. Возможно, вы не сможете открыть файл, потому что формат не поддерживается или у вас недостаточно прав для доступа к нему.
Если у вас возникли проблемы с файлом, вот несколько способов устранения неполадок, которые вы можете попробовать:
1. Очистите кэш DNS и NetBIOS
Поскольку такие проблемы обычно возникают из-за поврежденных или неисправных файлов кэша, первое решение, которое мы рекомендую попробовать очистить кеш.
Мы рассмотрели, как выполнить последнее, в нашем руководстве о том, что такое DNS-сервер, поэтому ознакомьтесь с инструкциями о том, как это сделать.
После очистки кэша DNS выполните следующие действия, чтобы очистить кэш NetBIOS:
- Введите «Командная строка» в поиске Windows и нажмите «Запуск от имени администратора» .
- В следующем окне выполните следующую команду:
nbtstat -R
После выполнения команды проверьте, устранена ли проблема.
2. Сбросьте файл hosts
Вы также можете попробовать сбросить файл hosts до его версии по умолчанию, чтобы решить любые связанные с ним проблемы.
- Запустите проводник и перейдите к расположению ниже:
%systemroot% \system32\drivers\etc
- Переименуйте файл hosts в hosts.bak.
- Затем перейдите в следующую папку:
%WinDir%\system32\drivers\etc
- Дважды щелкните файл hosts и замените присутствующий в нем текст следующим:
# Copyright (c) 1993-2009 Microsoft Corp.
#
# Это пример файла HOSTS, используемого Microsoft TCP/IP для Windows.
#
# Этот файл содержит сопоставления IP-адресов с именами хостов. Каждая запись
# должна храниться на отдельной строке. IP-адрес должен быть
# в первом столбце, за которым следует соответствующее имя хоста.
# IP-адрес и имя хоста должны быть разделены хотя бы одним пробелом
#.
#
# Кроме того, комментарии (такие как эти) могут быть вставлены в отдельные
# строк или после имени машины, обозначенного символом '#'.
#
# Например:
#
# 102.54.94.97 rhino.acme.com # исходный сервер
# 38.25.63.10 x.acme.com # x клиентский хост
# разрешение имени localhost обрабатывается самой DNS.
# 127.0.0.1 localhost
# ::1 localhost - Сохраните файл, чтобы внести изменения.
Настройка файла hosts в Windows
Теперь вы знаете, как редактировать файл hosts в Windows. Вы можете использовать эту информацию для выполнения множества задач, таких как блокировка веб-сайтов, их перенаправление, создание ярлыков веб-сайтов и даже тестирование веб-серверов.
Как редактировать файл хоста в Windows с помощью редактора файлов хостов
Windows заимствовала множество шаблонов из систем BSD при реализации сети. Одним из важнейших модулей операционной системы, поддерживающих адресацию в компьютерных сетях, является файл hosts. Его роль заключается в переводе дружественных доменных имен в их числовые эквиваленты, то есть IP-адреса. Благодаря этому легко идентифицировать компьютер в сети без необходимости запоминать сложные числа.
Редактирование файла hosts позволяет быстро и легко подключиться к хостингу или серверу, если у вас еще нет активного или направленного домена. Это особенно полезно при переносе сервисов или тестировании нового веб-сайта.
Файл hosts представляет собой текстовый файл, содержащий IP-адрес в каждой строке, а также одно или несколько доменных имен хоста, которые могут быть разделены пробелами или символами табуляции. Строки, начинающиеся с решетки, являются комментариями (и поэтому игнорируются).
В Windows путь к файлу по умолчанию выглядит так:
%SystemRoot%\system32\drivers\etc\hosts
Вот как выглядит документ по умолчанию:
# Copyright (c) 1993-2006 Microsoft Corp. # # Это пример файла HOSTS, используемого Microsoft TCP/IP для Windows. # # Этот файл содержит сопоставления IP-адресов с именами хостов. Каждый # запись должна быть сохранена на отдельной строке. IP-адрес должен # помещается в первый столбец, за которым следует соответствующее имя хоста. # IP-адрес и имя хоста должны быть разделены хотя бы одним # пробелом. # космос. # # Кроме того, комментарии (такие как эти) могут быть вставлены в отдельные # строк или после имени машины, обозначенного символом '#'. # # Например: # # 102.54.94.97 rhino.acme.com # исходный сервер # 38.25.63.10 x.acme.com # x клиентский хост # разрешение имени локального хоста обрабатывается самой DNS. # 127.0.0.1 локальный хост # ::1 localhost
Вот как выглядит документ по умолчанию: Для редактирования и сохранения лучше всего скопировать файл на рабочий стол, что-то изменить, сохранить и перезаписать по системному пути по умолчанию. Microsoft также подготовила специальное руководство о том, как должен выглядеть файл hosts по умолчанию.
Однако вы можете все упростить и воспользоваться преимуществами полностью графического инструмента под названием Редактор файлов хостов. Это небольшое приложение, которое редактирует файл hosts, не выполняя описанный выше процесс. Ниже представлен внешний вид:
Редактор файлов хостов Неотмеченные строки заблокированы, т.е. неактивны. Выбор одного из них и сохранение их активируются. Программа может дополнительно создавать различные профили и версии архивов, так что у нас может быть огромный выбор. Одной из самых интересных опций является возможность полного отключения всех конфигураций, а также возможность восстановить внешний вид по умолчанию.Будьте в курсе
Хотите получать информацию о подобных статьях?
Подпишитесь на нашу рассылку.
Посмотреть другие сообщения в блоге
Просмотреть все сообщения в блоге- Камиль Порембински 6 апреля 2022 г.
Почему это хорошая идея — разделить сайты по разным учетным записям хостинга?
Несколько веб-сайтов на одном сервере — это угроза, которая может иметь разные лица. Узнайте, какие из них наиболее важны, и узнайте, почему вам следует разделить свои сайты на разных учетных записях хостинга.
Подробнее
- Камиль Порембински 13 сентября 2021 г.
Как подготовить свой сайт к Черной пятнице или повысить посещаемость?
Слишком большой трафик веб-сайта может быть столь же катастрофическим, как и полное его отсутствие. Авария трафика приводит к перегрузке сервера. В такой ситуации никто не может использовать, например. предложение вашего интернет-магазина, и вы не зарабатываете. Узнайте, как оптимально подготовить свой сайт к увеличению трафика.
Подробнее
- Камиль Порембински 10 сентября 2021
Управление паролями или как не потерять свои данные
У вас есть счет в банке? Пользуетесь интернетом со своего смартфона? Поздравляем! Тогда вы находитесь на более яркой стороне силы, куда не доходит цифровое исключение.
Ваш комментарий будет первым