当前位置:首页>Linux>Linux命令每日一清单035:nslookup--DNS查询命令速查表

Linux命令每日一清单035:nslookup--DNS查询命令速查表

  • 2026-10-10 17:12:41
Linux命令每日一清单035:nslookup--DNS查询命令速查表

nslookup(name server lookup)是Linux/Unix系统中用于查询DNS(域名系统)记录的命令行工具,主要用于诊断域名解析问题、查询DNS记录类型以及验证DNS服务器配置。

nslookup支持两种模式:非交互模式(直接执行查询后退出)和交互模式(可连续执行多个查询)。它可以查询A记录、AAAA记录、MX记录、NS记录、TXT记录等多种DNS记录类型,并支持指定特定的DNS服务器进行查询。掌握nslookup是网络管理员排查域名解析问题的基础技能。

注意: 在某些Linux发行版中,nslookup已被dig命令取代,但仍被广泛使用。现代系统通常需要安装bind-utils或dnsutils包。

1. 基本语法

命令说明
nslookup example.com
使用默认DNS解析器查询域名
nslookup example.com 8.8.8.8
指定DNS服务器进行查询
nslookup -type=mx example.com
查询特定记录类型
nslookup 192.0.2.1
反向DNS查询(IP转域名)
nslookup
进入交互模式

2. 常见查询

命令说明
nslookup example.com
查询域名的A和AAAA记录
nslookup www.example.com
检查主机名或子域名
nslookup localhost
验证本地名称解析
nslookup 127.0.0.1
本地回环地址反向查询
nslookup 8.8.8.8
公网IP地址反向查询
nslookup -timeout=5 example.com
设置超时时间为5秒
nslookup -retry=3 example.com
设置重试次数为3次

3. DNS记录类型

记录类型说明与示例
-type=a
IPv4地址记录
-type=aaaa
IPv6地址记录
-type=mx
邮件交换记录
-type=ns
权威名称服务器记录
-type=txt
TXT文本记录(SPF、验证等)
-type=soa
区域授权起始记录
-type=cname
规范名称记录(别名)
-type=ptr
反向指针记录
-type=any
所有记录类型(不推荐)

4. 指定DNS服务器

命令说明
nslookup example.com 8.8.8.8
使用Google公共DNS(8.8.8.8)查询
nslookup example.com 1.1.1.1
使用Cloudflare DNS(1.1.1.1)查询
nslookup example.com 9.9.9.9
使用Quad9 DNS(9.9.9.9)查询
nslookup -type=mx example.com 8.8.8.8
从指定DNS服务器查询MX记录
nslookup -type=txt example.com 1.1.1.1
比较不同DNS服务器的TXT记录
nslookup example.com 192.168.1.1
使用本地DNS服务器查询

5. 交互模式

交互模式适合执行多个连续查询:

命令说明
nslookup
进入交互模式
set type=mx
设置查询类型为MX
set type=txt
设置查询类型为TXT
set type=any
设置查询类型为ANY
set type=a
设置查询类型为A(默认)
server 8.8.8.8
切换DNS服务器
set timeout=5
设置超时时间(秒)
set retry=3
设置重试次数
example.com
查询域名(在交互模式中)
exit
 或 Ctrl+D
退出交互模式

交互模式示例:

$ nslookup
> server 8.8.8.8
Default server: 8.8.8.8
> settype=mx
> gmail.com
Server:  8.8.8.8
Address: 8.8.8.8
#53

Non-authoritative answer:
gmail.com mail exchanger = 20 alt2.gmail-smtp-in.l.google.com.
...
> exit

6. 实用组合模式

命令说明
for domain in example.com test.com; do nslookup $domain 8.8.8.8; done
批量查询多个域名
nslookup -type=mx example.com | grep "mail exchanger"
提取MX服务器信息
nslookup -type=ns example.com | grep "nameserver"
提取NS服务器信息
nslookup 192.168.1.1 2>/dev/null | grep "name ="
反向查询IP的主机名
dig +short example.com
使用dig替代(更简洁的输出)
host -t mx example.com
使用host命令替代

7. nslookup vs dig vs host 对比

命令特点适用场景
nslookup
输出直观,支持交互模式
简单DNS查询、快速检查
dig
功能强大,输出详细
专业DNS调试、脚本使用
host
输出简洁
快速查看IP对应关系

选择建议:

  • 快速检查域名 → nslookup 或 host
  • 详细DNS调试 → dig
  • 交互式多查询 → nslookup交互模式

8. 输出信息解读

输出内容说明
Server:
响应的DNS服务器地址
Address:
DNS服务器的IP和端口
Non-authoritative answer
非权威答案(来自缓存)
Authoritative answer
权威答案(来自域名权威服务器)
canonical name =
CNAME记录的规范名称(别名指向)
mail exchanger =
MX记录,带优先级数值
name server =
NS记录,权威名称服务器
text =
TXT记录内容

9. 常用选项速查

选项说明
-type=
指定查询的DNS记录类型(a、aaaa、mx、ns、txt、soa、cname、ptr、any)
-timeout=
设置超时时间(秒)
-retry=
设置重试次数
-port=
指定DNS服务器端口(默认53)
-debug
启用调试模式(显示详细交互信息)
-d2
显示更详细的调试信息
-norecurse
禁用递归查询
-vc
使用TCP连接而非UDP

10. 故障排查

问题解决方法
NXDOMAIN
域名不存在;检查域名拼写是否正确;确认域名是否已注册
SERVFAIL
DNS服务器内部错误;尝试使用其他DNS服务器(如8.8.8.8)
Connection timed out
网络连接问题;检查/etc/resolv.conf;验证DNS服务器可达性
Non-authoritative answer
正常现象,表示答案来自缓存;如需权威答案,查询权威NS服务器
No answer
该域名没有配置请求的记录类型;尝试查询其他记录类型
nslookup: command not found
安装dnsutils或bind-utils包:apt install dnsutils 或 yum install bind-utils
反向查询无结果
IP地址没有配置PTR记录;许多IP没有反向解析
不同DNS服务器结果不一致
DNS传播延迟;TTL值影响;检查权威NS服务器配置

11. 相关配置文件

文件路径说明
/etc/resolv.conf
DNS解析器配置文件(定义默认DNS服务器和搜索域)
/etc/nsswitch.conf
名称服务切换配置(定义主机名解析顺序)
/etc/hosts
本地静态主机名映射文件

/etc/resolv.conf 示例:

nameserver 8.8.8.8
nameserver 8.8.4.4
search example.com

温馨提示: nslookup是快速DNS诊断的利器,但现代Linux系统更推荐使用dig进行详细调试。建议掌握以下技巧:1)查询特定DNS服务器可以帮助判断问题是本地DNS还是全局DNS;2)使用-type=mx检查邮件服务器配置;3)使用-type=txt检查SPF记录等验证信息;4)反向查询(IP转域名)常用于日志分析;5)对比多个DNS服务器结果可排查DNS传播延迟问题。在脚本中建议使用dig +short获得更简洁的输出格式。

本文PDF格式下载:

  关注公众号(haopython),请回复: LLTNS

最新文章

随机文章