Skip to content

fumiyas/dnsq-go

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

djbdns's dnsq(1) and dnsqr(1) clone implemented in Golang

What's this?

djbdns's dnsq(1) and dnsqr(1) clone implemented in Golang

  • dnsq
    • Sends a non-recursive DNS query to DNS contents server
  • dnsqr
    • Sends a recursive DNS query to DNS cache server
  • djbdns

Download

Binary files are here for Windows:

How to install

$ go install github.com/fumiyas/dnsq-go/cmd/dnsq@latest
$ go install github.com/fumiyas/dnsq-go/cmd/dnsqr@latest
$ ls ~/go/bin/dnsq*
...

How to build

How to build native binaries:

$ git clone https://github.com/fumiyas/dnsq-go.git
$ cd dnsq-go
$ make
...
$ ls build/bin
...

How to build Windows binaries on non-Windows environment (cross build):

$ GOOS=windows go build ./cmd/dnsq
$ GOOS=windows go build ./cmd/dnsqr
$ ls *.exe
...

or:

$ GOOS=windows GOARCH=386 go build ./cmd/dnsq
$ GOOS=windows GOARCH=386 go build ./cmd/dnsqr
$ ls *.exe
...

How to use

$ dnsq a www.google.com a.root-servers.net
$ dnsqr a www.osstech.co.jp
$ dnsqr a www.xvideos.com 8.8.8.8
$ dnsqr a www.xvideos.com your-full-service-resolver.example.jp

TODO

  • Add an option to enable/disable TCP, UDP, EDNS0 and so on.
  • Add an option to specify EDNS0 buffer size.
  • Support DNSSEC.