MrPickles / dank-dns

The dankest DNS in all of D-Root
0 stars 0 forks source link

Dank DNS

Dank DNS is a DNS PCAP processing tool that will efficiently stream compressed PCAPs to be loaded into a database.

Components

The legacy implementation is located in cpp/. It contains the single threaded processor that does all processing in memory via the tool.

The proof of concept implementation is written in JavaScript and is in js/. It implements all of the optimizations in JavaScript and writes the DNS query data to MongoDB.

The improved C implementation is in multiC/. This code multiprocesses the loading of the DNS data into MongoDB. More details can be found in the README.md file in its specific folder.

Sample query scripts can be found in query/. This directory contains scripts to query MongoDB for queries per second (QPS), the top hosts, and top requests. Additional documentation can be found in the README.md file of the subdirectory.

Database Schema

The database will hold a collection of DNS queries. Specifically, each query will have the following schema:

For additional details about database interactions, see any documentation in the respective subdirectories.