一、命令简介

  nslookup 是一个网络管理命令行工具,用于查询 DNS 记录。它可以用来查找域名对应的 IP 地址,或反向查找 IP 地址对应的域名。查询结果中非权威应答(Non-authoritative answer)意味着answer来自于其它服务器的缓存,而不是权威的DNS服务器。缓存会根据TTL(Time to Live)的值定时进行更新。如果没有CDN服务,也没有解析到多个IP的域名,无论我们使用哪个DNS只要能查询到域名记录都是同一个IP地址,反之则可能出现查询到的结果随DNS服务器的不同而变化。

二、命令使用示例

1、查询域名解析的IP地址

  使用"nslookup 域名"的方式查询指定域名解析的IP地址。
在这里插入图片描述

2、指定DNS查询域名解析的IP地址

  使用“nslookup 域名 DNS服务器”的方式查询指定DNS服务器查询域名解析记录。
在这里插入图片描述

3、通过IP地址查询域名

  通过"nslookup ip"可以查询到解析到该IP的域名,比如nslookup 8.8.8.8我们可以看到查询结果显示域名为dns.google;查询114.114.114.114 IP地址的域名记录可以看到对应域名public1.114dns.com。
在这里插入图片描述

4、交互模式查询

  nslookup 可以以交互模式和非交互模式运行,如上nslookup命令直接接域名或者IP就是非交换模式运行,只输入nslookup命令的情况下是进入交互模式。进入交互模式下,然后输入域名和直接输入“nslookup domain”是一样的效果。
在这里插入图片描述

5、交互模式下获取命令帮助

  交互模式下输入help命令可以获取nslookup命令帮助。
在这里插入图片描述

6、交互模式下查询域名解析记录

在这里插入图片描述

7、交互模式下指定DNS服务器查询解析记录

  指定DNS查询到的www.google.com发现解析记录是不一样的,这是因为对象国际网站,在国内外都设置有CDN,会根据请求解析的地址反馈最佳的解析记录给用户端。所以通过国外和国内DNS服务器查询到的DNS解析记录是不一样的。
在这里插入图片描述

8、查询域名指定类型的DNS记录

  查询域名的邮件解析记录。
在这里插入图片描述

9、禁用递归查询

在这里插入图片描述

10、设置超时时间

  nslookup -timeout=10 example.com可以设置查询的超时时间。
在这里插入图片描述

11、打印输出详细信息

  nslookup -debug example.com命令可以打印dns查询过程的详解记录。
在这里插入图片描述

12、交互模式下查询cname记录

在这里插入图片描述

三、命令语法及参数说明

1、命令语法

  使用如下的方式查询dns解析记录。

>nslookup domain.com
|>nslookup domain.com dns-server

2、命令参数说明

参数参数说明(标识符以大写表示,[] 表示可选)
NAME- 打印有关使用默认服务器的主机/域 NAME 的信息
NAME1 NAME2- 同上,但将 NAME2 用作服务器
help or ?- 打印有关常用命令的信息
set OPTION- 设置选项
all- 打印选项、当前服务器和主机
[no]debug- 打印调试信息
[no]d2- 打印详细的调试信息
[no]defname- 将域名附加到每个查询
[no]recurse- 询问查询的递归应答
[no]search- 使用域搜索列表
[no]vc- 始终使用虚拟电路
domain=NAME- 将默认域名设置为 NAME
srchlist=N1[/N2/…/N6]- 将域设置为 N1,并将搜索列表设置为 N1、N2 等
root=NAME- 将根服务器设置为 NAME
retry=X- 将重试次数设置为 X
timeout=X- 将初始超时间隔设置为 X 秒
type=X- 设置查询类型(如 A、AAAA、A+AAAA、ANY、CNAME、MX、NS、PTR、SOA 和 SRV)
querytype=X- 与类型相同
class=X- 设置查询类(如 IN (Internet)和 ANY)
[no]msxfr- 使用 MS 快速区域传送
ixfrver=X- 用于 IXFR 传送请求的当前版本
server NAME- 将默认服务器设置为 NAME,使用当前默认服务器
lserver NAME- 将默认服务器设置为 NAME,使用初始服务器
root- 将当前默认服务器设置为根服务器
ls [opt] DOMAIN [> FILE] -列出 DOMAIN 中的地址(可选: 输出到文件 FILE)
-a列出规范名称和别名
-d列出所有记录
-t TYPE列出给定 RFC 记录类型(例如 A、CNAME、MX、NS 和 PTR 等)的记录
view FILE- 对 ‘ls’ 输出文件排序,并使用 pg 查看
exit退出程序

3、常见的记录类型有

  • A 地址记录(默认类型)
  • AAAA 地址记录
  • AFSDB Andrew 文件系统数据库服务器记录
  • ATMA ATM地址记录
  • CNAME 别名记录
  • HINFO 硬件配置记录,包括CPU、操作系统信息
  • ISDN 域名对应的ISDN号码
  • MB 存放指定邮箱的服务器
  • MG 邮件组记录
  • MINFO 邮件组和邮箱的信息记录
  • MR 改名的邮箱记录
  • MX 邮件服务器记录
  • NS 名字服务器记录
  • PTR 反向记录
  • RP 负责人记录
  • RT 路由穿透记录
  • SRV TCP服务器信息记录
  • TXT 域名对应的文本信息
  • X25 域名对应的X.25地址记录
Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