hosts (hosts)

Перейти к навигации Перейти к поиску

hosts (ранее HOSTS.TXT) — текстовый файл, содержащий базу данных доменных имен и используемый при их трансляции в сетевые адреса узлов. Запрос к этому файлу имеет приоритет перед обращением к DNS-серверам. В отличие от системы DNS, содержимое файла задаётся администратором компьютера.

Расположение и содержание

[править | править код]

В разных операционных системах файл имеет разное расположение:

Операционная система Версии Расположение
UNIX и UNIX-подобные /etc/hosts[1]
Windows 95, 98, ME %windir%\
NT, 2000, XP, 2003, Vista, 7, 8, 10 %SystemRoot%\system32\drivers\etc\hosts, его расположение может быть переопределено в ключе реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters\DataBasePath, в котором содержится путь к папке.
Windows Mobile Ветка реестра \HKEY_LOCAL_MACHINE\Comm\Tcpip\Hosts
Mac OS 9 и более ранние Системная папка: Preferences или просто в системной папке
Mac OS X и iOS Все версии Mac OS 10 /private/etc/hosts или /etc/hosts (/etc в OS X — символическая ссылка к /private/etc)
Novell NetWare SYS:etc\hosts
OS/2 и eComStation "bootdrive":\mptn\etc\
Symbian OS 6.1—8.1 C:\system\data\hosts
9.1+ Z:\private\10000882\hosts
Android /system/etc/hosts

IP-адреса и названия доменов разделены символами табуляции. Комментарии начинаются знаком «#» (решётка). Пустые строки игнорируются.

Обычно файл включает в себя определение расположения узла localhost[2]:

127.0.0.1       localhost

Перенаправление доменов

[править | править код]

Перенаправление доменов используется программистами и администраторами интрасети (например, перенаправление local на узлы интрасети), а также для ускорения загрузки сайтов путём сопоставления их IP-адресов доменным именам. Так называемые «символы-джокеры» (англ. wildcards) в самом файле hosts не поддерживаются.

Блокировка ресурсов

[править | править код]

С помощью файла hosts возможно осуществлять фильтрацию рекламы путём перенаправления доменных адресов баннеров на адрес 127.0.0.0, 127.0.0.1 (локальный хост) или 0.0.0.0 (рекомендуется). Использование локального адреса 127.0.0.1 обычно не рекомендуется, так как приводит к ожиданию ответа и сопутствующим задержкам, если сервер не существует или неправильно настроен; или если он существует и настроен, но для совершенно других целей (поэтому может давать неверный ответ и записывать лишнюю активность в логи).

Историческая справка

[править | править код]

В семидесятых годах сеть ARPAnet представляла собой тесное сообщество из нескольких сотен узлов. Всю информацию по узлам, в частности необходимую для взаимных преобразований имен и адресов узлов ARPAnet, содержал единственный файл HOSTS.TXT. Известная UNIX-таблица узлов, /etc/hosts, прямо унаследовала свою структуру от файла HOSTS.TXT (в основном с помощью удаления ненужных на UNIX-системах полей).

За файл HOSTS.TXT отвечал Сетевой информационный центр (NIC, Network Information Center) Стэнфордского исследовательского института (SRI, Stanford Research Insitute). В тот период времени единственным источником, распространявшим файл, являлся узел SRI-NIC.1 Администраторы ARPAnet, как правило, просто посылали изменения электронной почтой в NIC и периодически синхронизировали свои файлы HOSTS.TXT с копией на узле SRI-NIC с помощью протокола FTP.

Присылаемые ими изменения добавлялись в файл HOSTS.TXT один или два раза в неделю. Однако по мере роста сети ARPAnet эта схема стала неработоспособной. Размер файла рос пропорционально количеству узлов ARPAnet. Еще быстрее рос информационный поток, связанный с необходимостью обновления файла на узлах: появление одного нового узла приводило не только к добавлению строки в HOSTS.TXT, но и к потенциальной необходимости синхронизации данных каждого узла с данными SRI-NIC.

В 1984 году были изданы документы RFC 882 и 883, в которых описывалась система доменных имен (Domain Name System, или DNS) пришедшая на замену HOSTS.TXT, а использование файла hosts теперь является необязательным и скорее дополнительным инструментом при работе с сетью.

Использование при соединении через прокси-серверы

[править | править код]

Замена IP-адреса на доменное имя, записанное в строке файла hosts, не работает (Windows), если используется соединение через Proxy-Server, в этом случае разрешение имён происходит на уровне Proxy. Если настроено подключение к интернет только через Proxy, то нужно прописать замену в строку файла hosts, а также в настройках соединения в браузере к настройкам Proxy добавить адрес в исключения для обработки прокси (например, в браузере Internet Explorer это делается так: Сервис-Свойства обозревателя-вкладка Подключения-Настройка сети-Дополнительно-Не использовать прокси-сервер для адресов, начинающихся с, добавить строку с именем, указанным в файле hosts) только в этом случае узел будет игнорироваться Proxy, и замена будет работать. Иначе замена будет работать только для соединений, которые подключаются к Интернету напрямую (не через Proxy).

ПО для работы с hosts

[править | править код]

Для редактирования файла hosts годится любой простейший текстовый редактор (к примеру, в Windows можно использовать поставляемую с ОС программу «Блокнот» или бесплатный Notepad++; при этом, в ОС начиная с Windows Vista текстовый редактор следует запускать «от имени администратора»). Однако создано немало программ, облегчающих и автоматизирующих работу с этим файлом. Например, программа Hosts Commander[3] позволяет выполнять сложные операции с hosts из командной строки.

Для пользователей операционных систем Windows есть бесплатные программы с графическим интерфейсом. Например:

HostsXpert для Windows 2000, XP, Vista, 7, 8, Server 2003, Server 2008, Server 2008 R2[4].

HostsMan для Windows XP SP2, Server 2003 SP1, Vista, Server 2008, 7, 8, Server 2012, 8.1, Server 2012 R2[5].

Использование в злонамеренных целях

[править | править код]

На сегодняшний день большое количество вредоносных программ используют файл hosts для блокирования доступа к веб-сайтам популярных порталов или социальных сетей, или перенаправляют пользователя на страницы, внешне похожие на популярные ресурсы (социальные сети, почтовые сервисы и т. д.), куда невнимательный пользователь вводит учётные данные, попадающие таким образом к злоумышленникам. Также возможно блокирование доступа к веб-сайтам компаний-разработчиков антивирусного программного обеспечения.

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

Примечания

[править | править код]
  1. Linux Network Administrators Guide - Writing hosts and networks files. Дата обращения: 9 июня 2010. Архивировано из [linux.about.com/od/lna_guide/a/gdelna46.htm оригинала] 4 апреля 2012 года.
  2. Microsoft Support Document 258495 — Troubleshooting Client Connectivity. Архивировано из оригинала 4 апреля 2012 года.
  3. Hosts Commander. Дата обращения: 20 октября 2011. Архивировано 20 ноября 2011 года.
  4. http://www.wintotal.de/softwarearchiv/?id=5452 Архивная копия от 15 августа 2016 на Wayback Machine HostsXpert Version: 4.4
  5. http://www.abelhadigital.com/hostsman Архивная копия от 25 июня 2016 на Wayback Machine HostsMan