DNS server in Rust for learning and fun purposes
src | ||
.gitignore | ||
Cargo.lock | ||
Cargo.toml | ||
dig_query.sh | ||
README.md | ||
udp_sender.py |
DNS server in Rust for learning and fun purposes
RFCs
- rfc1034 DOMAIN NAMES - CONCEPTS AND FACILITIES
- rfc1035 DOMAIN NAMES - IMPLEMENTATION AND SPECIFICATION
- rfc1101 DNS Encoding of Network Names and Other Types
- rfc6895 Domain Name System (DNS) IANA Considerations
Testing
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