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

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

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

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

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

Категории

Все категории
Loading categories
retryabledns — DNS-клиент на Go с повторными попытками | Kitploit
Инструменты/GitHubGitHub/projectdiscovery/retryabledns
РазведкаПеречисление DNS и поддоменовСбор информацииСетевая безопасностьУтилиты и фреймворкиАнализ DNS
GitHubprojectdiscovery/retryabledns

retryabledns

DNS-клиент на Go с повторными попытками

Репозиторий
136303 месяцев назадПроверено Kitploit

Популярное

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

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

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

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

Смотреть все инструменты →
Поделиться

DNS-резолвер с повторными попытками

Основан на miekg/dns и вдохновлён bogdanovich/dns_resolver.

Возможности

  • Поддерживает как системные DNS-резолверы по умолчанию, так и заданные пользователем
  • Повторяет DNS-запросы при ошибках ввода-вывода, тайм-аутах или сетевых сбоях
  • Поддерживает произвольные типы запросов
  • Разрешение имён с помощью случайных резолверов
  • Совместим с различными протоколами DNS-резолверов (TCP, UDP, DoH и DoT)

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

root@kitploit:~
$ go get github.com/projectdiscovery/retryabledns

После этой команды исходный код библиотеки retryabledns будет в вашем $GOPATH

Обработка файла /etc/hosts

По умолчанию библиотека обрабатывает файл /etc/hosts в пределах максимального количества строк для эффективности (4096). Если в вашей конфигурации файл hosts больше и вы хотите обрабатывать больше строк, вы можете легко настроить этот предел, изменив переменную hostsfile.MaxLines.

Например:

root@kitploit:~
hostsfile.MaxLines = 10000  // Now the library will process up to 10000 lines from the hosts file

Пример

Пример использования:

root@kitploit:~
package main

import (
    "log"

    "github.com/projectdiscovery/retryabledns"
    "github.com/miekg/dns"
)

func main() {
    // It requires a list of resolvers.
    // Valid protocols are "udp", "tcp", "doh", "dot". Default are "udp".
    resolvers := []string{"8.8.8.8:53", "8.8.4.4:53", "tcp:1.1.1.1"}
    retries := 2
    hostname := "hackerone.com"

    dnsClient, err := retryabledns.New(resolvers, retries)
    if err != nil {
        log.Fatal(err)
    }

    ips, err := dnsClient.Resolve(hostname)
    if err != nil {
        log.Fatal(err)
    }

    log.Println(ips)

    // Query Types: dns.TypeA, dns.TypeNS, dns.TypeCNAME, dns.TypeSOA, dns.TypePTR, dns.TypeMX, dns.TypeANY
    // dns.TypeTXT, dns.TypeAAAA, dns.TypeSRV (from github.com/miekg/dns)
    // retryabledns.ErrRetriesExceeded will be returned if a result isn't returned in max retries
    dnsResponses, err := dnsClient.Query(hostname, dns.TypeA)
    if err != nil {
        log.Fatal(err)
    }

    log.Println(dnsResponses)
}

Благодарности:

  • https://github.com/lixiangzhong/dnsutil
  • https://github.com/rs/dnstrace
Скачать инструмент