Skip to content

Instantly share code, notes, and snippets.

@darron
Created January 22, 2016 16:02
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save darron/e912ad6ffde376cb05bf to your computer and use it in GitHub Desktop.
Save darron/e912ad6ffde376cb05bf to your computer and use it in GitHub Desktop.
package main
import (
"fmt"
"github.com/miekg/dns"
"log"
"net"
"os"
)
func main() {
config, _ := dns.ClientConfigFromFile("/etc/resolv.conf")
c := new(dns.Client)
m := new(dns.Msg)
m.SetQuestion(dns.Fqdn(os.Args[1]), dns.TypeA)
m.RecursionDesired = true
r, rtt, err := c.Exchange(m, net.JoinHostPort(config.Servers[0], config.Port))
if r == nil {
log.Fatalf("*** error: %s\n", err.Error())
}
if r.Rcode != dns.RcodeSuccess {
log.Fatalf(" *** invalid answer name %s after A query for %s\n", os.Args[1], os.Args[1])
}
// Stuff must be in the answer section
for _, a := range r.Answer {
fmt.Printf("%v in Rtt: %s\n", a, rtt)
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment