DNS Inspector
Введите домен и нажмите "Серверная" для проверки на 15 публичных DNS серверах.
Клиентская проверка
Введите домен и нажмите "Клиентская" для проверки DNS-over-HTTPS.
📖 Как работает инструмент
🖥️ Серверная проверка
Серверная проверка выполняется на стороне VPS хостинга, где размещён инструмент. PHP-скрипт использует утилиту dig для выполнения DNS-запросов к 15 независимым публичным DNS серверам.
Процесс проверки:
- Для указанного домена выполняется DNS-запрос типа A (IPv4 адрес) к каждому из 15 серверов
- Измеряется время ответа каждого DNS сервера
- Собираются все возвращённые IP адреса
- Проверяется, не возвращён ли домен на известные блокировочные IP (0.0.0.0, 127.0.0.1, IP провайдерских заглушек)
- Анализируются статусы ответов (SERVFAIL, NXDOMAIN)
- Сравниваются результаты между всеми серверами для выявления расхождений
Что обнаруживается:
- Подмена DNS (DNS Spoofing) — если разные DNS серверы возвращают разные IP адреса для одного домена, это указывает на подмену. Например, если Google DNS возвращает 142.250.185.78, а Yandex DNS возвращает 198.105.244.23 (блокировочный IP), значит есть вмешательство.
- Блокировка доменов — если домен зарезолвлен на IP блокировочной страницы провайдера (известные IP заглушек), значит домен заблокирован на уровне DNS
- NXDOMAIN инъекция — если существующий домен возвращается как несуществующий (NXDOMAIN) на некоторых серверах, но не на других
- SERVFAIL инъекция — если DNS сервер возвращает ошибку SERVFAIL вместо ответа, что может указывать на блокировку
- Перенаправление — если домен зарезолвлен на неожиданный IP, не соответствующий оригинальному
Преимущества: проверка выполняется с сервера, что позволяет обойти локальные ограничения клиента и получить объективную картину доступности домена из разных точек интернета.
🌐 Клиентская проверка
Клиентская проверка выполняется в браузере пользователя и использует технологию DNS-over-HTTPS (DoH) для получения реальных IP адресов доменов, минуя DNS провайдера клиента.
Что такое DNS-over-HTTPS:
Обычный DNS работает по протоколу UDP/TCP порт 53 без шифрования. Провайдер может перехватывать, подменять или блокировать DNS запросы. DoH шифрует DNS запросы внутри HTTPS трафика (порт 443), отправляя их напрямую к доверенным DNS серверам (Google, Cloudflare), минуя DNS провайдера.
Процесс проверки:
- Браузер клиента делает HTTPS запрос к Google DNS API:
https://dns.google/resolve?name=domain&type=A - Параллельно делается запрос к Cloudflare DNS API:
https://cloudflare-dns.com/dns-query - Полученные IP адреса сравниваются между собой (перекрёстная проверка DoH)
- Сервер выполняет свои DNS lookup'ы через 5 независимых DNS серверов (Google, Cloudflare, Quad9, Yandex, OpenDNS)
- Сравниваются DoH IP клиента с серверными lookup'ами
- Анализируются расхождения и формируются рекомендации
Что обнаруживается:
- Блокировка DoH провайдером — если DoH запросы не выполняются, значит провайдер блокирует DNS-over-HTTPS, что само по себе является индикатором цензуры
- Подмена DNS на уровне провайдера — если DoH IP (реальный) отличается от обычного DNS IP клиента, значит провайдер подменяет DNS
- Глобальная подмена — если даже серверные lookup'ы (с VPS) возвращают другие IP, значит подмена происходит на более высоком уровне
- CDN и геолокация — разные IP от разных DNS серверов могут быть нормой для CDN (Content Delivery Network), инструмент это учитывает
Преимущества: проверка выполняется от имени клиента, что позволяет обнаружить локальные проблемы с DNS, блокировки на уровне провайдера и оценить реальную доступность доменов для пользователя.
🛡️ Проверяемые DNS серверы
⚙️ Требования к серверу
- PHP 8.0+ с функцией exec()
- Установленный dig (пакет dnsutils или bind-utils)
- Доступ к интернету с сервера
- Веб-сервер (Nginx/Apache) с поддержкой PHP