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.1k111371 месяц назадПроверено 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-серверы на основе производительности (задержки) и надежности (потери пакетов), предоставляя всестороннее представление для принятия обоснованных решений.

Установка

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

Исходный код

  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 Subsystem for 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 vs 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
Скачать инструмент