DNS-Cheater
DNS-сервер, Domain Name Server, сервер доменных имён, используется для коммуникации в интернете на основе IP. Однако IP-адреса длинные, плохо запоминаются и имеют неприятный вид. Поэтому были созданы доменные имена для решения проблемы с трудностью написания и запоминания IP-адресов. Например, запомнить g.cn гораздо проще, чем 203.208.50.127.
С появлением доменных имён появилась возможность распределённой системы на самом верхнем уровне. Одно доменное имя может соответствовать нескольким IP-адресам. Например:
-
CDN (Content Delivery Network) — на основе региона исходного IP-адреса определяется IP-адрес сервера ответа.
-
Оптимизация линий связи — на основе исходной линии связи (например, от операторов связи «Связь», «Мобильные ТелеСистемы» или «Ростелеком») определяется оптимальный IP-адрес сервера.
Более распространённым является использование циклического перебора или других правил для предоставления IP-адреса ответа для обеспечения балансировки нагрузки на самом высоком уровне.
Этот проект представляет собой DNS-сервер с широким функционалом, который можно настроить через веб-интерфейс управления. Он позволяет достичь следующих целей:
-
Базовый DNS-сервер: этот сервер использует вышестоящий DNS-сервер для разрешения доменных имён вне правил. Благодаря кешированию общий доступ к данным, он эффективно ускоряет разрешение доменных имён.
-
Поддержка DNS для корпоративных облаков: реализация разрешения внутренних доменных имён, имитация CDN и балансировка нагрузки на уровне доменов.
-
Контроль поведения в сети: блокирование доступа к веб-сайтам путём перенаправления IP-адресов указанных доменов на недоступные или неправильные адреса, такие как 127.0.0.1.
-
Управление пропускной способностью внутри сети: перенаправление IP-адресов определённых доменов на HTTP-прокси-серверы с кешем для оптимизации использования полосы пропускания.
Запуск
- Проверьте и настройте файл конфигурации application.properties. Создайте необходимые учётные данные или используйте существующие базы данных с помощью скрипта tables.sql.
- В файле конфигурации dns.upstream.server.address укажите адрес вышестоящего DNS-сервера, чтобы обеспечить рекурсивное разрешение для этого DNS-сервера при работе с доменами, не соответствующими локальным правилам.
- Соберите проект с помощью команды mvn package и запустите его с помощью java -jar original-dns-cheater-1.0-SNAPSHOT.jar.
- Или запустите основной класс программы DNSCheaterAPP непосредственно из среды разработки.
- После запуска вы можете войти в веб-консоль управления по умолчанию на http://localhost (если вы работаете на локальном компьютере).
- В таблицах.sql уже есть учётная запись администратора с именем пользователя admin и паролем 123456 для доступа к консоли управления.
Использование инструмента тестирования nslookup
- Откройте командную строку или запустите cmd.
- Введите nslookup, чтобы перейти в среду взаимодействия командной строки инструмента тестирования DNS.
- Введите server {мой IP}, чтобы установить DNS-сервер на IP-адрес вашего хоста.
- Введите www.baidu.com, чтобы проверить ответный IP-адрес. В это время вы также можете увидеть статистику запросов в реальном времени в консоли управления веб-сайта.
Скриншоты интерфейса
Мониторинг в реальном времени
Управление записями DNS
Создание новых правил разрешения

Комментарии ( 0 )