Содержание файла hosts: Содержимое файла hosts и его изменение

Программка дря контроля и редактирования файла HOSTS

Внимание !!!

На момент написания статьи все ссылки, приведёные в мною, указывали только на сайт Касперского и доктора Веба.

Все ссылки на скачивание только с Народа.ру и ни каких файлообенников.

Программка «Редактор файла HOSTS» написана на Delphi. Предназначена для контроля и при необходимости исправлением файла HOSTS в ручную, простым удалением из файла всего лишнего кроме строки:

   127.0.0.1   localhost



Программа не требует установки.

Программа не вносит изменений в реестр.

Программа не обращается к интернету.

Программа не проверяет наличие обновления
и т.д. и т.д.


Внешний вид програмки после запуска.




вид1: файл hosts в норме

файла лже-hosts нет

вид 2: реальный файл Hosts содержит изменения

есть файл лже-hosts

 

1   текстовый редактор, в котором отображается содержание файла Hosts.

В зависимости от выбранного режима отображения (2) доступен в режиме просмотра или редактирования.

3  Кнопка «Загрузить Hosts» с диска


при запуске программы это действие выполняется автоматически.


Загружает содержимое файла Hosts в редактор (1)

4    Кнопка «Восстановить Hosts» позволяет удалить из окна редактора (1) всё лишнее.
Остаются только коментарии и строка 127.0.0.1 Localhost

5   Кнопка «Сохранить Hosts».
Сохраняет ваши изменения в файл Hosts

6   Кнопка «Выход» закрывает програмку без сохранения изменений.

7   Красная Кнопка. Появляется только в случае наличия файла лже-hosts.

Удаляет файл лже-hosts. Восстанавливает атрибуты файла HOSTS


Внимание !!!

Программа ни каких изменений не делает сама.

Программа не анализирует содержание фала HOSTS, а только отображает его содержание.

Все действия над файлом HOSTS выполняете только ВЫ. В редакторе и кнопками 4 5 7


Исправление изменений внесённых злоумышленниками

ШАГ 1


Если в редакторе (1) имеются записи (кроме 127.0.0.1 Localhost) нажмите кнопку 4 «Лечить HOSTS»

В окне 1 будут удалены все строки кроме 127.0.0.1 Localhost


Нажмите кнопку 5 «Сохранить HOSTS»

ШАГ 2

Если у вас отобразилась «Красная кнопка» 7. Нажмите её для удаления файла лже-hosts и установки нормальных атрибутов файла HOSTS.

ШАГ 3

Для контроля, что вы выполнили всё верно и изменения вступили в силу, нажмите конпку 3 «Загрузить HOSTS»

Проконтролируйте содержание окна 1 и отсутствие «Красной кнопки» 7

Внимание !!!

Запускайте программу от имени администратора

Если программа не может внести изменения в файл HOSTS вам надо повторить действия в безопасном режиме.

Внимание !!!

Если ваш файл HOSTS был изменён злоумышленниками.

Если в окне 1 были записи типа 127.0.0.1   «адрес сайта»

(см. вид 2: реальный файл Hosts содержит изменения)

Вам обязательно надо проверить компьютер на наличие вирусов.

Рекомендую бесплатную утилиту лечения Cureit с сайта Dr/WEB

Или аналогичную утилиту Kaspersky Virus Removal Tool с сайта Kaspersky Lab

Скачать программу «Редактор файла HOSTS» (копия с Яндекс-диска)

Скачать программу «Редактор файла HOSTS» в архиве (копия с Яндекс-диска)

Файл Hosts в Linux — General Software

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

Файл hosts — это простой текстовый файл, расположенный в папке etc в Linux и Mac OS (/etc/hosts). Windows также имеет файл hosts, в Windows вы можете найти его в папке Windows\System32\drivers\etc\

Вот как это выглядит:

Из того, что мы упомянули, вы, возможно, ожидаете, что этот файл будет содержать очень длинный список IP-адресов и соответствующих им имен хостов; но это не так. Файл hosts содержит всего несколько строк;

  • Первая часть, по умолчанию, содержит имена хостов и IP-адреса вашего localhost и машины. Это та часть, которую вы обычно изменяете для внесения нужных изменений.
  • Вторая часть содержит информацию о хостах с поддержкой IPv6, и вы вряд ли будете редактировать эти строки.

Всякий раз, когда вы вводите адрес, ваша система проверяет файл hosts на его наличие; если он там присутствует, вы будете направлены на соответствующий IP. Если имя хоста не определено в файле hosts, ваша система проверит DNS-сервер вашего интернета на наличие соответствующего IP и перенаправит вас соответствующим образом.

