Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

ЛентыКонтактыКонфиденциальность© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
dnsdiag — Набор инструментов для измерения DNS, устранения неполадок и аудита безопасности | Kitploit
Инструменты/GitHubGitHub/farrokhi/dnsdiag
РазведкаКартирование сетиАнализ уязвимостейСбор информацииСетевая безопасностьАнализ DNSТоп в Анализ DNS №1
GitHubfarrokhi/dnsdiag

dnsdiag

Набор инструментов для измерения DNS, устранения неполадок и аудита безопасности

1.1k111537 дней назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
Репозиторий
Сайт

PyPI PyPI Downloads Downloads PyPI Docker Pulls GitHub stars

Набор инструментов для измерения, диагностики и аудита безопасности DNS

Вы когда-нибудь задумывались, не перехватывает ли ваш провайдер DNS-трафик? Замечали ли вы необычное поведение в ответах DNS или перенаправление на неверный адрес и подозревали, что с вашим DNS что-то не так? Мы предлагаем набор инструментов для базового аудита ваших DNS-запросов и ответов, помогающий убедиться, что DNS работает должным образом.

С помощью dnsping вы можете измерить время отклика любого DNS-сервера для произвольных запросов. Подобно обычной утилите ping, dnsping предоставляет аналогичную функциональность для DNS-запросов, помогая отслеживать отзывчивость сервера.

Вы также можете отследить маршрут вашего DNS-запроса до пункта назначения с помощью dnstraceroute, убедившись, что он не перенаправляется и не перехватывается. Сравнивая DNS-запросы, отправленные на один и тот же сервер, dnstraceroute позволяет наблюдать различия в путях прохождения, предупреждая о возможных проблемах.

dnseval оценивает несколько DNS-резолверов, помогая выбрать лучший DNS-резолвер для вашей сети. Хотя использование собственного DNS-резолвера рекомендуется, чтобы избежать зависимости от сторонних DNS-резолверов, dnseval может помочь в выборе оптимального DNS-резолвера при необходимости. Он позволяет сравнивать DNS-серверы по производительности (задержке) и надёжности (потере пакетов), предоставляя полную картину для принятия обоснованных решений.

Установка

Существует несколько способов использования этого набора инструментов, хотя мы рекомендуем запускать его непосредственно из исходного кода для оптимальной гибкости и контроля. Запуск из исходного кода или установка через pip требует Python 3.11 или новее.

Исходный код

  1. Клонируйте git-репозиторий и установите зависимости:
git clone https://github.com/farrokhi/dnsdiag.git
cd dnsdiag
pip3 install -r requirements.txt
  1. В качестве альтернативы вы можете установить пакет с помощью pip:
pip3 install dnsdiag

Использование uv (рекомендуется)

uv — это быстрый менеджер пакетов Python, который может запускать инструменты напрямую без установки:

# Запуск dnsping напрямую без установки
uvx --from dnsdiag dnsping google.com

# Запуск с определёнными параметрами
uvx --from dnsdiag dnsping -c 5 --tls -s 8.8.8.8 example.com

# Запуск dnstraceroute
uvx --from dnsdiag dnstraceroute cloudflare.com

# Запуск dnseval
uvx --from dnsdiag dnseval -f public-servers.txt github.com

Для постоянной установки dnsdiag:

# Установка инструментов dnsdiag
uv tool install dnsdiag

# Обновление до последней версии
uv tool upgrade dnsdiag

Бинарный пакет

Время от времени выпускаются бинарные пакеты для Windows, Mac OS X и Linux. Вы можете скачать последний релиз со страницы релизов.

Поддерживаемые платформы

Готовые бинарные файлы доступны для:

  • Linux (x86_64, ARM64)
  • macOS (Intel, Apple Silicon)
  • Windows (x86_64)

Windows ARM64 в настоящее время не поддерживается из-за зависимостей сборки, требующих нативных инструментальных цепочек компиляции, которые не всегда доступны. Если вы используете Windows на ARM, вы можете запускать dnsdiag с помощью подсистемы Windows для Linux (WSL2) или установить напрямую из исходного кода.

Docker

