
Я пытался использовать некоторые службы DNS, такие как OpenDNS, и что бы я ни делал, запросы DNS не возвращают ожидаемых результатов. Наблюдая за трафиком пакетов на моем брандмауэре, я вижу, что запросы отправляются на предполагаемый адрес сервера DNS и ответы возвращаются, но результаты не такие, как ожидалось, например, тестовая страница OpenDNS всегда терпит неудачу, хотя запросы, похоже, отправляются на их серверы.
Я подозреваю, что мой провайдер перехватывает DNS-запросы и отправляет их на свои собственные серверы. Есть ли способ это проверить? Может, я что-то еще упускаю? Я использую беспроводной 3G-сервис от Sprint.
решение1
Позвонить им и спросить?
Изветка на форумах OpenDNS(датировано февралем 2010 г.):
Сегодня я говорил со Sprint.
Вот что сказал мне парень, с которым я разговаривал по телефону.
«да, sprint перенаправляет DNS на порт 53» (разумеется, мы в opendns это знаем) «да, даже для статических аккаунтов»
По-видимому, существует обновление прошивки для вашего устройства Sprint, которое позволяет использовать OpenDNS, согласно связанной информации.PDF от Sprintв том же сообщении.
решение2
Есть разные способы проверить, использует ли ваш интернет-провайдер прозрачный DNS-прокси. Это зависит от того, как ваш интернет-провайдер это реализовал. Мой интернет-провайдер перенаправляет все запросы порта 53 на свой собственный рекурсивный DNS-сервер (хотя они не размещают рекламу на NXDOMAIN. Возможно, они используют его для ведения журнала или для предотвращения DNS-туннелирования). Я упомяну несколько общих способов обнаружения.
- Самый простой способ — использоватьNetalyzrприложение для Android илиИмя скамейкипрограммное обеспечение Windows от Google. Они сообщат вам, использует ли ваш провайдер DNS-прокси. Для этого вам не нужны никакие технические знания.
Выполните DNS-поиск на авторитетном сервере имен и проверьте, является ли ответ авторитетным. В этом примере я буду использовать
dig
. Вы также можете использоватьnslookup
too. Если ответ авторитетный, dig отобразитaa
флаг в ответе. Теперь a.ns.facebook.com является авторитетным NS fb.me. Если ваш интернет-провайдер перехватит и перенаправит запрос, вы не получите авторитетный ответ.dig @a.ns.facebook.com fb.me
(Левый не перехватывает DNS)
- указать IP-адрес, на котором не запущен DNS-сервер, как DNS-сервер при выполнении
dig
илиnslookup
. Вы все равно получите ответ, если ваш провайдер перехватит ваш запрос. В противном случае вы получитеTime Out
. (Правый перехватывает и перенаправляет запросы)
Используйте nmap на случайных IP-адресах. Вы всегда увидите порт 53 открытым, если ваш провайдер перенаправляет все запросы порта 53.
Измените настройки сети вашего компьютера и используйте Google Public DNS или OpenDNS или Cloudflare DNS IP (используйте один тип провайдера за раз). Затем перейдите наТест на утечку DNSвеб-сайт и уведомление, если появляются какие-либо другие поставщики.
Обойти этот перехват провайдера несложно. Вам нужно использоватьDNScrypt/DNS через TLS или используйте любой DNS-сервер, работающий на нестандартных портах (например, 5353 или 443). Во втором методе вам придется использовать маршрутизатор или брандмауэр компьютера для перенаправления исходящих DNS-запросов на эти порты. Подробное обсуждение этих методов выходит за рамки этой публикации.
решение3
Попробуйте засечь некоторые DNS-запросы, которые, по вашему мнению, идут к разным провайдерам, например OpenDNS и Google. Если они идентичны, то, должно быть, их принимает и обслуживает провайдер (неправильная логика, но это возможно). Один из способов сделать это — использоватьИмя скамейки, обычно используется для выбора лучшего DNS-сервера для вашего соединения.