![Невозможно получить доступ к некоторым сайтам на Windows, хотя это возможно на Linux на том же ПК](https://rvso.com/image/1641934/%D0%9D%D0%B5%D0%B2%D0%BE%D0%B7%D0%BC%D0%BE%D0%B6%D0%BD%D0%BE%20%D0%BF%D0%BE%D0%BB%D1%83%D1%87%D0%B8%D1%82%D1%8C%20%D0%B4%D0%BE%D1%81%D1%82%D1%83%D0%BF%20%D0%BA%20%D0%BD%D0%B5%D0%BA%D0%BE%D1%82%D0%BE%D1%80%D1%8B%D0%BC%20%D1%81%D0%B0%D0%B9%D1%82%D0%B0%D0%BC%20%D0%BD%D0%B0%20Windows%2C%20%D1%85%D0%BE%D1%82%D1%8F%20%D1%8D%D1%82%D0%BE%20%D0%B2%D0%BE%D0%B7%D0%BC%D0%BE%D0%B6%D0%BD%D0%BE%20%D0%BD%D0%B0%20Linux%20%D0%BD%D0%B0%20%D1%82%D0%BE%D0%BC%20%D0%B6%D0%B5%20%D0%9F%D0%9A%20.png)
У меня возникли проблемы с доступом к таким сайтам, какPastebin.comилиПиратская бухтаиз моей системы Windows 10. Браузер отключается по тайм-ауту. Я пробовал разные браузеры (Brave, Edge, Chrome, Firefox), а также создал новый профиль пользователя в Windows — результат тот же.
Другие системы в моей сети не имеют проблем с доступом к этим сайтам. Я также могу получить доступ к этим сайтам с этого ПК, когда загружаю Linux на системе.
Это показывает, что на уровне маршрутизатора или интернет-провайдера не выполняется никакой фильтрации — в противном случае другие системы также не должны получать доступ к этим сайтам.
Есть идеи, что мне следует поискать?
решение1
TL;DR
Вы не можете получить доступ к веб-сайтам, поскольку ваш файл hosts был изменен, в результате чего адреса веб-сайтов перенаправляются на неправильные IP-адреса, в результате чего они становятся недоступными.
Компьютерный файл hosts — это файл операционной системы, который сопоставляет имена хостов с IP-адресами. Это простой текстовый файл. Первоначально файл с именем HOSTS.TXT поддерживался вручную и предоставлялся через файлообмен Стэнфордским исследовательским институтом для членов ARPANET, содержащим имена хостов и адреса хостов, предоставленные для включения организациями-членами. Система доменных имен, впервые описанная в 1983 году и внедренная в 1984 году,1автоматизировал процесс публикации и обеспечил мгновенное и динамическое разрешение имени хоста в быстро растущей сети. В современных операционных системах файл hosts остается альтернативным механизмом разрешения имени, часто настраиваемым как часть таких объектов, как Name Service Switch, как основной метод или как резервный метод.
Для систем Windows файл hosts находится по адресу C:\Windows\System32\drivers\etc\hosts и содержит сопоставление адресов веб-сайтов с адресами интернет-протокола.
Компьютеры не понимают адреса веб-сайтов, они понимают только единицы и нули, поэтому нам нужно преобразовать адреса веб-сайтов в адреса IPv4, чтобы компьютеры могли знать, к чему подключаться.
АнIPv4Адрес — это 4-байтовое (32-битное) двоичное число, разделенное на 4 числа, каждое из которых имеет длину один байт; они разделены точками, что ограничивает общее количество адресов до 4294967296.
Чтобы преобразовать IPv4 в 4-байтовое число, слева направо:
16777216*$ip.split('.')[0]+65536*$ip.split('.')[1]+256*$ip.split('.')[2]+$ip.split('.')[3]
Однако преобразовать 4 байта в IPv4 сложнее:
$byte1=[math]::floor($number/16777216)
$number=$number % 16777216
$byte2=[math]::floor($number/65536)
$number=$number % 65536
$byte3=[math]::floor($number/256)
$number=$number % 256
"{0}.{1}.{2}.{3}" -f $byte1,$byte2,$byte3,$number
Выше приведены примеры преобразования IPv4 в PowerShell, на самом деле это легко понять, хотя я должен признать, что не могу быстро преобразовать значения в течение секунды. Компьютеры могут, однако я понимаю адреса веб-сайтов, а компьютеры — нет.
IP-адреса для компьютеров подобны именам для людей; веб-сайты подобны книгам, принадлежащим компьютерам. Книга может принадлежать многим людям, у человека может быть много книг, но имена уникальны для каждого человека (по крайней мере, теоретически), между людьми и именами существует однозначное соответствие. Обратите внимание, что IP-адреса действительно уникальны для каждого компьютера. Мы не называем кого-то по названию книги, которой он владеет, вместо этого мы называем кого-то по имени. Компьютеры работают аналогично. Если вы хотите посетить веб-сайт, вам нужно связаться с компьютером, которому принадлежит книга, чтобы прочитать ее.
Итак, у нас есть DNS-серверы, которые сообщают компьютерам, к какому компьютеру подключаться, когда мы заходим на веб-адрес. DNS-серверы записывают, на каком IP-адресе размещен веб-сайт (кто владеет книгой), и сообщают компьютеру, что нужно взаимодействовать с компьютером, на который указывает IP-адрес.
Компьютеры не имеют ни малейшего представления о том, где на самом деле находится веб-сайт, и не знают о подлинности ответа, они просто переходят на указанный им IP-адрес, поэтому, если указан неправильный IP-адрес, вы не сможете зайти на веб-сайт (потому что веб-сайт не размещен на машине, на которую указывает неправильный IP, и веб-страницы не существуют на машине, которая связана с неправильным IP). Это называется DNS-спуфингом, намеренно заставляющим DNS-серверы отвечать на ложные IP-адреса при запросе об определенных веб-сайтах, чтобы заблокировать эти веб-сайты. Этот метод широко используется GFW для запрета некоторых веб-сайтов, таких как Wikipedia и DeviantArt (не все заблокированные веб-сайты блокируются этим методом).
Существует простой способ борьбы с DNS-спуфингом: смена хостов. При доступе к веб-сайту компьютеры проверяют, присутствует ли адрес веб-сайта в файле hosts, они будут запрашивать DNS-серверы только в том случае, если адрес отсутствует в файле hosts; если они нашли адрес в файле hosts, они получат доступ к адресу, найденному в файле hosts, и не будут запрашивать DNS-серверы. Таким образом, если правильный IP-адрес находится внутри файла hosts, неправильные ответы DNS-серверов не помешают вам получить доступ к определенным веб-сайтам. Правильные IP-адреса находятся с помощью онлайн-поиска DNS.
Однако файл hosts также может быть использован.
Вы можете использовать файл hosts для блокировки веб-сайта следующим образом:
127.0.0.1 www.contoso.com
Некоторые программы (особенно вредоносные и антивредоносные) также могут это делать.
Опять же, компьютер не может определить, правильный ли IP-адрес или нужно ли вам заблокировать сайт, он просто подчиняется.
Из-за этого почти все антивирусные и антивредоносные программы (по крайней мере, о которых я знаю) не позволяют изменять файл hosts, при этом они сами изменяют файл hosts, чтобы заблокировать некоторые веб-сайты и «защитить» пользователя из соображений «безопасности». Поэтому, если вы хотите покопаться в файле hosts, сначала удалите так называемые антивирусные программы.