diff --git a/README.md b/README.md index f611fc7..532ceb5 100644 --- a/README.md +++ b/README.md @@ -3,16 +3,19 @@ # Simple DNS resolver in Rust -This repository contains a simple DNS resolver written in Rust. It listens on port 2053 (standard DNS port) and forwards queries to a recursive resolver. - +This repository contains a simple DNS resolver written in Rust. # Prerequisites 1. Rust (stable version recommended) - (```rustc```) 2. Cargo package manager - (```cargo```) -# Installation +# Run 1. Clone this repository: ```git clone https://github.com/bitsexplained/dns.git``` 2. Navigate to the repository directory: ```cd dns``` - 3. Install dependencies: ```cargo build``` + 3. Run the server: ```cargo run``` + 4. We will use the ```dig``` command to gather dns info + - run the following command on another terminal window ```dig @127.0.0.1 -p 2053 www.google.com``` + - The following screeshot shows well formatted dns information + Screenshot 2024-01-09 at 18 20 14 # Additional notes: 1. The server listens on port 2053 by default for incoming DNS queries. @@ -20,12 +23,15 @@ This repository contains a simple DNS resolver written in Rust. It listens on po 3. The code uses the ```dns``` crate for parsing and generating DNS packets. 4. The ```utils``` crate provides some utility functions used by the server. 5. The ```buffer``` crate provides a buffer abstraction for handling byte data. + # Further development: -1. The server can be extended to support additional DNS record types. -2. The server can be configured to use specific DNS servers for lookups. -3. You can add logging and monitoring capabilities to the server. +1. Package the codebase and publish as a crate on crates.io(Currently ongoing) +2. Expand the server's capabilities to accommodate additional DNS record types. +3. The server can be configured to use specific DNS servers for lookups. +4. Introduce logging and monitoring functionalities for enhanced observability and troubleshooting. + # Disclaimer: