Multi Stage DNS Resolving System

  • Tech Stack: C++, Socket Programming
  • Github URL: Project Link

Implemented three C++ programs, namely Client, Proxy Server (which will act both as client and server) and DNS Server, which communicate with each other based on TCP sockets.

The other two files are “database.txt” and “cache.txt”. The first file contains the mapping of DNS to IP in the server while the later is used by the proxy to maintain the same mappings, although the size of the cache is capped to 3