查找特定DNS记录类型时获取“未知类型”

时间:2015-04-18 04:25:21

标签: node.js dns

我在node.js 0.12.2上。

当我打电话

dns.resolve('example.com', 'SOA', function (err, result) {}) 

我收到错误:

 Unknown type SOA.

当我致电dns.resolveSoa()时也是如此。

除此之外,每个其他记录类型都有效。

只是我还是不行?

2 个答案:

答案 0 :(得分:0)

不仅仅是你。即使the docs clearly state that SOA records are supported,我也遇到了同样的错误。谢天谢地,我找到了另一种选择:native-dns。这是一个让你走上正轨的例子。第一:

$ npm install native-dns

然后,在节点中:

var dns = require('native-dns');

var question = dns.Question({
  name: 'www.google.com',
  type: 'SOA',
});

var req = dns.Request({
  question: question,
  server: { address: '8.8.8.8', port: 53, type: 'udp' },
  timeout: 1000,
});

req.on('timeout', function () {
  console.log('Timeout in making request');
});

req.on('message', function (err, answer) {
  if (err) { throw err; }
  console.log(answer);
});

req.on('end', function () {
  console.log('Finished processing request');
});

req.send();

答案 1 :(得分:0)

对于SOA记录,现在可以使用:

var util = require('util'),
    dns = require('dns'),
    resolve = util.promisify(dns.resolve),

var soaResults = await resolve(domainName, 'SOA')

{ nsname: 'ns10.dnsmadeeasy.com',
hostmaster: 'dns.dnsmadeeasy.com',
serial: 2009016889,
refresh: 43200,
retry: 3600,
expire: 1209600,
minttl: 1200 }

但是,如果您需要查找list of supported types中不存在的另一种记录类型-例如,我需要查找CAA recoerd-其他答案中提到的native-dns模块将有帮助

相关问题