digd.js ======= | [dns-suite](https://git.daplie.com/Daplie/dns-suite) | [dig.js](https://git.daplie.com/Daplie/dig.js) | **digd.js** A lightweight DNS / mDNS daemon (server) for creating and capturing DNS and mDNS query and response packets to disk as binary and/or JSON. Options are similar to the Unix dig command. Install ------- ### with git ```bash # Install the latest of v1.x npm install -g 'git+https://git@git.daplie.com/Daplie/digd.js.git#v1' ``` ```bash # Install exactly v1.0.0 npm install -g 'git+https://git@git.daplie.com/Daplie/digd.js.git#v1.0.0' ``` ### without git Don't have git? Well, you can also bow down to the gods of the centralized, monopolized, concentrated, *dictator*net (as we like to call it here at Daplie Labs), if that's how you roll: ```bash npm install -g digd.js ``` Usage ----- ```bash digd.js --input ``` **Example**: ```bash digd.js --input ./examples/example.com.json ``` Options ------- ``` --output write query and response(s) to disk with this path prefix (ex: ./samples/dns) --input input file to use for authoritative responses (ex: ./samples/zones.json) --mdns Use mDNS port (5353) and nameserver address (224.0.0.251) -p default 53 (mdns default: 5353) (listener is random for DNS and 5353 for mDNS) --nameserver alias of @ --timeout alias of +time=, but in milliseconds @ specify the nameserver to use for recursive DNS resolutions (defaults to system defaults) +time= Sets the timeout for a query in seconds. +norecurse Set `ra` flag to 0. Do not perform recursion. +aaonly Set `aa` flag to 1. Do not respond with non-authoritative responses. --debug verbose output ``` Other Resources --------------- You may also be interested in Unbound (https://unboundtest.com), which is an entirely different project by someone else which is much more complete, written in go, and may be very useful for debugging and linting.