它是一个很小但功能非常强大的网络管理命令行软件。Nslookup命令可用于当前主流的计算机操作系统,如Windows、macOS和Linux。您可以使用它来执行DNS查询域名或IP地址,或任何其他特定的DNS记录。
也有Nslookup在线工具,Windows的Nslookup是系统自带的,在dos下可以直接调用使用。Linux的Nslookup工具则要安装一个工具包。
Ubuntu Nslookup工具安装方法如下:
sudo apt-get update
sudo apt-get install dnsutils
nslookup [-option] [name | -] [server]
Options:将想要使用的选项与域名或IP地址放在一起。该选项可以与DNS记录的类型、超时、正在使用的端口、调试或其他相关。
Name:要查询的主机名或域名。
Server:可选参数,指定要查询的特定DNS服务器的名称或IP地址。
nslookup example.com
可以通过该指令查看域名的A记录。
mirror@Ubuntu22:~$ nslookup baidu.com
Server: 114.114.114.114
Address: 114.114.114.114#53
Non-authoritative answer:
Name: baidu.com
Address: 39.156.66.10
Name: baidu.com
Address: 110.242.68.66
mirror@Ubuntu22:~$
nslookup -type=ns example.com
可以通过该指令查看域名的NS记录。
mirror@Ubuntu22:~$ nslookup -type=ns baidu.com
Server: 114.114.114.114
Address: 114.114.114.114#53
Non-authoritative answer:
baidu.com nameserver = dns.baidu.com.
baidu.com nameserver = ns4.baidu.com.
baidu.com nameserver = ns7.baidu.com.
baidu.com nameserver = ns3.baidu.com.
baidu.com nameserver = ns2.baidu.com.
Authoritative answers can be found from:
mirror@Ubuntu22:~$
nslookup -type=soa example.com
可以通过该指令查看域名的SOA记录。
mirror@Ubuntu22:~$ nslookup -type=soa baidu.com
Server: 114.114.114.114
Address: 114.114.114.114#53
Non-authoritative answer:
baidu.com
origin = dns.baidu.com
mail addr = sa.baidu.com
serial = 2012147587
refresh = 300
retry = 300
expire = 2592000
minimum = 7200
Authoritative answers can be found from:
mirror@Ubuntu22:~$
nslookup -query=mx example.com
判断邮件服务器是否正常工作,可以查看邮件服务器的MX记录是否能正常解析。
mirror@Ubuntu22:~$ nslookup -query=mx baidu.com
Server: 114.114.114.114
Address: 114.114.114.114#53
Non-authoritative answer:
baidu.com mail exchanger = 20 mx50.baidu.com.
baidu.com mail exchanger = 20 usmx01.baidu.com.
baidu.com mail exchanger = 20 jpmx.baidu.com.
baidu.com mail exchanger = 10 mx.maillb.baidu.com.
baidu.com mail exchanger = 20 mx1.baidu.com.
baidu.com mail exchanger = 15 mx.n.shifen.com.
Authoritative answers can be found from:
mirror@Ubuntu22:~$
nslookup -type=any example.com
可以通过该指令查看域名所有的DNS记录。
nslookup example.com dnsserver
可以通过该指令查看特定DNS服务器是否能解析指定域名。
mirror@Ubuntu22:~$ nslookup baidu.com 223.5.5.5
Server: 223.5.5.5
Address: 223.5.5.5#53
Non-authoritative answer:
Name: baidu.com
Address: 39.156.66.10
Name: baidu.com
Address: 110.242.68.66
mirror@Ubuntu22:~$ nslookup baidu.com 114.114.114.114
Server: 114.114.114.114
Address: 114.114.114.114#53
Non-authoritative answer:
Name: baidu.com
Address: 110.242.68.66
Name: baidu.com
Address: 39.156.66.10
mirror@Ubuntu22:~$
nslookup 8.8.8.8
可以通过该指令反向解析IP对应的域名。并非所有IP都可以解析为域名。
mirror@Ubuntu22:~$ nslookup 110.242.68.66
** server can't find 66.68.242.110.in-addr.arpa: NXDOMAIN
mirror@Ubuntu22:~$ nslookup 8.8.8.8
8.8.8.8.in-addr.arpa name = dns.google.
Authoritative answers can be found from:
mirror@Ubuntu22:~$
nslookup -type=ptr 8.8.8.8.in-addr.arpa
可以通过DNS反向查询,可以验证IP地址对应的域名。为此,您需要检查将IP地址链接到域名的PTR记录。您需要将IP地址反过来(185.136.96.96更改为96.96.136.185),并且您需要添加in-addr。因为它存储在ARPA的顶级域中。
mirror@Ubuntu22:~$ nslookup -type=ptr 8.8.8.8.in-addr.arpar.arpa
Server: 114.114.114.114
Address: 114.114.114.114#53
Non-authoritative answer:
8.8.8.8.in-addr.arpa name = dns.google.
Authoritative answers can be found from:
mirror@Ubuntu22:~$
PTR:DNS的PTR记录(Pointer记录)是一种反向DNS记录,用于将IP地址解析回域名。与常见的DNS记录类型(如A记录将域名映射到IP地址)相反,PTR记录允许将IP地址映射回域名。
PTR记录通常由ISP(互联网服务提供商)或网络管理员在DNS服务器上设置。
PTR记录常常用于逆向解析、邮件服务器验证、网络故障诊断、日志记录、反向代理、安全审计等。
nslookup -timeout=20 example.com
增加timeout参数,可以改变默认的应答超时间隔。这个对于网络品质不佳的情况下会用到。
mirror@Ubuntu22:~$ nslookup -timeout=20 baidu.com
Server: 114.114.114.114
Address: 114.114.114.114#53
Non-authoritative answer:
Name: baidu.com
Address: 39.156.66.10
Name: baidu.com
Address: 110.242.68.66
;; communications error to 114.114.114.114#53: timed out
mirror@Ubuntu22:~$
nslookup -debug example.com
可以通过该指令开启debug模式。
mirror@Ubuntu22:~$ nslookup -debug baidu.com
Server: 114.114.114.114
Address: 114.114.114.114#53
------------
QUESTIONS:
baidu.com, type = A, class = IN
ANSWERS:
-> baidu.com
internet address = 39.156.66.10
ttl = 435
-> baidu.com
internet address = 110.242.68.66
ttl = 435
AUTHORITY RECORDS:
ADDITIONAL RECORDS:
------------
Non-authoritative answer:
Name: baidu.com
Address: 39.156.66.10
Name: baidu.com
Address: 110.242.68.66
------------
QUESTIONS:
baidu.com, type = AAAA, class = IN
ANSWERS:
AUTHORITY RECORDS:
-> baidu.com
origin = dns.baidu.com
mail addr = sa.baidu.com
serial = 2012147587
refresh = 300
retry = 300
expire = 2592000
minimum = 7200
ttl = 1697
ADDITIONAL RECORDS:
------------
mirror@Ubuntu22:~$
Nslookup指令是一个非常常用和强大的DNS问题排查工具。因此,许多网络管理员使用它来测试和排除网络故障。
Nslookup指令可以在Windows、macOS、Linux等不同的操作系统中使用,而且使用非常方便。
DNS故障排查工具除了Nslookup外,还有dig和host。
Ping也可以解析域名的IP,那么和Nslookup有些什么区别呢: