Настройка файла /etc/hosts — Общие вопросы
С помощью файла hosts на вашем компьютере можно настроить соответствие между доменом и конкретным IP-адресом.
Такая настройка может понадобиться, например, в случае, если вы перенесли сайт и домен на новый хостинг, и необходимо проверить работу сайта по его основному адресу. Однако кэш DNS-сервера все еще «помнит» предыдущую A-запись домена, и при обращении к сайту будет отдавать прежний IP-адрес, по которому сайт уже недоступен. Чтобы не дожидаться обновления кэша DNS (оно может занимать несколько часов), можно указать необходимую связку домена и IP-адреса в файле hosts — запрос к этому файлу имеет приоритет перед обращением к DNS-серверам.
Узнать, к какому IP идет запрос в данный момент при обращении к домену, можно с помощью команды ping — работа с ней подробнее описана здесь.
Еще один вариант использования настройки в hosts — запрет доступа к тому или иному сайту с вашего компьютера. К примеру, если домену facebook. com прописать в hosts некорректный IP (скажем, 127.0.0.1), то перейти на данный сайт с вашего компьютера будет невозможно.
Сама настройка очень простая: достаточно указать в файле нужный IP-адрес, а через пробел от него — доменное имя. Вносить изменения необходимо от имени администратора.
Windows
Если система устанавливалась по умолчанию на диск C, файл будет находиться по пути:
c:\windows\system32\drivers\etc\hosts
Открыть нужный файл можно одним из следующих способов. Убедитесь, что все действия вы выполняете от имени администратора.
Вариант 1.
Запустить командную строку (нажать Win+R, в появившемся окне набрать cmd и нажать ОК) и выполнить в ней команду ниже:
notepad.exe c:\windows\system32\drivers\etc\hosts
Файл hosts будет открыт в блокноте, и вы сможете внести необходимые изменения и сохранить их.
Вариант 2.
Перейти в «Мой компьютер» -> Локальный диск С -> Windows -> System32 -> drivers -> etc либо вставить нужный путь в адресную строку проводника:
В папке etc кликните правой кнопкой мыши на файле hosts, выберите «Открыть с помощью» и далее выберите «Блокнот»:
Как правило, файл выглядит следующим образом:
Введите необходимый IP и домен, например, 92. 53.96.120 mydomain.com:
Сохраните изменения. Для этого выберите «Файл» — «Сохранить». В открывшемся окне выберите «Все файлы» и нажмите «Сохранить».
Чтобы проверить настройки, выполните в командной строке:
ping mydomain.com
Замените mydomain.com на указанный вами домен.
Если все настройки корректны, в выводе команды будет отражен IP-адрес, указанный в файле hosts.
Linux
Откройте терминал и выполните команду ниже:
sudo nano /etc/hosts
Она позволит открыть файл hosts для редактирования с правами суперпользователя. Если в вашей системе не установлен редактор nano, можно воспользоваться любым другим (gedit, vi и т.д.).
Как правило, содержимое файла выглядит следующим образом:
127.0.0.1 localhost
127.0.1.1 ваш_компьютер# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
Введите необходимый IP и домен после второй строки, например:
127.0.0.1 localhost
127.0.1.1 ваш_компьютер
92.53.96.120 mydomain.com
Сохраните изменения (в nano — нажатием Ctrl+O, далее Ctrl+X) и проверьте настройки, выполнив в терминале:
ping mydomain.com
Если все настройки корректны, в выводе команды будет отражен IP-адрес, указанный в файле hosts.
MacOS
Запустите программу Терминал / Terminal. Ее можно найти через Spotlight / Finder.
Выполните в терминале команду:
sudo nano /etc/hosts
Далее введите ваш пароль пользователя.
В файле под уже имеющимися записями укажите нужный IP и домен, например:
92.53.96.120 mydomain.com
Сохраните изменения и закройте редактор. Это можно сделать сочетанием клавиш ⌘ и Y, после чего нажать Enter для подтверждения.
Для проверки вы можете выполнить в терминале команду:
ping mydomain.com
Если все сделано верно, в выводе команды будет отражен IP-адрес, который вы указали в файле hosts.
Файл Hosts Windows 10 и 7
Где находится файл Hosts, как его изменить и можно ли его удалить? Наличие файла только в ОС Windows, и о его предназначении вы узнаете в этой статье.
Что такое файл hosts – как его изменять и где скачать
Файл Hosts – это всего лишь текстовый файл, хранящий в себе базы IP – адресов и доменных имен. Чтобы его найти нужно следовать по следующему пути.
C:\Windows\System32\drivers\etc\hosts
Ниже мы видим стандартный вид файла hosts для операционных систем Windows 7, 8, 8.1 и 10. Также может подойти и для ОС XP, Vista.
Если возникнет желание, в строчке ниже вы можете написать свои IP адреса и доменное имя.
Хотите заблокировать доступ к какому либо ресурсу? Без проблем. Для доменного имени просто указываете IP адрес 127.0.0.1. Так обычно делают различные вирусы, запрещающие доступ к социальным сетям. Об этом мы говорили в статье.
Примерно такое может быть написано в вашем файле, если поработали вредоносные программы или вирусы:
- 127.0.0.1 vk.com
- 127.0.0.1 odnoklassniki.ru
Изменить файл hosts очень просто, главное обладать правами администратора.
- Нажать сочетание клавиш Win+R.
- Ввести команду notepad %windir%\system32\drivers\etc\hosts.
Отсутствие файла в каталоге говорит о том, что скорее всего поработал вредоносный код. Это можно проверить, если посмотреть изменения в записи редактора реестра. Чтобы попасть в редактор реестра нажмите Win+R и введите regedit, затем в поле поиска вставьте путь до ключа:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters\DataBasePath
В значении должен быть указан путь до hosts. А вот в последних версиях Windows 10 такого ключа нет.
Скачать файл Hosts для Windows 10 (скопируй к себе в документ)
# Copyright (c) 1993-2009 Microsoft Corp.
#
#
# This file contains the mappings of IP addresses to host names.

