最近配置路由器 pdnsd,经常需要调试 DNS 信息,就离不开调试工具了。 nslookup 用来查询 DNS 记录,查看域名解析是否正常,经常被用来在网络故障时诊断网络问题。
命令
在 Ubuntu 下可以使用如下命令安装:
sudo apt install dnsutils
格式:
nslookup [-option] [name | -] [server]
使用
nslookup
是一个查询 Internet domain name server 的工具,nslookup 有两种模式:
- interactive 交互模式
- non-interactive 非交互模式
交互模式
进入交互模式,总共有两种方法。
第一种方法,直接输入 nslookup
命令,不加任何参数,则直接进入交互模式,此时 nslookup 会连接到默认的域名服务器(即 /etc/resolv.conf
的第一个 dns 地址)。
第二种方法,是支持选定不同域名服务器的。需要设置第一个参数为“-”,然后第二个参数是设置要连接的域名服务器主机名或 IP 地址。
如果你直接在 nslookup 命令后加上所要查询的 IP 或主机名,那么就进入了非交互模式。当然,这个时候你也可以在第二个参数位置设置所要连接的域名服务器。
例子
交互模式下查询域名
nslookup
> www.douban.com
Server: 127.0.1.1 // 连接的 DNS 服务器
Address: 127.0.1.1#53 // DNS 服务器 IP 地址与端口
Non-authoritative answer: // 非权威答案,从连接的 DNS 服务器本地缓存中读取,非实际查询得到
Name: www.douban.com
Address: 115.182.201.6 // IP 地址
Name: www.douban.com
Address: 115.182.201.7
Name: www.douban.com
Address: 115.182.201.8
交互模式下更改 DNS
进入交互模式之后,使用 server dns-server
来改变上连 DNS 服务器地址
查询域名 IP 地址
nslookup www.douban.com [dns-server]
如果没有指定 dns-server
,使用系统默认的 DNS 服务器。