nslookup命令用于查询DNS的记录,查看域名解析是否正常,在网络故障的时候用来诊断网络问题。 nslookup的用法相对来说还是蛮简单的,主要是下面的几个用法。
1 直接查询
这个可能大家用到最多,查询一个域名的A记录。
nslookup domain [dns-server]
如果没指定dns-server,用系统默认的dns服务器。下面是一个例子:
[root@zhangsan dc2-user]# nslookup baidu.com
Server: 100.64.8.1
Address: 100.64.8.1#53
Non-authoritative answer:
Name: baidu.com
Address: 39.156.69.79
Name: baidu.com
Address: 220.181.38.148
2 查询其他记录
直接查询返回的是A记录,我们可以指定参数,查询其他记录,比如AAAA、MX等。
nslookup -qt=type domain [dns-server] # Windows
nslookup -query=type domain [dns-server] # Linux
dns服务器不仅管理域名与ip之间的映射信息,还管理一些其他信息。可以通过type指定。
其中,type可以是以下这些类型:
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地址记录
常用dns服务器
:
114.114.114.114
是国baidu移动、电信和zhi联通通用的DNS,解析成功率相对来说更高,国dao用户使用的比较多,速度相对快、稳定,是国zhuan用户上网常用的DNS。8.8.8.8
是GOOGLE公司提供的DNS,该地址是全球通用的,相对来说,更适合国外以及访问国外网站的用户使用。
例如:
# Windows, 8.8.8.8是google的dns服务器ip,也可以不写,
C:\Users\Administrator>nslookup -qt=MX baidu.com 8.8.8.8
服务器: dns.google
Address: 8.8.8.8
非权威应答:
baidu.com MX preference = 10, mail exchanger = mx.maillb.baidu.com
baidu.com MX preference = 15, mail exchanger = mx.n.shifen.com
baidu.com MX preference = 20, mail exchanger = mx1.baidu.com
baidu.com MX preference = 20, mail exchanger = jpmx.baidu.com
baidu.com MX preference = 20, mail exchanger = mx50.baidu.com
# Linux, 8.8.8.8是google的dns服务器ip, 也可以不写,此时nslookup会连接到默认的域名服务器(即/etc/resolv.conf的第一个dns地址)。
[root@zhangsan dc2-user]# nslookup -query=MX baidu.com 8.8.8.8
Server: 8.8.8.8
Address: 8.8.8.8#53
Non-authoritative answer:
baidu.com mail exchanger = 20 mx1.baidu.com.
baidu.com mail exchanger = 20 jpmx.baidu.com.
baidu.com mail exchanger = 20 mx50.baidu.com.
baidu.com mail exchanger = 10 mx.maillb.baidu.com.
baidu.com mail exchanger = 15 mx.n.shifen.com.
Authoritative answers can be found from:
[root@zhangsan dc2-user]# cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 100.64.8.1
nameserver 100.64.8.2
[root@zhangsan dc2-user]# nslookup -query=MX baidu.com
Server: 100.64.8.1
Address: 100.64.8.1#53
Non-authoritative answer:
baidu.com mail exchanger = 20 mx50.baidu.com.
baidu.com mail exchanger = 20 jpmx.baidu.com.
baidu.com mail exchanger = 15 mx.n.shifen.com.
baidu.com mail exchanger = 20 mx1.baidu.com.
baidu.com mail exchanger = 10 mx.maillb.baidu.com.
Authoritative answers can be found from:
baidu.com nameserver = dns.baidu.com.
baidu.com nameserver = ns3.baidu.com.
baidu.com nameserver = ns2.baidu.com.
baidu.com nameserver = ns4.baidu.com.
baidu.com nameserver = ns7.baidu.com.
3 查询更具体的信息
查询语法:
nslookup –d [其他参数] domain [dns-server]
只要在查询的时候,加上-d参数,即可查询域名的缓存。
补充
nslookup支持交互模式
和非交互模式
。
进入非交互模式,即一次性执行一次查询操作就结束,如果直接在nslookup命令后加上所要查询的IP或主机名,那么就进入了非交互模式。当然,也可以在第二个参数位置设置所要连接的域名服务器。
进入交互模式有如下方法:
直接输入nslookup命令,不加任何参数,则直接进入交互模式,此时nslookup会连接到默认的域名服务器(即/etc/resolv.conf的第一个dns地址)。
是支持选定不同域名服务器的。需要设置第一个参数为“-”,然后第二个参数是设置要连接的域名服务器主机名或IP地址。例如可以设置指定的域名服务器nslookup - 114.114.114.114
(base) [root@yangkang dc2-user]# nslookup - 114.114.114.114
> set type=a
> baidu.com
Server: 114.114.114.114
Address: 114.114.114.114#53
Non-authoritative answer:
Name: baidu.com
Address: 39.156.69.79
Name: baidu.com
Address: 220.181.38.148
>
具体的set 参数,或者交互模式下的更多命令,请参考 man nslookup
[参考博客]
nslookup命令详解
nslookup