Host-файл: простой и эффективный способ администрирования доступа в Internet

0
0

Структура современных операционных систем предполагает наличие огромного объема служебной информации, хранящейся в различных системных файлах. Пользователь, имеющий даже базовые навыки работы с такими файлами, зачастую получает в свои руки очень мощный инструмент, иногда позволяющий буквально парой строчек текста менять поведение или внешний вид "операционки". Например, host-файл - крайне эффективный инструмент настройки поведения сетевых сервисов.

Необходимое отступление: DNS

DNS
Для начала следует кратко объяснить принципы адресации в современных сетях, основанных на IP-протоколе. Многие пользователи сталкивались с таким понятием, как IP-адрес. Это адрес, уникальный в пределах отдельно взятой сети, который присваивается каждому узлу такой сети (серверу, маршрутизатору, пользователю и т. п.). Он представляет собой особого вида набор чисел. Использование такого формата удобно с точки зрения компьютера, но крайне неудобно с точки зрения человека-пользователя. Ему гораздо удобнее набирать в адресной строке браузера "mywebpage.com", чем набор цифр вроде "15.112.75.10". Для того чтобы всем было хорошо, в Internet предусмотрена специальная распределенная система - DNS (Domain Name System). Эта система строится из отдельных специализированных серверов, на которых хранится информация о соответствии между IP-адресом и буквенным именем того или иного ресурса в глобальной сети. Компьютеры пользователей отправляют специальные DNS-запросы, в ответ на которые получают IP-адреса запрашиваемых ресурсов. Использование host-файла может уменьшить количество таких запросов. Кроме того, информация из этого файла имеет больший приоритет по сравнению с данными, которые компьютер получает от DNS-сервера.

Использование host-файла: блокировка отдельных ресурсов

host файл
Самое распространенная причина использования host-файла - блокировка отдельных сетевых ресурсов. К примеру, пользователь может пытаться уменьшить количество рекламы. Или родители хотят ограничить доступ своего чада к социальным сетям и online-играм. Безусловно, такую блокировку можно реализовать путем использования сторонних программ. В частности, большинство файерволов предоставляют широкие возможности по созданию сложных правил, в том числе и по закрытию доступа к отдельным сайтам. Но дополнительная программа - это потребление дополнительных ресурсов компьютера. Кроме того, не каждый пользователь захочет разбираться с процессом создания правил. А host-файл подгружается в память при старте операционной системы и в течение всего времени ее работы хранится там. Т. е. его использование практически не отвлекает ресурсы машины. Все, что нужно - это сопоставить имя блокируемого Internet-ресурса с заведомо несуществующим "айпишником". Как правило, используется адрес "127.0.0.1".

Использование host-файла: перенаправление доменов

Другая функция host-файла - перенаправление доменов. Эта возможность часто используется программистами и администраторами сетей для редиректа пользователей, скажем, на локальные ресурсы корпоративной сети. Также явное задание IP-адреса помогает ускорить процесс загрузки часто посещаемых Internet-ресурсов, так как клиентская машина в этом случае не должна будет обращаться к удаленному DNS-серверу. Кстати, вот и идея для ближайшего Первого апреля! Думаю, ваши коллеги сильно удивятся, увидев вместо привычных "Одноклассников" какую-то шуточную страницу.

Махинации с использованием host-файла


host файл

К несчастью, полезные свойства этого файла часто используется злоумышленниками. Путем внесения ложных данных вирусное ПО может, например, заблокировать доступ к сайтам известных антивирусных компаний или перенаправить пользователя вместо его любимого "Фейсбука" на фишинговый сайт злоумышленника. Для минимизации таких рисков пользователи иногда делают host-файл доступным только для чтения. Для этого достаточно кликнуть правой кнопкой мыши по файлу hosts, выбрать в выпадающем меню пункт "Свойства" и в открывшемся окне поставить отметку напротив атрибута "Только чтение". Если в будущем вам понадобится редактировать этот файл - просто временно снимите атрибут.

Расположение и формат файла hosts

