Файл Hosts — что это такое, где он находится в Windows, что с ним делать вебмастеру и как удалить из него записи вирусов
Здравствуйте, уважаемые читатели блога KtoNaNovenkogo.ru. Сегодня я хочу поговорить о такой довольно-таки простой в своем устройстве вещи, как файл Hosts.
Что примечательно, живет он практически на всех операционных системах (а значит и всех компьютерах пользователей интернета), начиная от Линукса и заканчивая Windows 7. Еще одним отличительным его свойством является то, что он не имеет расширения, но это обусловлено именно тем, что работать он должен в любых ОС, а значит обязан быть универсальным.
Но не это главное. Хотя он и является пережитком прошлого, по прежнему есть масса способов использовать Хостс как в благих целях, так и не в очень. Например, вирусы и вирусописатели очень его любят и часто используют либо для подмены официальных сайтов их фишинговые дубли, либо для блокировки возможности обновления установленной у вас антивирусной программы.
Когда интернет только появился и был медленным, то многие пользователи прописывали в Hosts наиболее часто посещаемые ими ресурсы, а так же блокировали через него сервера с рекламой, ну, или доступ тем программам, которые они активировали, скажем так, не платя за это разработчикам.
Но даже сейчас этот файл может приносить пользу, в том числе и вебмастерам. Например, при смене хостинга вы вынуждены иногда ждать сутки, прежде через на всех DNS серверах пропишется новый IP адрес вашего сайта. Однако, можно начинать работать и тестировать сайт на новом хостинге сразу же после его размещения там. Как это сделать? Ну, все при помощи того же Hosts.
Кроме этого вообще будет полезно знать где находится файл Hosts, как его найти на разных операционных системах, как его проверить на предмет девственной чистоты от вирусных записей, ну и, наконец, как он должен выглядеть в оригинале.
Что такое Hosts, его содержание и назначение?
По традиции, стоит начать с того, а как же собственно это чудо появилось и сумело поселиться на подавляющем большинстве компьютеров в мире. Ну, тут, как всегда все просто.
Когда интернета (всемирной паутины, глобальной сети или попросту WWW) еще не существовало как такового (как он появился можно почитать в статье про появление WWW в интернете), но уже были небольшие локальные сети из подключенных друг к другу компьютеров, то даже тогда пришли к выводу, что гораздо проще обращаться к хостам (компьютерам в сети) по именам, а не по цифровому коду, который называют IP адресом.
Однако сетевому оборудованию нужны именно Ip-ишники и ничего другого. Поэтому вручную формировался список соответствия имени хоста и его Ip адреса. Такой список обзывался именем Hosts и рассылался на все узлы локальной сети. Все было замечательно вплоть до того момента, когда использовать такой метод уже стало не возможно из-за огромного числа записей, содержащихся в этом файле. Рассылать его стало проблематично.
В связи с этим решили подойти к этом вопросу иначе, а именно разместить в интернете целую древовидную сеть DNS-серверов (систему доменных имен), которые хранили бы все эти таблицы соответствия и компьютеры пользователей обращались к ближайшему из них с вопросом о том, а какой-же Ip-ишник соответствует домену Вася.ру.
При этом про файл Hosts все благополучно забыли, но он по-прежнему имел место быть во всех операционках, разве что только его содержание было крайне скудным. Обычно там присутствовала и присутствует до сих пор всего лишь одна запись:
127.0.0.1 localhost
По какой-то причине, данный Ip адрес (а точнее диапазон 127.0.0.1 — 127.255.255.255) был выбран для обозначения локального хоста (частного IP), т.е. того самого компьютера, за которым вы сидите (дословно localhost — «этот компьютер»). Но, правда, это все для старичка IPv4 (четвертой версии).
А во входящем сейчас в обиход IPv6 (из-за того, что заложенного в предыдущей версии количества адресов уже не хватает всем) подобная запись будет выглядеть чуток по другому:
::1 localhost
Но суть одна и та же. Т.к. сейчас еще используются или могут использоваться оба стандарта задания IP адреса, то в файле Hosts обычно присутствуют обе этих строчки. Над ними, правда, может быть всякая билиберда написана (зависит от используемой ОС), но все те строки содержат вначале символ решетки # (хеш), который означает, что данные строки являются комментариями и учитываться не должны.
На моей старушке Windows Vista файл Хостс выглядит сейчас вот так:
# Copyright (c) 1993-1999 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 # This HOSTS file created by Dr.Web Anti-rootkit API 127.0.0.1 localhost ::1 localhost
Синтаксис записи очень простой — сначала указывается IP адрес, а затем через любое количество пробелов (символов табуляции) прописывается название хоста (компьютера, узла или домена). Для каждой записи подобного рода используется отдельная строка.
Тут встает главный вопрос, а какое сейчас занимает Hosts место в процессе установки соответствия вводимых в браузере доменных имен и тех IP адресов, которые за этими доменами скрываются? Ну, как оказалось, очень даже важное место занимает, а именно первое. Но обо все по порядку.
Итак, вы вводите в адресную строку браузера Урл адрес (про Url читайте тут) или же переходите по ссылке из закладок браузера, или же с какой-либо открытой в нем вебстраницы. В любом случае браузер получает от вас путь до того документа, который вы хотите увидеть.
https://ktonanovenkogo.ru/papka/fail.html
По любому, в Урле будет присутствовать доменное имя сайта, на котором интересующий вас документ лежит (ktonanovenkogo.ru в нашем примере). Однако, этому домену соответствует вполне себе конкретный сервер (может быть виртуальный), где хостится этот самый сайт. И у этого сервера обязательно должен быть IP адрес, чтобы он был виден в сети и к нему могли обращаться.
Ваш браузер не может знать, какой именно IP соответствует доменному имени содержащемуся в Урле (ну, если только вы в этом самом браузере не включили кэширование DNS записей и данный узел был вами ранее посещен). Поэтому он обращается в первую очередь за разъяснениями именно к файлу Hosts на вашем компьютере.
Если там этот домен найден не будет (и соответствующий ему IP), то уже дальше браузер начнет пытать службу кэширования DNS записей из состава Windows. Если раньше вы к этому домену обращались и с тех пор прошло не очень много времени, то DNS-кэш выдаст браузеру этот самый Айпишник. Браузер его получит и откроет затребованный вами документ.
Если же среди кэша для этого домена записей не найдется, то браузер отправит запрос на ближайший DNS-сервер (скорее всего, это будет сервер вашего интернет провайдера) и получит от него искомую информацию. Правда, в этом случае может наблюдаться небольшая задержка в открытии затребованной вами вебстраницы, но при современных скоростях интернета это будет практически не заметно.
И так происходит при абсолютно любом запросе на открытие документа из интернета с вашего компьютера. Улавливаете? Пустой Hosts не создает никаких проблем, а вот если его заполнить, да еще и со злым умыслом, то может получиться так, что вы введете пароль от своего Яндекс кошелька не на официальном сайте этой платежной системы, а на фишинговом ресурсе с аналогичным дизайном (см. что такое фишинг).
Как такое может быть? Ну, от заражения вирусами никто не застрахован (тут я писал про свою вирусную эпопею с сайтами), а вирус может запросто дописать в Хостс IP адрес фишингового ресурса и поставить ему в соответствие доменное имя money.yandex.ru, к примеру. В этом и кроется опасность.
На фальшивом сайте социальной сети могут перехватить вводимые вами пароли, могут потребовать плату за вход, ну или еще чего-нибудь совершить более креативного. Самое печальное, что заметить подмену невозможно, ибо в адресной строке браузера будет красоваться правильное доменное имя.
Где находится файл Hosts и как удалить из него записи вируса?
С другой стороны удалить внесенные вирусом изменения из файла Host сможет даже абсолютный нуб в компьютерах. Обычно проблема заключается именно в том, чтобы найти, где этот самый файлик находится.
В старых версиях Windows, как, например, XP или 2000, он был открыт для всех желающих и жил в системных папках по следующему адресу:
Windows\System32\drivers\etc\
Вы не поверите, но он живет по этому же адресу и в Windows 7, и в Висте, но там все несколько сложнее, ибо пройдя по пути:
c:\Windows\System32\drivers\
Папки etc вы там не обнаружите. Разработчики посчитали, что обычным смертным этот файл трогать не стоит во избежании проблем.
Однако, файл hosts в windows 7 и vista все же имеет место быть, нужно только искать его, получив права Администратора. Лично я никогда даже не пытался разобраться во всей это ахинеи с правами, но для себя нашел очень простой способ обойти это ограничение.
Итак, заходите в меню кнопки «Пуск» — «Все программы» и находите там папку «Стандартные». Внутри нее живут ярлычки, среди которых несложно увидеть «Блокнот». Щелкаете по нему правой кнопкой мыши и из появившегося контекстного меню выбираете «Запуск от имени Администратора»:
Ну, собственно, полдела сделано. Теперича в блокноте выбираете из верхнего меню пункты «Файл» — «Открыть». В стандартном окне проводника Windows находите искомую папку etc (внутри каталога Windows\System32\drivers\), выбираете в правом нижнем углу из выпадающего списка «Все файлы» и счастливыми глазами наблюдаете появления этого сверхсекретного файла:
Он будет именно без расширения, а всю остальную лабудень, на вроде hosts.txt, очень часто создают вирусы, чтобы отвлечь ваше внимание и в конец запутать. Для настоящего файла они выставляют атрибут «Скрытый», который можно поставить или снять, просто щелкнув по файлу правой кнопкой мыши и выбрав самый нижний пункт «Свойства»:
А т.к. в Windows по умолчанию для зарегистрированных типов файлов расширения не отображаются (вот зачем так сделали — я не понимаю), то пользователь находит hosts.txt не видя ни его расширения, ни того, что в той же папке есть еще один хостс, но он скрыт от его глаз.
Внося изменения в фальшивку он так ничего и не добивается, начинает рвать волосы, заламывать руки и идет в магазин за новым ноутбуком, чтобы, наконец-то, попасть в свой любимый Контакт, который вирус заблокировал на старом компе. Ааа, ужас.
Хотя, конечно же, пользователь может оказаться продвинутым и включить в настройках показ скрытых и системных файлов. В Windows Vista для этого нужно зайти в «Панель управления» — «Свойства папки» — вкладка «Вид» и переместить галочку в строчку «Показывать скрытые папки и файлы». Кстати, и с расположенной выше строчки «Скрыть расширения ...» галочку лучше будет снять:
Есть совсем простой способ открыть этот файл. Достаточно будет нажать на клавиатуре сочетание клавиш Win+R (или выбрать из меню кнопки «Пуск» пункт «Выполнить»), после чего ввести в открывшемся окне следующую строку и нажать Энтер:
notepad %windir%\system32\drivers\etc\hosts
Но не суть важно. Мы с вами все же нашли, где находится этот секретный (для Windows 7 и vista) файл, и должны его внимательно осмотреть на предмет возможных надругательств. Если первичный осмотр пациента никаких патологий не выявил, то посмотрите на область прокрутки страницы в Блокноте.
Иногда свои записи вирус вносит после нескольких сотен пустых строк, снижая тем самым риск их обнаружения вами. Если полосы прокрутки нет, то все замечательно, а если есть — то воспользуйтесь ей и приведите свой Hosts к тому виду, что у него должен быть с рождения, т.е. достаточно будет наличия в нем всего лишь двух строк (комментарии никому не нужны):
127.0.0.1 localhost ::1 localhost
Ну, если подмену адресов в этом файле представить довольно просто, например, это может выглядеть так:
127.0.0.1 localhost ::1 localhost 77.88.21.3 ktonanovenkogo.ru
То как же, в таком случае, осуществляется блокирование определенных сайтов через Хостс? Ну, просто домену, который нужно заблокировать, ставят в соответствие частный IP адрес 127.0.0.1, например, так:
127.0.0.1 localhost ::1 localhost 127.0.0.1 vk.com 127.0.0.1 odnoklassniki.ru
Умница браузер находит это соответствие и пытается получить нужный документ (вебстраницу) с вашего же компьютера, что ему, естественное, не удается и о чем он вам незамедлительно сообщит. Кстати, это хороший способ заблокировать доступ вашим чадам к сайтам, которые вы считаете им не стоит посещать. Кончено же, нужно еще будет список таких сайтов создать или где-то взять, но при желании вполне можно попробовать.
Как я уже упоминал, в стародавние времена, когда интернет у большинства пользователей был еще медленным, для ускорения открывания сайтов прописывали их Айпишники в Hosts. Другое дело, что эти самые ресурсы периодически меняли хостинг и вместе с ним и IP адреса. А пользователь, забыв про то, что он сотворил полгода назад для ускорения интернета, тщетно пытается понять, почему его любимые ресурсы ему не доступны.
Как использовать Хостс при переносе сайта на новый хостинг?
Ну, и напоследок я хотел бы рассказать о том, как с помощью внесения изменений в файл Хостс можно работать с сайтом, переехавшим на новый хостинг еще до того момента, как на всех DNS серверах пропишется новая запись (ставящая в соответствие вашему домену новый Ip адрес). Способ очень простой, но эффективный.
Итак, вы меняете хостера. Естественно, что меняется и IP адрес вашего сайта. Как об этом узнают в интернете? Все правильно, с помощью сети Днс серверов. Кстати, первый и самый важный шаг сделаете вы сами, зайдя в панель управления своего регистратора и прописав там адреса NS серверов вашего нового хостера.
Именно с них новая DNS распространится по всему интернету. Но процесс этот длительный и при самом худшем сценарии развития событий может занять пару суток. На это время сайт должен быть доступен и на новом и на старом хостинге, чтобы пользователи со всего мира не были бы лишены возможности его лицезреть.
Однако, вам самим ведь будет интересно узнать, а как, собственно, ваш ресурс чувствует себя у нового хостера? Проверить работу всех плагинов и других вещей. Неужели придется ждать от нескольких часов до двух суток? Ведь это не выносимо.
Во-первых, можно будет попробовать сбросить DNS-кэш на вашем собственно компьютере, ибо он может мешать вам увидеть свой ресурс на новом хостинге, если внешние ДНС сервера уже получили новую запись. Как это сделать? Опять же все очень просто. Нажимаете на клавиатуре сочетание клавиш Win+R (или выбираете из меню кнопки «Пуск» пункт «Выполнить»), после чего вводите в открывшемся окне:
cmd
Откроется очень страшное окно под название командная строка, куда вам нужно будет вставить эту команду:
ipconfig /flushdns
Обычные кнопки вставки в окне командной строки не работают, поэтому просто щелкните в ней правой кнопкой мыши и выберите пункт «Вставить».
После этого жмите на «Энтер», DNS-кэш очистится на вашем компе и можно пробовать открыть ваш сайт снова. Кстати, кэш ДНС может иметь место быть и в самом браузере, так что очистите его, либо обновите окно, удерживая зажатой кнопку «Шифт» на клавиатуре.
Кстати, если интересно, то можно посмотреть содержимое DNS-кэша, введя в командную строку следующую команду:
ipconfig /displaydns
По-прежнему открывается сайт на старом хостинге? Не беда. Находим описанным чуть выше способом файл Hosts и добавляет в него всего лишь одну строчку:
109.120.169.66 ktonanovenkogo.ru
Где 109.120.169.66 — это будет IP адрес вашего нового хостинга, а дальше будет следовать доменное имя вашего сайта. Все. Пока весь остальной мир любуется вашим ресурсом на старом хостинге, вы имеете возможность исправить возможные косяки на уже перенесенном на новый хостинг движке. Штука замечательная и я ей всегда пользуюсь.
Комментарии и отзывы (27)
День добрый, Дмитрий! Спасибо за столь информативный пост. Однажды тоже приходилось работать с файлом Ностс. Когда установила сайт на хост, спустя сутки обнаружила, что в моем буке он не открывается ни в одном браузере. Попробовала зайти на свежий сайт со смартфона и, о чудо, он вполне себе доступен. Порописала в хостсе имя и iP-адрес сайта и он тут же стал доступен с моего ноута.
Недавно пользовался файлом Хостс, провайдер 5 суток обновлял ДНС... надоело ждать, покопался в инете
А мне вот не приходилось, зато если придется, знаю теперь, кто поведет меня за руку. Тоже благодарность! Проверить надо бы, конечно, но рисковать влезать в это страшно.
Спасибо, хорошая статья — полезная! 🙂
Спасибо за материал — кое-что я не знал (век живи — век учись!).
А вот кэш ДНС и кэш всех установленных браузеров можно сбросить проще — с помощью программы CCleaner. Быстро, просто, плюс еще много разных полезностей.
Спасибо огромное! Статья очень понравилась, много полезного вынесла для себя.
И удачи с выходом из под фильтра! Это, конечно, очень не легко, но я верю, что у тебя все получится!!
Прочитав вашу хорошую статью, залез в свой host. Вирусы не обнаружил, что обрадовало, зато увидел решетки перед своим IP адресом, выглядит это так:
# 127.0.0.1 localhost
# ::1 localhost
Напишите пожалуйста, надо их удалить или пусть стоят. Если есть какие-то особенности удаления опишите их, пожалуйста, а то я не очень силен в этих знаниях.
Сергей: обозначение localhost это скорее условность, чем необходимость. В любом случае хуже не будет.
Спасибо большое за ответ. Как я понял, можно эти решетки не удалять?
Сергей, решетки означают комментарии. То есть если они стоят перед текстом, то он никак не действует. Уберите их и условность localhost начнет работать)
Павел, я туговат в терминах. Как понять ваше последнее предложение «Уберите их и условность localhost начнет работать»? Это хорошо или плохо, объясните пожалуйста подробней.
Большое спасибо за статью и за Ваш сайт,постоянно нахожу здесь полезную информацию.По поводу файла host,у меня его нет вообще.Просмотрела всеми способами.Есть только файл lmhosts.sam,где все записи за решетками и файл networks в котором написано
# © Корпорация Майкрософт (Microsoft Corp.), 1993—1999
#
# Этот файл содержит сопоставления сетевых имен/номеров сети для
# локальных сетей. Номера сети задаются в десятичном формате с точками.
#
# Формат:
#
# [псевдонимы...] [#]
#
# Например:
#
# loopback 127
# campus 284.122.107
# london 284.122.108
loopback 127
Может быть этот файл его заменяет?У меня ХР.Дмитрий подскажите может надо создать файл host?Спасибо!
блин народ подскажите что делать! Всё делал по инструкции(очень хорошо написано)но почему то когда всё сделал и делаю сохранить то у меня пишет что отказано в доступе хотя я делал от имени администратора(всё по инструкции) подскажите что сделать!
Здравствуйте! Я тоже не могу найти этот файл Hosts! Заменяет ли его какой-либо другой файл???
Добрый день. У меня возник такой вопрос. Из статьи я понял, что если мы указываем в браузере доменное имя, то в таком случае обращение вначале идет к DNS-серверу для получения ip-адреса, а затем переход на требуемую страницу. Будет ли обращение к DNS-серверу при указании в браузере ip-адреса вместо доменного имени?
Дмитрий! Я никак не могу избавиться от вируса в файле hosts. Что мне сделать?Пожалуйста помогите, а то я не могу заходить в свою почту / только пускает при работе в режиме инкогнито/. Спасибо.
Спасибо за полезную статью.
Подскажите, плз., что значит строка в конце файла hosts? Нужно её удалить или оставить?
0.0.0.1 mssplus.mcafee.com
Спасибо.
И ещё один трабл. После исправления система не дала сохранить файл, просит обратиться к админу сети, хотя файл был открыт описанным здесь «самым простым способом», где задание создаётся с правами админа. Как сохранить файл?
Добрый день! Для меня очень познавательны все ваши статьи без исключения, но вот на данной статье хочется испросить пояснения: в файле все прописано верно и ничего лишнего то нет, но вот последние две строки идут с #, то есть выведены в комментарии:
# localhost name resolution is handled within DNS itself.
# 127.0.0.1 localhost
# ::1 localhost
поясните: есть ли необходимость снять #, для того чтобы предварительно обращение шло к не просто к списку хештегов и что это даст. А то прочитал все комментарии и ответа на данный вопрос не увидел.
Отредактировал файл Hosts, но результатов нет (хотел забанить посещение некоторых сайтов) — открываются, как и раньше. Притом все делал правильно, без ошибок.
Замечательная статья , спасибо !
забавно, все пишут, что ничего не получилось, и им не отвечают, а некоторые товарищи очень рады, но чему? бедный Сережа 10 раз переспросил, а ему так и не ответили, убрать или нет решетки? я тоже ничего из ответа не понял: типа помиловать не надо казнить. в любом случае плохо не будет 🙂
Привет! Решетки ни на что не влияют (они и расположенной в этой же строке код или текст просто игнорируется).
Статья очень хорошая и максимально понятная. Но , хотел заблокировать несколько сайтов(для общего развития так сказать, ну или просто интересно), все сделал как было сказано, но оно без проблем открывает все заблокированные сайты. Хотелось бы узнать причину(Windows 10 стоит).
Как блокировали? Сохранились ли изменения при сохранении?
Как устранить сбой помогите пожалуйста
После исправления система не дала сохранить файл, просит обратиться к админу сети, хотя файл был открыт описанным здесь «самым простым способом», где задание создаётся с правами админа.
Как сохранить файл?
Здравствуйте!
Как вариант, антивирус может блокировать внесение изменений в файл хостс. Нужно будет в его настройках разрешить вносить изменения в этот файл.
Спасибо.
Ваш комментарий или отзыв