This project doesn't support IPv6.
- Open terminal in the root folder of the project and type command
$make
-
dns_receiver {BASE_HOST} {DST_DIRPATH}
In the first terminal in the root folder and type command
$sudo ./dns_receiver example.com ./data
Where example.com is {BASE_HOST} and ./data is {DST_PATH}
-> {BASE_HOST} serves to set up base domain for receiving DNS packets
-> {DST_DIRPATH} serves to set up path for the folder/file with received data -
dns_sender [-u UPSTREM_DNS_IP] {BASE_HOST} {DST_FILEPATH} [SRC_FILEPATH]
Open second terminal in the root folder and type command
$./dns_sender -u 127.0.0.1 example.com output/data.txt ./data.txt
-> -u serves to set up force remote DNS server connection
-> {BASE_HOST} serves to set up base domain for sending DNS packets
-> {DST_FILEPATH} serves to set up path for the file with received data
-> [SRD_FILEPATH] File with input data. If not used as a parameter, then data is read from STDIN.
- receiver/dns_receiver_events.c -> source file of DNSreceiver application
- receiver/dns_receiver_events.h -> header file of DNSreceiver application
- sender/dns_sender_events.c -> source file of DNSsender application
- sender/dns_sender_events.h -> header file of DNSsender application
- base32.c -> source file of base32 hashing library
- base32.h -> header file of base32 hashing library
- LICENSE
- Makefile
- README.md