Содержание

  1. Зачем редактировать файл /etc/hosts?
  2. Как редактировать файл /etc/hosts?
  3. Блокирование веб-сайта
  4. Доступ к удаленному компьютеру через псевдоним

Зачем редактировать файл /etc/hosts?

Редактируя файлы hosts, вы можете добиться следующих результатов:

  • Заблокировать веб-сайт
  • справиться с атакой или решить проблему розыгрыша
  • Создать псевдоним для адресов на вашем локальном сервере
  • переопределять адреса, которые предоставляет ваш DNS-сервер
  • контролировать доступ к сетевому трафику

Как редактировать файл /etc/hosts?

Редактировать текстовый файл hosts, расположенный по адресу /etc/hosts, можно только в качестве суперпользователя. Сначала вам придется открыть его в текстовых редакторах, таких как VI editor, Nano editor или gedit и т.д. в терминале Linux. Затем вы внесете необходимые изменения и сохраните файл, чтобы эти изменения вступили в силу.

В этой статье мы будем использовать редактор Nano для редактирования файла. Пожалуйста, введите следующую команду:

sudo nano /etc/hosts

Или

sudo gedit /etc/hosts

Как уже упоминалось, мы будем редактировать первую часть файла hosts, где задаются IP-адреса и имена хостов. Ниже мы расскажем о двух способах использования файла hosts:

  • Заблокировать веб-сайт
  • Доступ к удаленному компьютеру через псевдоним

Блокирование веб-сайта

Вы можете заблокировать сайт, перенаправив его на IP вашего localhost или маршрут по умолчанию.

Например, если мы хотим заблокировать сайт google.com, мы можем добавить следующий текст в наш файл:

127.0.0.1 www.google.com

Теперь, когда мы откроем сайт google, наша система возьмет IP нашего localhost (127. 0.0.1) из файла hosts и перенаправит нас на него вместо IP google с нашего DNS-сервера.

ИЛИ

0.0.0.0 www.google.com

Теперь, когда мы открываем сайт google, наша система будет брать IP маршрута по умолчанию (0.0.0.0) из файла hosts и перенаправлять нас на него вместо IP google с нашего DNS-сервера.

Вот как будет выглядеть отредактированный файл. Пожалуйста, сохраните изменения, нажав ctrl+X.

Теперь, когда вы попытаетесь открыть www.google.com из браузера, вы увидите сообщение об ошибке следующего вида:

Обратите внимание, что в файле hosts мы указали полный адрес www.google.com, а не только имя хоста google.com, поскольку современные браузеры иногда обходят блокировку, если мы указываем только последнее.

Существует также несколько предопределенных списков блокировок, которые вы можете использовать в своем файле hosts: https://github.com/StevenBlack/hosts.

Доступ к удаленному компьютеру через псевдоним

Предположим, у нас есть сервер, расположенный в локальной сети, к которому мы хотим получить доступ. Обычно нам приходится вводить IP-адрес сервера, чтобы получить к нему доступ, если он не определен в локальном DNS. Один из способов избежать ввода IP снова и снова — назначить псевдоним серверу в файле hosts следующим образом:

192.168.1.10 myserver

IP соответствует местоположению сервера, к которому мы хотим получить доступ, а myserver — это новый псевдоним, который мы хотим использовать.

Теперь, когда мы сохранили файл и набрали myserver в адресной строке, мы будем перенаправлены на наш удаленный сервер.

Мы узнали, что, внеся очень простые изменения в файл hosts, мы можем настраивать и, таким образом, перенаправлять сетевой трафик в соответствии с нашими потребностями. Мы также можем избавиться от сетевой атаки или розыгрыша, восстановив файл hosts по умолчанию.

Как прочитать хост -файлы с помощью PowerShell: Local & Remote

Разделы

  • Чтение файла хостов с помощью PowerShell
  • для нескольких машин
  • Подведение итогов

Разделы

Чтение файла hosts с помощью PowerShell

Получение всего содержимого файла hosts с помощью PowerShell

Получение всех записей из файла hosts

Получение записей из файла hosts для нескольких машин

Подведение итогов

Сегодняшний блог посвящен чтению файла hosts с помощью PowerShell. Хотя есть много причин, по которым кто-то может изменить файл hosts на машине, это может легко выйти из-под контроля, когда записи разбросаны по вашей сети.

Как бы то ни было, у большинства из нас хоть раз в жизни были причины читать или изменять информацию в файле hosts. Мы собираемся рассмотреть чтение файла hosts с помощью PowerShell локально, а также удаленно для нескольких машин. Ура!

