https://implement-dns.wizardzines.com/ [ ] Implement DNS in a weekend * Ways to use this guide * Part 1: Build a DNS query * Part 2: Parse the response * Part 3: Implement our resolver * Exercises Implement DNS in a weekendP Hello! Our goal here is to implement a toy DNS resolver. What's a DNS resolver? It's a program that knows how to figure out what the IP address for a domain is. Here's what the command line interface of the resolver we're going to write looks like: $ python3 resolve.py example.com 93.184.216.34 The whole thing is about 200 lines of Python, including implementing all of the binary DNS parsing from scratch. This project is a fun way to learn: * How to parse a binary network protocol like DNS * How DNS works under the hood (what's happening behind the scenes when you make a DNS query?) There are also some bonus exercises if you want to implement a few more of the features a real DNS resolver would have. Everything is in a Jupyter notebook, which you can download and run. You can download all the code here: Download the code Ways to use this guide By Julia Evans. A Wizard Zines project.