https://github.com/ghvstcode/dns
DNS FROM SCRATCH
https://github.com/ghvstcode/dns
Last synced: 10 months ago
JSON representation
DNS FROM SCRATCH
- Host: GitHub
- URL: https://github.com/ghvstcode/dns
- Owner: Ghvstcode
- Created: 2022-10-29T14:35:53.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2022-12-04T19:57:36.000Z (about 3 years ago)
- Last Synced: 2025-01-26T09:28:59.663Z (about 1 year ago)
- Language: Go
- Size: 14.6 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## Notes
* The aim of this project was to gain more practical knowledge on the inner workings of the Domain Name System — I wanted to refresh the knowledge I have of the DNS protocol and understand some new concepts relating to DNS.
* The first step in this journey was reading the [RFC]( https://datatracker.ietf.org/doc/html/rfc7858). It is relatively easy to read and contains diagrams which can help one think about some of the various DNS constructs.
* I intended for this to be a full on DNS server similar to this but unfortunately, I had to stop at this point.
* At this point, This project simply accepts a response packet that looks like this
```bash
00000000 a2 7e 81 80 00 01 00 01 00 00 00 00 06 67 6f 6f |.~...........goo|
00000010 67 6c 65 03 63 6f 6d 00 00 01 00 01 c0 0c 00 01 |gle.com.........|
00000020 00 01 00 00 00 61 00 04 d8 3a df ce |.....a...:..|
0000002c
```
& it parses it to look give the following JSON encoded response.
* While writting this I spent a lot of time perusing this [awesome package](https://github.com/miekg/dns). You should definietly take a look if youre doing any DNS related work in Go.
* This project is still actively in progress