Skip to content

taciomcosta/dnsbyo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dnsbyo

Motivation

dnsbyo is a personal learning project to understand how DNS Servers work under the hood. You will find other repositories suffixed with byo, which references Build your Own X.

I've created this series of small projects to experiement a new way of learning new things, by building a prototype of everything I wish to learn.

I intend to follow most part of this roadmap. So there will probably be a 'byo' project for many of the boxes presented on that roadmap.

Try it

Open a terminal window and run:

make

The server is now running on port 8090.

amazon.com and google.com are the hostnames available for querying. Try adding other records to records.json

Open a second terminal window to run:

> nslookup -port=8090 google.com localhost

Server:         localhost
Address:        ::1#8090 
                          
Name:   google.com        
Address: 216.58.196.142   
Name:   google.com        
Address: 216.58.196.142   

TODO

  • Implement basic A type queries
  • Handle unregistered names
  • Add gopacket dependency
  • Easily add new names
  • Support reverse lookup
  • Support zone files
  • Support recursive resolution

About

Personal DNS Server Learning Project

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published