Чтение файла hosts с помощью PowerShell

Проще говоря, файл hosts — это сопоставление имен хостов с соответствующими IP-адресами. Вы можете изучить, как и почему его использовать, но это выходит за рамки этого блога.

Достаточно просто перейти к расположению файла hosts и открыть его вручную. В современных версиях Windows он хранится здесь (вам потребуется доступ администратора, чтобы изменить его):

%SystemRoot%\System32\drivers\etc\hosts

Но как насчет учета всех машин в вашей сети? Вы действительно хотите вручную просматривать этот файл на каждой машине? Это определенно риторический вопрос. Правильный ответ – решительное «Нет!»

Итак, что нам делать? Мы используем PowerShell, конечно! Чтение файла hosts с помощью PowerShell очень просто.

Получение всего содержимого файла hosts с помощью PowerShell

Для этого воспользуемся командлетом Get-Content. Этот командлет будет читать содержимое файла.

Если вам нужно только быстро просмотреть все содержимое файла hosts, то эта очень простая однострочная строка должна помочь:

Get-Content $env:SystemRoot\System32\Drivers\etc\hosts

Это достаточно просто и дает нам основную информацию, которую мы ищем.

Но что, если мы хотим получить только фактические записи, а не весь файл? Легко с PowerShell.

Получение всех записей из файла hosts

Чтобы получить все записи из файла hosts, мы будем использовать регулярные выражения для сравнения с каждой строкой в ​​файле hosts. 9(?\d{1,3}(\.\d{1,3}){3})\s+(?.+)$’
$File = «$env:SystemDrive\Windows\System32\Drivers\etc\hosts»
$Записи = @()
(Get-Content-Path $File) | ForEach-Object {

Если ($_ — соответствует шаблону $) {

$Entries += «$env:COMPUTERNAME,$($Matches.IP),$($Matches.Host)»

}
}
$ Записи | Tee-Object -FilePath $LogFile -Append

Вуаля! Это довольно просто, и вы получаете чистые результаты только с фактическими записями в файле hosts (а не со всем содержимым файла).

Фантастика! Теперь давайте перейдем к тому, чтобы сделать это для всех машин!

Получение записей из файла hosts для нескольких машин

Итак, у нас есть этот причудливый скрипт для получения записей из файла hosts и регистрации их в файле. Получить их с нескольких машин также несложно.

Вот несколько способов, как это можно сделать:

Шаги PDQ Deploy и PowerShell

Вот шаги по использованию PDQ Deploy с этими сценариями PowerShell.

1. Создайте пакет развертывания PDQ с шагом PowerShell, который включает ваш сценарий.

2. Выполните развертывание на целевых объектах и ​​проверьте файл журнала.

Как по волшебству, теперь вы можете выполнять развертывание на всех ваших целевых объектах и ​​сохранять результаты в файл журнала по некоторому пути UNC. Иди ты!

Инвентаризация PDQ и удаленное управление

Ниже приведены инструкции по использованию инвентаризации PDQ с этими сценариями PowerShell.

1. Выберите цели и используйте дистанционное управление.

3. Выберите все цели, чтобы просмотреть объединенные результаты. Компьютеры без результатов просто отобразят «Код возврата: 0», поскольку они успешно запустились, но не дали никаких результатов.

Да да! Это так просто. Очень быстро выбрать некоторые машины, а затем посмотреть, что у них есть в их файле hosts.

Удаленный PowerShell и Invoke-Command

Для этого необходимо предварительно настроить удаленный PowerShell для своих целей. В противном случае вы получите ошибки при попытке подключения к вашим целям. Я добавил Test-WSMan для фильтрации этих результатов.

Кроме того, нам нужно изменить способ входа в файл, иначе мы столкнемся с проблемами аутентификации с двойным переходом. 9(?\d{1,3}(\.\d{1,3}){3})\s+(?.+)$’
$File = «$env:SystemDrive\Windows\System32\Drivers\etc\hosts»
(Get-Content-Path $File) | ForEach-Object {

Если ($_ — соответствует шаблону $) {

«$env:COMPUTERNAME,$($Matches.IP),$($Matches.Host)»

}
}
}
Foreach ($Computer в $Computers) {
If ([bool](Test-WSMan -ComputerName $Computer -ErrorAction SilentlyContinue)) {
$Result += Invoke-Command -ComputerName $Computer -ScriptBlock $MyScript
}
}
$Результат | Tee-Object -FilePath $LogFile -Append 9(?\d{1,3}(\.\d{1,3}){3})\s+(?.+)$’
$Записи = @()
$Computers = @(«МАРШЬ», «МАТЕРА», «РОМАША»)
Foreach ($Computer в $Computers) {
$file = «\\$Компьютер\c$\Windows\System32\Drivers\etc\hosts»
(Get-Content-Path $File) | ForEach-Object {
Если ($_ — соответствует шаблону $) {

$Entries += «$компьютер,$($Matches. IP),$($Matches.Host)»

}
}
}
$ Записи | Tee-Object -FilePath $LogFile -Append

