Learn about the DNS protocol, record types, recursive resolve, forwarding servers and more.
In this challenge, you'll build a DNS server that's capable of parsing and creating DNS packets, responding to DNS queries, handling various record types and doing recursive resolve. Along the way we'll learn about the DNS protocol, DNS packet format, root servers, authoritative servers, forwarding servers, various record types (A, AAAA, CNAME, etc) and more.
In this stage, we'll start a UDP server on port 2053.
In this stage, we'll write a DNS packet's header contents