# 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
Как изменить файл Hosts на Windows | Что внести в строки
Редактирование hosts происходит с помощью любого текстового блокнота, даже стандартного в системе. Для теста вы можете заблокировать какой-либо сайт, а как это сделать, указано выше. Нужно перед доменом прописать 127.0.0.1.
Теперь, когда вы перейдете на сайт через браузер, он не откроет его и высветится сообщение, что «Не удаётся получить доступ к сайту».
Перенаправление сайтов – редирект
Если сайт нужно перенаправить на другой ресурс, необходимо узнать IP-адрес второго ресурса. Узнать это можно через сервис https://2ip.ru/whois/. Например, у нас есть сайт Вконтакте – vk.com и IP-адрес google.com. Строка перенаправления с ВК на Google будет выглядеть следующим образом.
Почему файл hosts не сохраняет изменения
Часто при сохранении изменений возникает проблема, при которой система предлагает сохранить файл в текстовом файле с расширением txt. Это всё для безопасности. В последних версиях Windows это есть, поэтому многие вирусы не смогут отредактировать файл. Но если я хочу сделать изменения, как быть?
Всё очень просто. Вернитесь в папку etc и перейдите в свойства файла hosts. Затем перейдите на вкладку «Безопасность» и в разделе «Группы и пользователи» нажмите на «Пользователи». Далее щелкните по кнопочке «Изменить».
Откроется окно, где нужно поставить галочку напротив пункта «Полный доступ» в столбце «Разрешить». Применяем изменения.
Всё, теперь вы можете смело сохранять изменения в документе 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 127.0.0.1 localhost
Не могу зайти в соцсеть – взломали аккаунт
Если сайт ВК, Одноклассники или любой другой сайт не открывается или идет перенаправление, первым делом проверьте строки в hosts. Там не должно быть ничего лишнего, кроме записей по умолчанию, либо ваших.
Вторым шагом рекомендую проверить систему на вирусы. Скачиваем все 3 программы и поочередно проверяем:
- AVZ
- Web CureIt
- Kaspersky Virus Removal Tool
Для очистки статистических маршрутов прописываем в командной строке от имени администратора команду route –f.
Вот и всё. Теперь вы знаете о данном файле всю необходимую информацию. Часто туда лезть простому пользователю не придется.
ФайлHosts обнаружен как вредоносное ПО в Защитнике Windows
Windows 8 Windows 8 Pro Windows 8 Enterprise Больше. ..Меньше
Симптомы
Рассмотрим следующий сценарий:
-
Вы устанавливаете Windows 8.
Вы изменили файл Hosts, указав настраиваемые сопоставления IP-адреса с именем хоста, чтобы пользователи не могли просматривать некоторые веб-сайты.
Вы запускаете сканирование в Защитнике Microsoft Windows.
В этом сценарии файл Hosts определяется Защитником Windows как угроза вредоносного ПО SettingsModifier:Win32/PossibleHostsFileHijack.
Причина
Эта проблема возникает из-за того, что Защитник Windows может неправильно определить, что файл Hosts был изменен вредоносным ПО, например рекламным или шпионским ПО.
Разрешение
Чтобы решить эту проблему, исключите файл Hosts из сканирования в Защитнике Windows. Для этого выполните следующие действия:
Откройте Защитник Windows.
На вкладке Параметры щелкните Исключенные файлы и расположения .
- В разделе Расположение файлов нажмите Обзор .
Найдите и щелкните файл Hosts.
Примечание. По умолчанию файл Hosts находится в папке %systemroot%\system32\drivers\etc.
Щелкните Добавить , а затем щелкните Сохранить изменения .
Выйти из Защитника Windows.
Ссылки
Дополнительные сведения об угрозе вредоносного ПО SettingsModifier:Win32/PossibleHostsFileHijack см. в следующей статье энциклопедии Microsoft Malware Protection Center:
SettingsModifier:Win32/PossibleHostsFileHijack
следующий номер статьи, чтобы перейти к статье в базе знаний Майкрософт:
972034 Как восстановить файл Hosts по умолчанию?
powershell — Set-Content: процесс не может получить доступ к файлу «C:\WINDOWS\system32\drivers\etc\hosts», поскольку он используется другим процессом
Задавать вопрос
спросил
Изменено 2 года, 2 месяца назад
Просмотрено 2к раз
У меня есть следующий сценарий PowerShell:
param([switch]$Elevated) функция Test-Admin { $currentUser = New-Object Security.Principal.WindowsPrincipal $([Security.Principal.WindowsIdentity]::GetCurrent()) $currentUser.IsInRole([Security.Principal.WindowsBuiltinRole]::Администратор) } if ((Test-Admin) -eq $false) { если ($ повышенный) { # пытался поднять, не получилось, прерывание } еще { Start-Process powershell.exe -Глагол RunAs -ArgumentList ('-noprofile -noexit -file "{0}" -повышенный уровень ' -f ($myinvocation.MyCommand.Definition)) } Выход } функция UpdateHosts { параметр ($hostName) Запись хоста $hostName пытаться { $strHosts = (Get-Content C:\WINDOWS\system32\drivers\etc\hosts -Raw) если([строка]::IsNullOrEmpty($strHosts)) { Ошибка записи «Хосты Get-Content пусты» Выход } } ловить { Ошибка записи "Невозможно прочитать файл hosts" Ошибка записи $_ Выход } пытаться { $strHosts -replace "[\d]+\.[\d]+\.[\d]+\.[\d]+ $hostName","$ipAddress $hostName" | Set-Content -Путь C:\WINDOWS\system32\drivers\etc\hosts } ловить { Ошибка записи "Невозможно записать файл hosts" Ошибка записи $_ Выход } } $ip-адрес = "127.
0.0.1" UpdateHosts -имя хоста local.pap360.com
Иногда, когда я запускаю его, я получаю следующую ошибку:
Set-Content: процесс не может получить доступ к файлу «C:\WINDOWS\system32\drivers\etc\hosts», так как он используется другим процессом.
Когда я открываю папку C:\WINDOWS\system32\drivers\etc\hosts в Блокноте, там ничего нет. т.е. все данные, которые у меня были в нем, стерты.
У меня вопрос… как я могу предотвратить это?
Например, если Set-Content
не может получить доступ к файлу hosts для записи в него, то как он может стереть его содержимое? А почему не catch
блок работает?
Вот полная ошибка:
Set-Content: процесс не может получить доступ к файлу «C:\WINDOWS\system32\drivers\etc\hosts», поскольку он используется другой процесс. В C:\path\to\test.ps1:36 char:92 + ... $hostName" | Set-Content -Path C:\WINDOWS\system32\drivers\etc\hosts + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~ + CategoryInfo: WriteError: (C:\WINDOWS\system32\drivers\etc\hosts:String) [Set-Content], IOException + FullyQualifiedErrorId: GetContentWriterIOError,Microsoft.PowerShell.Commands.SetContentCommand
Я тоже не понимаю, почему так с перебоями. Есть ли какой-то процесс Windows, который открывает файл hosts на 1 с раз в минуту или что-то в этом роде?
- powershell
- windows-10
- хосты
3
Прежде всего, проверьте, не ограничивает ли ваш брандмауэр или антивирус доступ к файлу. Если это не так и «какой-то» другой процесс в настоящее время блокирует файл hosts, возможно, вам может помочь добавление теста перед чтением или записью файла:
функция Test-LockedFile { параметр ( [параметр (обязательный = $true, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true)] [Псевдоним («Полное имя», «Путь к файлу»)] [ValidateScript({Test-Path $_ -PathType Leaf})] [строка]$Путь ) $file = [System.IO.FileInfo]::new($Path) # старые версии PowerShell используют: # $file = New-Object System.IO.FileInfo $Path пытаться { $stream = $file.Open([System.IO.FileMode]::Open, [System.IO.FileAccess]::ReadWrite, [System.IO.FileShare]:: Нет) если ($поток) {$поток.Закрыть()} return $false # файл не заблокирован } ловить { return $true # файл заблокирован } }
Затем используйте так:
function UpdateHosts { параметр ($hostName) Запись хоста $hostName $path = 'C:\WINDOWS\system32\drivers\etc\hosts' # проверить, доступен ли файл для чтения/записи # конечно, вы также можете поместить это в цикл, чтобы продолжать попытки X раз # пока Test-LockedFile -Path $path не вернет $false. если (Test-LockedFile -Path $path) { Ошибка записи «Файл hosts в настоящее время заблокирован» } еще { пытаться { $strHosts = (Get-Content $path -Raw -ErrorAction Stop) если([строка]::IsNullOrEmpty($strHosts)) { Ошибка записи «Хосты Get-Content пусты» Выход } } ловить { Ошибка записи «Невозможно прочитать файл hosts:`r`n$($_.
Ваш комментарий будет первым