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 неизвестному программному обеспечению.
Примечания
- Linux Network Administrators Guide - Writing hosts and networks files (недоступная ссылка). Дата обращения: 9 июня 2010. Архивировано 4 апреля 2012 года.
- Microsoft Support Document 258495 — Troubleshooting Client Connectivity (недоступная ссылка). Архивировано 4 апреля 2012 года.
- Hosts Commander .
- http://www.wintotal.de/softwarearchiv/?id=5452 Архивная копия от 15 августа 2016 на Wayback Machine HostsXpert Version: 4.4
- http://www.abelhadigital.com/hostsman HostsMan