Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
retryabledns — Retryable DNS client in Go | Kitploit
도구/GitHubGitHub/projectdiscovery/retryabledns
ReconnaissanceDNS & Subdomain EnumerationInformation GatheringNetwork SecurityUtilities & FrameworksDNS Analysis
GitHubprojectdiscovery/retryabledns

retryabledns

Retryable DNS client in Go

저장소 보기
136303개월 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

재시도 가능한 DNS 리졸버

miekg/dns를 기반으로 하고 bogdanovich/dns_resolver에서 자유롭게 영감을 받았습니다.

기능

  • 시스템 기본 DNS 리졸버와 사용자 제공 리졸버를 모두 지원합니다
  • I/O 오류, 시간 초과 또는 네트워크 실패 시 DNS 요청을 재시도합니다
  • 임의의 쿼리 유형을 허용합니다
  • 무작위 리졸버를 사용한 해결
  • 다양한 DNS 리졸버 프로토콜(TCP, UDP, DoH, DoT)과 호환됩니다

go get 사용하기

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

이 명령을 실행하면 retryabledns 라이브러리 소스가 $GOPATH에 위치합니다.

/etc/hosts 파일 처리

기본적으로 라이브러리는 효율성을 위해 최대 4096줄까지 /etc/hosts 파일을 처리합니다. 설정에 더 큰 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
도구 다운로드