var dns = require('dns');
// get first found IP
dns.lookup('oreilly.com', (err, address, family) => {
if (err) {
return console.log(err);
}
console.log('address=', address);
console.log('family=', family);
});
// get all IPs with family
dns.lookup('oreilly.com', {all: true}, (err, addresses) => {
if (err) {
return console.log(err);
}
console.log('addresses=', addresses);
});
Sample output:
addresses= [ { address: '199.27.145.65', family: 4 },
{ address: '199.27.145.64', family: 4 },
{ address: '199.27.145.65', family: 4 },
{ address: '199.27.145.64', family: 4 } ]
address= 199.27.145.65
family= 4
'use strict';
var dns = require('dns');
const types = ['A', 'AAAA', 'MX', 'TXT', 'SRV', 'PTR', 'NS', 'CNAME', 'SOA'];
for (let type of types) {
dns.resolve('oreilly.com', type, (err, addresses) => {
if (err) {
return console.log(`\nType(${type}):\n`, err);
}
console.log(`\nType(${type}) addresses:\n`, addresses, '\n');
});
}
Sample output:
Type(A) addresses:
[ '199.27.145.65', '199.27.145.64' ]
Type(AAAA):
{ Error: queryAaaa ENODATA oreilly.com
at errnoException (dns.js:28:10)
at QueryReqWrap.onresolve [as oncomplete] (dns.js:216:19)
code: 'ENODATA',
errno: 'ENODATA',
syscall: 'queryAaaa',
hostname: 'oreilly.com' }
Type(MX) addresses:
[ { exchange: 'aspmx3.googlemail.com', priority: 10 },
{ exchange: 'aspmx.l.google.com', priority: 1 },
{ exchange: 'alt1.aspmx.l.google.com', priority: 5 },
{ exchange: 'alt2.aspmx.l.google.com', priority: 5 },
{ exchange: 'aspmx2.googlemail.com', priority: 10 } ]
Type(TXT) addresses:
[ [ 'MS=ms43057904' ],
[ 'globalsign-domain-verification=aei6eSS-1p0PqmZ3x4jXFoJt_7l6MenGY6u2FV45qG' ],
[ 'v=spf1 include:_spf.google.com include:amazonses.com ip4:199.83.44.0/22 ip4:209.204.146.20 ip4:162.42.207.20 ip4:208.76.31.37 ip4:162.42.214.212 include:spf.mandrillapp.com -all' ] ]
Type(SRV):
{ Error: querySrv ENODATA oreilly.com
at errnoException (dns.js:28:10)
at QueryReqWrap.onresolve [as oncomplete] (dns.js:216:19)
code: 'ENODATA',
errno: 'ENODATA',
syscall: 'querySrv',
hostname: 'oreilly.com' }
Type(PTR):
{ Error: queryPtr ENODATA oreilly.com
at errnoException (dns.js:28:10)
at QueryReqWrap.onresolve [as oncomplete] (dns.js:216:19)
code: 'ENODATA',
errno: 'ENODATA',
syscall: 'queryPtr',
hostname: 'oreilly.com' }
Type(NS) addresses:
[ 'a4-64.akam.net',
'a1-225.akam.net',
'a13-64.akam.net',
'a16-65.akam.net',
'a20-66.akam.net',
'a3-67.akam.net' ]
Type(SOA) addresses:
{ nsname: 'a1-225.akam.net',
hostmaster: 'nic-tc.oreilly.com',
serial: 2016052325,
refresh: 600,
retry: 1800,
expire: 5184000,
minttl: 3600 }
Type(CNAME):
{ Error: queryCname ENODATA oreilly.com
at errnoException (dns.js:28:10)
at QueryReqWrap.onresolve [as oncomplete] (dns.js:216:19)
code: 'ENODATA',
errno: 'ENODATA',
syscall: 'queryCname',
hostname: 'oreilly.com' }