Если вы предпочитаете не устанавливать dnsdiag на свою локальную машину, вы можете использовать образ Docker для запуска инструментов в контейнеризованной среде. Например:

docker run --network host -it --rm farrokhi/dnsdiag dnsping.py

dnsping

dnsping позволяет «пинговать» DNS-резолвер, отправляя произвольный DNS-запрос несколько раз. Для полного списка поддерживаемых параметров командной строки используйте --help. Вот несколько ключевых флагов:

  • Используйте --tcp, --tls, --doh, --quic или --http3 для выбора транспортного протокола (по умолчанию UDP). Эти параметры взаимоисключающие; в одной команде можно указать только один протокол.
  • Используйте --flags для отображения флагов ответа, включая флаги EDNS, для каждого ответа.
  • Используйте --dnssec для запроса валидации DNSSEC, если она доступна.
  • Расширенные сообщения об ошибках DNS (RFC 8914) отображаются автоматически при наличии.
  • Используйте --nsid для отображения идентификатора сервера имён (NSID), если он доступен (RFC 5001).
  • Используйте --ecs для включения информации EDNS Client Subnet для оптимизации географической маршрутизации.
  • Используйте --cookie для отображения DNS-куки (RFC 7873), когда они присутствуют в ответах.
./dnsping.py -c 5 --dnssec --flags --tls -t AAAA -s 8.8.8.8 brokendnssec.net
dnsping.py DNS: 8.8.8.8:853, hostname: brokendnssec.net, proto: TLS, class: IN, type: AAAA, flags: [RD]
75  bytes from 8.8.8.8: seq=1   time=73.703 ms  SERVFAIL [QR RD RA -- DO] [EDE:10("For brokendnssec.net/soa")]
75  bytes from 8.8.8.8: seq=2   time=69.523 ms  SERVFAIL [QR RD RA -- DO] [EDE:10("For brokendnssec.net/soa")]
75  bytes from 8.8.8.8: seq=3   time=58.058 ms  SERVFAIL [QR RD RA -- DO] [EDE:10("For brokendnssec.net/soa")]
75  bytes from 8.8.8.8: seq=4   time=54.235 ms  SERVFAIL [QR RD RA -- DO] [EDE:10("For brokendnssec.net/soa")]
75  bytes from 8.8.8.8: seq=5   time=57.806 ms  SERVFAIL [QR RD RA -- DO] [EDE:10("For brokendnssec.net/soa")]

--- 8.8.8.8 dnsping statistics ---
5 requests transmitted, 5 responses received, 0% lost
min=54.235 ms, avg=22.665 ms, max=69.523 ms, stddev=38.202 ms

dnsping также предоставляет статистику, такую как минимальное, максимальное и среднее время отклика, а также джиттер (стандартное отклонение) и потерю пакетов.

Вот несколько интересных вариантов использования dnsping:

  • Сравнение времени отклика для разных транспортных протоколов (например, UDP и DoH).
  • Оценка надёжности вашего DNS-сервера путём измерения джиттера и потери пакетов.
  • Измерение времени отклика с включённым DNSSEC с помощью флага --dnssec.
  • Тестирование поведения EDNS Client Subnet для ответов с учётом геолокации:
./dnsping.py -c 3 --ecs 203.0.113.0/24 -s 94.140.14.14 google.com
dnsping.py DNS: 94.140.14.14:53, hostname: google.com, proto: UDP, class: IN, type: A, flags: [RD]
66  bytes from 94.140.14.14: seq=1   time=31.407 ms  NOERROR [ECS:203.0.113.0/24/24]
66  bytes from 94.140.14.14: seq=2   time=29.156 ms  NOERROR [ECS:203.0.113.0/24/24]
66  bytes from 94.140.14.14: seq=3   time=30.892 ms  NOERROR [ECS:203.0.113.0/24/24]

--- 94.140.14.14 dnsping statistics ---
3 requests transmitted, 3 responses received, 0% lost
min=29.156 ms, avg=30.485 ms, max=31.407 ms, stddev=1.176 ms
  • Идентификация DNS-серверов с помощью опции NSID:
./dnsping.py -c 2 --nsid -s 8.8.8.8 google.com
Скачать инструмент