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 7bb2e84486 v1.2.2 2017-10-02 12:49:28 -06:00
bin move digd.js to own repo 2017-10-02 12:49:20 -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:52:50 -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
merge-up.sh update branches from least to greatest 2017-02-25 13:19:00 -07:00
package.json v1.2.2 2017-10-02 12:49:28 -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'

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

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 @8.8.8.8 A daplie.com

Options

--output <path/to/file>     write query and response(s) to disk with this path prefix (ex: ./samples/dns)

--mdns                      Use mDNS port and nameserver address, and listen for multiple packets

-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.

--debug                     verbose output