NodeJs之dns

dns

域名服务器。

dns模块包含了两个不同类别的函数:
1、使用底层操作系统工具执行名称解析但不一定执行任何网络通信的函数。
此类别仅包含一个函数:dns.lookup()。

const dns = require('dns');

dns.lookup('iana.org', (err, address, family) => {
  console.log('地址: %j 地址族: IPv%s', address, family);
});
// 地址: "192.0.43.8" 地址族: IPv4

2、连接到实际的DNS服务器以执行名称解析并始终使用网络执行DNS查询的函数。包含dns模块中除dns.lookup()之外的所有函数。
这些函数不使用与dns.lookup()使用的同一配置文件。
这些函数应该由不希望使用底层系统的工具进行名称解析、而始终执行dns查询的开发者使用。

const dns = require('dns');

dns.resolve4('archive.org', (err, addresses) => {
  if (err) throw err;

  console.log(`地址: ${JSON.stringify(addresses)}`);

  addresses.forEach((a) => {
    dns.reverse(a, (err, hostnames) => {
      if (err) {
        throw err;
      }
      console.log(`地址 ${a} 逆向解析到域名: ${JSON.stringify(hostnames)}`);
    });
  });
});

在这里插入图片描述
在这里插入图片描述

rrtypes

dns.resolve() 方法中有效的 rrtypes值:

  • ‘A’ IPV4 地址, 默认;
  • ‘AAAA’ IPV6 地址;
  • ‘MX’ 邮件交换记录;
  • ‘TXT’ text 记录;
  • ‘SRV’ SRV 记录;
  • ‘PTR’ 用来反向 IP 查找;
  • ‘NS’ 域名服务器记录;
  • ‘CNAME’ 别名记录;
  • ‘SOA’ 授权记录的初始值;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值