Как я могу узнать, перенаправляет ли мой интернет-провайдер мои DNS-запросы?
Я пытался использовать некоторые службы DNS, такие как OpenDNS, и независимо от того, что я делаю, запросы DNS не возвращают ожидаемых результатов. Наблюдая за трафиком пакетов на моем брандмауэре, я вижу, что запросы направляются на адрес предполагаемого DNS-сервера, а ответы возвращаются, но результаты не соответствуют ожидаемым, например, тестовая страница OpenDNS всегда дает сбой, даже если запросы выглядят как собираюсь на свои серверы.
Я подозреваю, что мой провайдер перехватывает DNS-запросы и отправляет их на свои собственные серверы. Есть ли способ проверить это? Есть что-то еще, что я мог бы упустить? Я пользуюсь беспроводным сервисом 3G от Sprint.
3 ответа
Позвонить им и спросить?
Из ветки на форумах OpenDNS (от февраля 2010 г.):
я говорил со спринтом сегодня.
вот что сказал мне парень, с которым я говорил по телефону.
"да, sprint перенаправляет DNS на порт 53" (очевидно, мы, в opendns, знаем это) "да, даже для статических учетных записей"
Очевидно, может быть обновление микропрограммы для вашего устройства Sprint, которое позволяет использовать OpenDNS, согласно связанному PDF из Sprint в том же сообщении.
Есть разные способы проверить, использует ли ваш провайдер прозрачный DNS-прокси. Это зависит от того, как ваш провайдер реализовал это. Мой провайдер перенаправляет все запросы порта 53 на свой собственный рекурсивный DNS-сервер (хотя они не подают рекламу на NXDOMAIN. Возможно, они используют его для регистрации или предотвращения туннелирования DNS). Я упомяну некоторые общие способы обнаружения.
- Самый простой способ - использовать Android-приложение Netalyzr или программу Windows Namebench от Google. Они сообщат вам, если ваш провайдер использует прокси-сервер DNS. Вам не нужны никакие технические знания для этого.
Выполните поиск DNS для авторитетного сервера имен и проверьте, является ли ответ заслуживающим доверия. Для этого примера я буду использовать
dig
, Вы также можете использоватьnslookup
тоже. Если ответ является достоверным, 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.
Измените настройки сети вашего компьютера и используйте общедоступный DNS-сервер Google или OpenDNS или IP-адрес Cloudflare DNS (используйте один тип провайдера за раз). Затем перейдите на веб- сайт Dns Leak Test и узнайте, появляются ли другие поставщики.
Обойти этого интернет-провайдера не сложно. Вам нужно использовать DNScrypt / DNS поверх TLS или любой DNS-сервер, который работает на нестандартных портах (например, 5353 или 443). Во втором методе вы должны использовать маршрутизатор или брандмауэр компьютера для перенаправления исходящих DNS-запросов на эти порты. Детальное обсуждение этих методов выходит за рамки данного поста.
Попробуйте синхронизировать некоторые DNS-запросы, которые, по вашему мнению, отправляются различным поставщикам, таким как OpenDNS и Google. Если они идентичны, их должен подбирать и обслуживать провайдер (ошибочная логика, но возможная). Один из способов сделать это - использовать Namebench, обычно используемый для выбора лучшего DNS-сервера для вашего соединения.