2023-10-25 11:39:56 -04:00
|
|
|
# Insane_DNS
|
|
|
|
|
2023-10-27 16:07:35 -04:00
|
|
|
## 4P14 Lab Exercise 2
|
|
|
|
|
|
|
|
- Brett Terpstra 6920201
|
|
|
|
- Michael Boulos 6973523
|
|
|
|
- Adrian Pinu 6970677
|
|
|
|
|
|
|
|
### Building And Running
|
|
|
|
Linux is required. <br>
|
|
|
|
Compiler support: GCC 8.5+
|
|
|
|
(This program compiles and runs on sandcastle)
|
|
|
|
```
|
|
|
|
git clone https://git.tpgc.me/tri11paragon/Insane_DNS
|
|
|
|
cd Insane_DNS
|
|
|
|
mkdir build && cd build
|
|
|
|
cmake ../
|
|
|
|
make -j 16
|
|
|
|
./insane_dns
|
|
|
|
```
|
|
|
|
All options are set at compile time in the main.cpp file.
|
|
|
|
|
|
|
|
### Features
|
|
|
|
I added TCP support alongside UDP to natively support `dig ANY`<br>
|
|
|
|
I would've basically implemented a full DNS server if it would've gotten me anything :3 <br>
|
|
|
|
|
|
|
|
There are no compiler warnings or runtime errors on GCC 12 and only a single warning on GCC 8.5
|
|
|
|
|
|
|
|
### Testing
|
|
|
|
All the following have been tested and confirmed working. <br>
|
|
|
|
`dig @localhost -p 5555 zombo.com ANY` <br>
|
|
|
|
`dig @localhost -p 5555 zombo.com` <br>
|
|
|
|
`dig @localhost -p 5555 tpgc.me` <br>
|
|
|
|
`dig @localhost -p 5555 google.ca` <br>
|
|
|
|
`dig @localhost -p 5555 google.ca ANY` <br>
|
|
|
|
`dig @localhost -p 5555 tpgc.me ANY` <br>
|
|
|
|
`dig @localhost -p 5555 en.wikipedia.org` <br>
|
|
|
|
`dig @localhost -p 5555 en.wikipedia.org ANY` <br>
|