# tinydns
Single file DNS client which can process A, AAAA, CNAME and MX records

# Dependencies for Xplatform

```
sudo apt install gcc-arm-linux-gnueabi \
    g++-arm-linux-gnueabi \
    gcc-arm-linux-gnueabihf \
    g++-arm-linux-gnueabihf
```

Building with cosmocc assumes cosmocc directory is $HOME/cosmocc

# Usage
```
./tinydns -h 1.1.1.1 -p 53 -q A --time google.com
```

# Output format for timed queries
The ouput is a CSV line with the following format:

column 1 : DNS <server> used
column 2 : Query sent
column 3 : Query type (A,AAAA,NS...)
column 4 : epoch timestamp value at the start of the program
column 5 : epoch timestamp after the DNS resolution of <server>
column 6 : duration of DNS resolution
column 7 : Status ERROR, TIMEOUT, NOERROR, NXDOMAIN...

1.1.1.1,google.com,A,1754639504,1754639504,0.004934,NOERROR


