一、命令简介
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地址记录