Create and capture DNS and mDNS query and response packets to disk as binary and/or JSON. Options are similar to the Unix dig command.
Go to file
AJ ONeal 09d95fd88c Update README.md 2017-10-02 11:46:55 -06:00
bin WIP dns server 2017-09-25 18:14:27 -06:00
.gitignore setup query 2017-02-17 19:07:02 -07:00
.jshintrc add .jshintrc 2017-09-15 18:43:18 -06:00
README.md Update README.md 2017-10-02 11:46:55 -06:00
common.js WIP dns server 2017-09-25 18:14:27 -06:00
dns-request.js factor out printing of header and query 2017-09-20 13:27:53 -06:00
dns-store.js WIP dns server 2017-09-25 18:14:27 -06:00
merge-up.sh update branches from least to greatest 2017-02-25 13:19:00 -07:00
package.json WIP dns server 2017-09-25 18:14:27 -06:00

README.md

dig.js

| dns-suite | dig.js | digd.js |

Create and capture 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

# Install the latest of v1.x
npm install -g 'git+https://git@git.daplie.com/Daplie/dig.js.git#v1'
# Install exactly v1.0.0
npm install -g 'git+https://git@git.daplie.com/Daplie/dig.js.git#v1.0.0'

Install without git

Don't have git? Well, you can also bow down to the gods of the centralized, monopolized, concentrated, dictatornet (as we like to call it here at Daplie Labs), if that's how you roll:

npm install -g dig.js

Usage

Format

dig.js [TYPE] <domainname>

Example

dig.js daplie.com

mDNS Browser Example

This is pretty much an mDNS browser

dig.js --mdns _services._dns-sd._udp.local

Really the --mdns option is just an alias for setting all of these options as the default:

dig.js -p 5353 @224.0.0.251 PTR _services._dns-sd._udp.local +time=3

Moar Examples

dig.js A daplie.com

dig.js -t A daplie.com

dig.js @8.8.8.8 A daplie.com

Options

--debug
--mdns
--output <path/to/file>     write query and response(s) to disk with this path prefix (ex: ./samples/dns)
-t <type> (superfluous)     default ANY (mdns default: PTR)
-c <class>                  default IN
-p <port>                   default 53 (mdns default: 5353) (listener is random for DNS and 5353 for mDNS)
-q <query> (superfluous)    required (ex: daplie.com)
--nameserver <ns>           alias of @<nameserver>
--timeout <ms>              alias of +time=<seconds>, but in milliseconds

@<nameserver>               specify the nameserver to use for DNS resolution (defaults to system defaults)
+time=<seconds>             Sets the timeout for a query in seconds.
+norecurse                  Set `rd` flag to 0. Do not request recursion
+aaonly                     Set `aa` flag to 1.