https://github.com/stephangeorg/node-dig-dns
Use dig command (domain information grope) for DNS queries in node
https://github.com/stephangeorg/node-dig-dns
dig dns domain-information-grope node
Last synced: 9 months ago
JSON representation
Use dig command (domain information grope) for DNS queries in node
- Host: GitHub
- URL: https://github.com/stephangeorg/node-dig-dns
- Owner: StephanGeorg
- License: mit
- Created: 2017-10-09T20:34:50.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2023-01-08T04:33:51.000Z (about 3 years ago)
- Last Synced: 2025-04-29T09:42:45.045Z (9 months ago)
- Topics: dig, dns, domain-information-grope, node
- Language: JavaScript
- Homepage:
- Size: 161 KB
- Stars: 37
- Watchers: 1
- Forks: 21
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# node-dig-dns [](https://badge.fury.io/js/node-dig-dns)
Using native node dns to query complex DNS is a hustle. This is a simple wrapper for the unix/linux/macos dig command (domain information grope). Output is parsed to JSON.
## Install
```
npm i node-dig-dns -S
```
## Usage
```
dig([args], (options))
```
You can add [all args from dig](https://linux.die.net/man/1/dig) to the args array.
### Examples
```
dig(['google.com', 'ANY'])
.then((result) => {
console.log(result)
})
.catch((err) => {
console.log('Error:', err);
});
```
Set custom DNS server:
```
dig(['@8.8.8.4','google.com', 'ANY'])
.then((result) => {
console.log(result)
})
.catch((err) => {
console.log('Error:', err);
});
```
### Options
Optional parameters:
* raw: Get the raw output as string. If +short option, raw output is default
* dig: Manually set the dig command (/my/custum/path/to/dig)
## Result
The dig result is parsed and return in JSON:
```
{ question: [ [ ';google.com.', 'IN', 'ANY' ] ],
answer:
[ { domain: 'google.com.',
type: 'A',
ttl: '268',
class: 'IN',
value: '216.58.211.110' },
{ domain: 'google.com.',
type: 'AAAA',
ttl: '268',
class: 'IN',
value: '2a00:1450:400e:809::200e' },
{ domain: 'google.com.',
type: 'MX',
ttl: '568',
class: 'IN',
value: '30 alt2.aspmx.l.google.com.' },
...
],
time: 41,
server: '8.8.8.8#53(8.8.8.8)',
datetime: 'Mon Oct 9 23:56:37 2017',
size: 373 }
```