Crate dns_resolver

Source
Expand description

§dns-resolver

Use Tor to make a DNS over TCP request for a hostname, and get IP addresses back

§Intro

This is a project intended to illustrate how Arti can be used to tunnel arbitrary TCP traffic. Here, a DNS client implementation has been hand crafted to illustrate custom made protocols being able to be used seamlessly over Tor

§Usage

Simply run the program: cargo run <hostname-to-look-up>

The program will then attempt to create a new Tor connection, craft the DNS query, and send it to a DNS server (right now, Cloudflare’s 1.1.1.1)

The response is then decoded into a struct and pretty printed to the user

§Note on DNS

The DNS implementation showcased is not really meant for production. It is just a quick series of hacks to show you how, if you do have a very custom protocol that you need tunnelled over Tor, to use that protocol with Arti. For actually tunneling DNS requests over Tor, it is recommended to use a more tried-and-tested crate.

For more information on DNS, you can read RFC 1035 or this educational guide

Modules§

dns 🔒
Houses the DNS-specifc code, including the structs that we pack the bytes into and suitable traits and implementations to convert to and from bytes and structs

Functions§

main 🔒