Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 

Repository files navigation

Кэширующий DNS сервер

Реализация DNS-сервера с поддержкой кэширования и обработкой различных типов записей.

Возможности

  • Прослушивание UDP порта 53
  • Поддержка типов DNS-записей:
    • A
    • AAAA
    • NS
    • PTR
  • Кэширование DNS-записей с учетом TTL
  • Сохранение кэша между перезапусками
  • Автоматическая очистка устаревших записей
  • Мониторинг кэша в реальном времени

Требования

  • Права администратора (для использования порта 53)

Установка

  1. Клонируйте репозиторий:
git clone https://github.com/Legionary-stack/CacheDNS.git
cd dns-cache-server
  1. Запустите сервер:
sudo python DNS_server.py

Использование

После запуска сервер начнет прослушивать DNS-запросы. Для тестирования можно использовать утилиту dig или nslookup:

# A запись (IPv4)
dig A google.com @127.0.0.1
nslookup -type=A google.com 127.0.0.1

# AAAA запись (IPv6)
dig AAAA google.com @127.0.0.1
nslookup -type=AAAA google.com 127.0.0.1

# NS запись (nameserver)
dig NS google.com @127.0.0.1
nslookup -type=NS google.com 127.0.0.1

# PTR запись (обратное разрешение IP)
dig -x 8.8.8.8 @127.0.0.1
nslookup -type=PTR 8.8.8.8.in-addr.arpa 127.0.0.1

Пример вывода

Текущее содержимое кэша:
============================================================

Записи типа A:
----------------------------------------
Домен: google.com
Данные: 216.58.210.174
Истекает: 2025-05-09 01:09:09
Секция: answers
----------------------------------------

Записи типа AAAA:
----------------------------------------
Домен: google.com
Данные: 2a00:1450:4026:805::200e
Истекает: 2025-05-09 01:09:16
Секция: answers
----------------------------------------

Записи типа NS:
----------------------------------------
Домен: google.com
Данные: ns2.google.com
Истекает: 2025-05-09 07:04:21
Секция: answers
----------------------------------------

Записи типа PTR:
----------------------------------------
Домен: 8.8.8.8.in-addr.arpa
Данные: dns.google
Истекает: 2025-05-09 01:45:15
Секция: answers
----------------------------------------

Автор

Банников Максим КН-203

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors