Node.js 有一个专门用于解析域名的模块dns。引入DNS 模块语法格式如下:
var dns = require("dns")
解析域名IP地址:
通过lookup可以查询某个域名的ip地址:
var dns = require('dns');
dns.lookup('www.github.com', function onLookup(err, address, family) {
console.log('ip', address);
dns.reverse(address, function (err, hostnames) {
if (err) {
console.log(err.stack);
}
console.log('反向解析 ' + address + ': ' + JSON.stringify(hostnames));
});
});
输出:
ip 192.30.252.130
reverse ["github.com"]
MX记录查询
MX(Mail Exchanger) 是邮件交换记录,MX记录也叫做邮件路由记录,用于电子邮件系统发邮件时根据收信人的地址后缀来定位邮件服务器。
通过 dns.resolveMx 可以查询到某域名后缀的邮件服务地址:
dns.resolveMx('cn.oncedoc.com', function() {
console.log('mx cn.oncedoc.com')
console.log(arguments)
})
输出结果:
mx cn.oncedoc.com
{ '0': null,
'1': [ { exchange: 'mx.oncedoc.com', priority: 5 } ] }
TXT查询
SPF是为了防范垃圾邮件而提出来的一种DNS记录类型,它是一种TXT类型的记录,它用于登记某个域名拥有的用来外发邮件的所有IP地址。
通过解析域名的SPF记录,我们可以检查某个发送邮件的IP地址是否合法:
dns.resolveTxt('cn.oncedoc.com', function() {
console.log('txt cn.oncedoc.com')
console.log(arguments)
})
结果
txt cn.oncedoc.com
{ '0': null, '1': [ [ 'v=spf1 ip4:139.199.62.46 -all' ] ] }
如果向你发送邮件的IP地址,与发信人的域名 spf 记录相匹配,则证明此邮件来源合法。
回复 (0)
微信扫码 立即评论