Skip to content

Latest commit

 

History

History
85 lines (65 loc) · 2 KB

README.md

File metadata and controls

85 lines (65 loc) · 2 KB

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.