# DNS server in Rust for learning and fun purposes ## RFCs * [rfc1034](https://datatracker.ietf.org/doc/html/rfc1034) DOMAIN NAMES - CONCEPTS AND FACILITIES * [rfc1035](https://datatracker.ietf.org/doc/html/rfc1035) DOMAIN NAMES - IMPLEMENTATION AND SPECIFICATION * [rfc1101](https://datatracker.ietf.org/doc/html/rfc1101) DNS Encoding of Network Names and Other Types * [rfc6895](https://datatracker.ietf.org/doc/html/rfc6895) Domain Name System (DNS) IANA Considerations ## Testing [dig](https://linux.die.net/man/1/dig) is an excellent tool to dig deeper into the world of DNS queries. You can set queryopts at the end of the commandline starting with +. For example to set specific flags in the query one could write something like this: ``` # setting RA and RC flag but no RD flag dig @127.0.0.1 -p 13337 git.comff.net A +retry=0 +nordflag +raflag +tcflag # force using TLS (TCP port 853) dig @127.0.0.1 -p 13337 git.comff.net A +retry=0 +tls # force using TCP (TCP port 53) dig @127.0.0.1 -p 13337 git.comff.net A +retry=0 +tcp ```