host файл windows 7
Host-файл Windows 7 (как и всех операционных систем семейства Windows, начиная с версии 2000) располагается в папке: %SystemRoot%\system32\drivers\etc, где %SystemRoot% - папка "операционки" (по умолчанию - c:\Windows) и называется hosts. Этот путь по желанию пользователя может быть изменен путем правки ключа реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters\DataBasePath. По своему формату hosts - обычный текстовый документ. Соответственно, для работы с ним можно использовать привычный всем "Блокнот" или любой другой текстовый редактор. Правда, начиная с Windows Vista, запуск редактора должен делаться от имени администратора.

Редактирование файла hosts

файл host пустой
Внутри файла по умолчанию уже содержится некоторая справочная информация (см. на изображении сверху). Каждая строка в таком "нетронутом" документе закомментирована символом "#". Система будет игнорировать все, что находится от этого символа до конца строки. Кстати, если файл host пустой, это может означать только одно - он уже подвергался редактированию. Как можно понять из комментариев, пользователь может добавлять свои строки следующего формата: <ip-адрес ресурса> <имя ресурса> <#необязательный комментарий>. Если, к примеру, вам надо заблокировать сайт социальной сети "Одноклассники", вы добавляете следующую строку: 127.0.0.1 www.odnoklassniki.ru #На работе надо работать. После этого доступ к этому ресурсу будет закрыт для всех программ и сетевых служб на компьютере. В принципе, ничего сложного. Правда, в использовании файла hosts есть пара минусов. Во-первых, он не поддерживает символы-джокеры. Т. е. вы не можете заблокировать доступ ко всем сайтам в домене ".com" просто вводом строки 127.0.0.1 *.com. Во-вторых, при использовании прокси-сервера содержимое host-файла игнорируется системой. Существуют определенные способы обхода этого ограничения, но об этом в следующий раз.

OSHE: простое редактирование host-файла

OSHE
Как уже писалось выше, редактировать host-файл можно в обычном "Блокноте". Но существуют утилиты, которые могут сделать этот процесс еще проще. Одна из них - OSHE (Online Solutions Hosts Editor). Утилита компактная, процесс установки простой и не должен вызвать проблем даже у неподготовленного пользователя. ПО распространяется на условиях freeware. Эта программа, во-первых, сама находит файл hosts, а во-вторых, позволяет его редактировать не в виде текстового файла, а в виде таблицы. Такая таблица содержит четыре столбца. Второй, третий и четвертый столбцы аналогичны полям, которые уже описывались выше - IP-адрес, имя ресурса и произвольный комментарий (только тут не надо вводить "#", он будет добавлен в конечный файл автоматически). В первом столбце пользователь отмечает, является ли данная строка активной или нет. Фактически, отсутствие в нем отметки означает наличие символа "решетки" в самом начале определенной строки host-файла. Можно создавать новые строки, удалять или редактировать старые. После завершения всех действий просто сохраните изменения и перезагрузите компьютер. Новый host-файл будет автоматически помещен в память при загрузке системы. В основном окне программы присутствует также "галочка", выбор которой позволяет сделать файл доступным только для чтения (смысл таких действий описывался выше). В общем, OSHE в состоянии предоставить большинству пользователей удобный инструментарий для работы с файлом hosts.

Hosts Commander: для любителей командной строки

Специально для любителей минимализма существует утилита Hosts Commander (известная также как hostscmd), с помощью которой можно редактировать host-файл прямо из командной строки. Есть версии этого ПО как под Windows, так и под Linux. Пользователям Windows надо скопировать файл программы (сама она не требует установки) в директорию с файлами системы. После этого данный exe-шник будет доступен из командной строки без необходимости указания полного пути к нему. Среди возможностей ПО числятся операции добавления, удаления, отключения и скрытия хостов, операции по редактированию и отображению хостов по маске, созданию резервных копий системного файла и отката последних изменений, а также много других полезных "фич". Да, эта утилита также абсолютно бесплатна. Полезна она будет системным администраторам небольших предприятий и продвинутым домашним пользователям.