Вероятно, это будет самый быстрый способ получить информацию о файле hosts.

Подведение итогов

Вот и все! Теперь у вас есть куча способов решить задачу чтения всех записей файла hosts.

Это всего лишь примеры, поэтому вы, вероятно, захотите изменить их для своей среды. Одно изменение, о котором я могу думать, например, импортирует ваш список компьютеров. В своих примерах я использую статический список компьютеров.

В любом случае получайте удовольствие!

Счастливого PowerShelling!

Понимание файла /etc/hosts в Linux — Дневник Компьютерщика

от администратора

Что такое /etc/hosts и почему он используется?

Для отправки сетевого трафика на хост необходимо знать числовой адрес Интернет-протокола (IP) для этого хоста. IP-адрес традиционно записывается как xxx. xxx.xxx.xxx, где каждое xxx представляет значение от 0 до 255 для сетевого адреса IPv4. Компьютерам требуются эти адреса, но людям трудно запоминать числовые значения. Служба доменных имен (DNS) предоставляет механизм для связывания одного или нескольких буквенно-цифровых имен с числовым IP-адресом. В системе Linux эти удобочитаемые имена преобразуются в их числовые IP-эквиваленты библиотекой Resolver Library, содержащейся в файлах libresolve.so, поставляемых как часть RPM-пакета glibc. Программы, которым необходимо искать числовой IP-адрес для проблемы с именем, вызывают эту библиотеку.

Имена хостов и их IP-адреса можно найти в различных местах: в локальных файлах, на удаленных DNS-серверах или серверах NIS+ и т. д. Порядок поиска этих ресурсов зависит от hosts: запись в файле /etc/nsswitch.conf . Обычно эта строка выглядит так:

 # vi /etc/nsswitch.conf
hosts: files dns 

Это приводит к тому, что библиотека распознавателя сначала обращается к локальному файлу /etc/hosts; если имя хоста там не найдено, обратитесь к удаленным серверам имен DNS, указанным в /etc/resolv. conf файл.

Linux предоставляет RPM-пакет bind , позволяющий административному домену настраивать и поддерживать свою собственную службу DNS, но часто размер локальной сети составляет всего несколько хостов, что делает неоправданными усилия по поддержке службы DNS.

Формат файла /etc/hosts

Файл /etc/hosts представляет собой обычный текстовый файл. Допускаются два типа строк:

  1. Пустые строки
  2. Определения имени хоста

При необходимости линии могут быть перемешаны. Комментарии начинаются с символа решетки ( # ) и продолжаются до конца строки.

Связывание имен хостов и IP-адресов

Для каждого хоста должна присутствовать одна строка со следующей информацией:

 IP_адрес canonical_hostname [псевдонимы ...] 

Поля записи разделяются любым пробелом (пробелом или табуляцией) . Первое поле — это числовой IP-адрес, который будет использоваться для всех имен хостов в этой записи. В зависимости от ваших требований можно использовать либо адрес IPv4 (10.1.2.3), либо адрес IPv6 (2001:0db8:0000:0000:0000:0000:1428:57ab), либо аббревиатуру IPv6 (::1).

После IP-адреса оставшиеся маркеры указывают локально известные имена хостов, связанные с этим IP-адресом. По соглашению первое имя после IP-адреса является каноническим или полным доменным именем. Примером канонического имени может быть server.example.com; это официальное имя хоста.

Любые оставшиеся имена, определенные для IP-адреса, являются псевдонимами или альтернативными именами для официального имени хоста. Например, предположим, что одна из обязанностей, возложенных на server.example.com, — быть корпоративным FTP-узлом. Тогда подходящим псевдонимом может быть myftp.example.com, и это имя можно добавить в запись /etc/hosts после канонического имени. Часто псевдоним — это просто имя хоста без суффикса домена. Например:

 192.168.10.12 server.example.com myftp.example.com myhost myftp 

Преимущество перечисления канонического имени хоста в качестве первого определения в строке заключается в том, что преобразование IP-адреса в имя хоста (аналогично обратному поиску DNS) обычно отображать только первое найденное имя; соглашение использует для этого каноническое имя.

Читайте также: