1

Я использую серверы openDNS: 208.67.222.123 / 208.67.220.123 в качестве поставщика DNS для моего ПК.

Когда я захожу на неподходящий http:// (контент для взрослых), меня перенаправляют на https:// open dns site.

Мне просто интересно, как DNS-сервер может перенаправлять с HTTP на HTTPS контент?

(и в итоге как это отключить?)

2 ответа2

2

Система OpenDNS DNS возвращает IP-номер, когда вы запрашиваете неподходящий сайт. Ваш браузер подключается к серверу, расположенному по IP-адресу, который используется OpenDNS. Они выполняют перенаправление со своего сервера, используя свой код. Я сомневаюсь, что вы можете изменить это поведение.

1

Вы не можете изменить IP-адрес, который будет возвращать сервер OpenDNS, когда ваша система ищет IP-адрес для доменного имени, например, example.com. Если сервер OpenDNS возвращает IP-адрес для одного из своих веб-серверов, этот веб-сервер может выполнить автоматическое перенаправление на другой URL-адрес, например, с http://example.com на https://example.com, если IP-адрес адрес указывает на example.com, возвращая код состояния HTTP 301 в ваш браузер вместе с URL перенаправления. Они могут перенаправить ваш браузер на https://example.com или http://someothersite.com, если example.com разрешит IP-адрес для своего собственного сервера.

Однако вы можете изменить файл hosts в вашей системе, указав правильный IP-адрес для example.com. В системах Microsoft Windows файл находится по адресу C:\Windows\System32\Drivers\etc\hosts . Отредактируйте файл с помощью текстового редактора, такого как Блокнот, но убедитесь, что Блокнот не добавляет .txt в конец имени файла, и добавьте следующую строку в файл, подставив реальный IP-адрес и полное доменное имя. (Полное доменное имя):

10.5.0.25 example.com

Если вы можете использовать www.example.com или example.com, добавьте оба файла в файл хоста. Например:

10.5.0.25      example.com
10.5.0.25      www.example.com

Примечание. Если ваша учетная запись не входит в группу администраторов системы, вам нужно будет щелкнуть правой кнопкой мыши Блокнот или любой другой редактор, который вы используете, и выбрать "Запуск от имени администратора", а затем предоставить идентификатор пользователя и пароль для учетной записи администратора. чтобы сохранить любые изменения, которые вы вносите в файл hosts.

Вы можете использовать другой DNS-сервер, например, предоставленный Google по адресу 8.8.8.8, чтобы найти правильный IP-адрес для www.example.com, введя в командной строке следующую команду:

nslookup example.com 8.8.8.8

Или вы можете получить IP-адрес для example.com с помощью онлайн-службы DNS, такой как DNS Lookup.

Затем, когда вы помещаете http://example.com в адресную строку вашего браузера, система должна сначала проверить файл hosts на предмет сопоставления полного доменного имени и IP-адреса. Если он находит там соответствующую запись, ему не нужно обращаться к DNS-серверу для получения IP-адреса.

Поскольку ваша система настроена на использование DNS-серверов родительского контроля OpenDNS, например, см. Инструкции по настройке маршрутизатора FamilyShield, а не на обычных DNS-серверах OpenDNS, вы будете перенаправлены в систему block.opendns.com. То есть, поскольку ваша система использует 208.67.222.123 и 208.67.220.123, а не 208.67.222.222 или 208.67.220.220, поскольку последний возвращает 206.125.164.82 для sex.com, как и DNS-сервер Google на 8.8.8.8, а первый возвращает 146.112 .61.106 в качестве IP-адреса для sex.com, вы отправляетесь на block.opendns.com, а не на веб-сервер сайта.

$ nslookup sex.com 208.67.222.222
Server:     208.67.222.222
Address:    208.67.222.222#53

Non-authoritative answer:
Name:   sex.com
Address: 206.125.164.82

$ nslookup sex.com 8.8.8.8
Server:     8.8.8.8
Address:    8.8.8.8#53

Non-authoritative answer:
Name:   sex.com
Address: 206.125.164.82

$ nslookup sex.com 208.67.222.123
Server:     208.67.222.123
Address:    208.67.222.123#53

Non-authoritative answer:
Name:   sex.com
Address: 146.112.61.106

Если вы подключитесь к порту 80 по номеру 146.112.61.106 по telnet и эмулируете запрос, который браузер отправит, введя запрос ниже, вы можете увидеть ответ с веб-сайта по этому IP-адресу:

GET / HTTP/1.1
Host: sex.com

Ответ таков:

$ telnet 146.112.61.106 80
Trying 146.112.61.106...
Connected to 146.112.61.106.
Escape character is '^]'.
GET / HTTP/1.1
Host: sex.com

HTTP/1.1 403 Forbidden
Server: openresty/1.7.7.2
Date: Sun, 09 Aug 2015 18:05:01 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: keep-alive

202
<html><head><script type="text/javascript">location.replace("https://block.opendns.com/?url=84708915688078&ablock&server=ash15&prefs=&tagging=&nref");</script></head></html> 

Теперь я не уверен, что ты на самом деле хочешь сделать. Если вы хотите посетить реальный веб-сайт, как предполагает ваш вопрос, запись хостов должна позволить вам сделать это, если вы добавите в него следующие записи:

206.125.164.82   sex.com
206.125.164.82   www.sex.com

Однако, если вы хотите перенаправить браузер для перехода на веб-сайт, которым вы управляете, как следует из вашего комментария, вам, вероятно, потребуется использовать прокси-сервер, например Fiddler, и добавить его сертификат безопасности в список доверенных корневых сертификатов в вашей системе. так что это может быть человек-посредник (MITM), так что браузеры в вашей системе не понимают, что они не получают действительные сертификаты безопасности для сайтов, которые вы посещаете с использованием HTTPS. Некоторые вредоносные программы, такие как Genius Box, используют атаки MITM для перехвата и изменения HTTPS-трафика.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .