Skip to content

Simple dns resolver in Go based on miekg/dns.

License

Notifications You must be signed in to change notification settings

securityguy/dns_resolver

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Simple dns resolver implemented in go

Go Walker

Forked from bogdanovich/dns_resolver to add IPv6 lookup

Based on based on miekg/dns.

Features

  • Uses provided dns servers array in random order
  • Retries dns requests in case of i/o timeout
  • IPv4 and IPv6

Installing

Using go get

$ go get github.com/securityguy/dns_resolver

After this command dns_resolver is ready to use. Its source will be in:

$GOPATH/src/github.com/securityguy/dns_resolver

Example

package main

import (
	"log"
	"github.com/securityguy/dns_resolver"
)

func main() {
	resolver := dns_resolver.New([]string{"8.8.8.8", "8.8.4.4"})
	// OR
	// resolver := dns_resolver.NewFromResolvConf("resolv.conf")

	// In case of i/o timeout
	resolver.RetryTimes = 5

	ip, err := resolver.LookupHost("google.com")
	if err != nil {
		log.Fatal(err.Error())
	}
	log.Println(ip)

    ip, err := resolver.LookupHost6("google.com")
    if err != nil {
        log.Fatal(err.Error())
    }
    log.Println(ip)
}

About

Simple dns resolver in Go based on miekg/dns.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 100.0%