21 lines
1.0 KiB
Markdown
21 lines
1.0 KiB
Markdown
# 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
|
|
```
|