Skip to content

Instantly share code, notes, and snippets.

@bboozzoo
Created September 19, 2016 18:13
Show Gist options
  • Save bboozzoo/3e985673f8a7dfde341ef617227a2b0a to your computer and use it in GitHub Desktop.
Save bboozzoo/3e985673f8a7dfde341ef617227a2b0a to your computer and use it in GitHub Desktop.
DNS test
package main
import (
"flag"
"fmt"
"log"
"net"
"os"
"path/filepath"
"time"
)
func main() {
sleep := flag.String("wait", "1s", "wait time between attempts")
flag.Parse()
rest := flag.Args()
if len(rest) == 0 {
fmt.Printf("usage: %s <host>\n", filepath.Base(os.Args[0]))
return
}
host := rest[0]
sleepTime, err := time.ParseDuration(*sleep)
if err != nil {
fmt.Printf("cannot parse duration: %v\n", err)
return
}
for {
addrs, err := net.LookupHost(host)
if err != nil {
log.Printf("failed: %v\n", err)
} else {
log.Printf("resolved: %v\n", addrs)
}
time.Sleep(sleepTime)
}
}
@bboozzoo
Copy link
Author

go build dnstest.go
GODEBUG=netdns=cgo+2 ./dnstest -wait 0.5s google.com

https://asciinema.org/a/9mxxvwdweipbty7t9v8ui4k0w

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment