命令简介
nslookup(Name Server Lookup)是一种网络管理命令,用于从 DNS 服务器查询域名、IP或其他 DNS 记录信息。
nslookup 有两种工作模式,交互模式和非交互模式。在交互模式下,用户可以向域名服务器查询各类主机、域名的信息,或者输出域名中的主机列表。在非交互模式下,针对一个主机或域名仅仅获取特定的名称或所需信息。
(1)直接输入 nslookup 命令,不加任何参数,此时 nslookup 会连接到默认的域名服务器(/etc/resolv.conf的第一个DNS地址);
(2)第一个参数是连字符(-),第二个参数是域名服务器的主机名或IP,即nslookup - SERVER | IP。
- 其他方式则进入非交互模式,比如nslookup NAME查询域名对应的IP。
命令格式
nslookup [-OPTION] [NAME | -] [SERVER] #NAME 为域名,SERVER 为域名服务器地址
#常用 nslookup -qt=type domain [dns-server] nslookup -type=type domain [dns-server]
|
选项说明
-query=TYPE 设置查询的类型。等同交互命令 set type=VALUE。VALUE 取值见下文 -timeout=NUMBER 设置等待响应的超时时间,单位秒。等同交互命令 set timeout=NUMBER
|
交互命令
HOST [SERVER] 查询域名对应的地址。如果指定 SERVER 则使用指定的域名服务器解析 server DOMAIN 指定域名服务器 lserver DOMAIN 改变默认域名服务器 exit 退出交互模式 set KEYWORD[=VALUE] 此命令用于更改影响查找的状态信息。有效关键字为: all 打印所有 KEYWORD 当前配置 class=VALUE 改变 DNS class,VALUE 可取值 IN(Internet)、CH(Chaos)、HS(Hesiod)和 ANY,默认 IN。DNS class 用于指定信息的协议组 [no]debug 在搜索时打开或关闭完整响应数据包和任何中间响应数据包的显示。默认 nodebug,简写 [no]deb [no]d2 打开或关闭调试模式。这将显示有关 nslookup 正在执行的操作的更多信息。默认 nod2 domain=NAME 设置搜索列表 [no]search 如果查找请求包含至少一个句点但没有以尾随句点结束,则将域搜索列表中的域名追加到请求,直到收到应答。默认 search port=VALUE 修改默认的TCP/UDP域名服务器端口。默认 53 type=VALUE 更改查询的类型。可取值 A(A记录)、CNAME(CNAME记录)、NS(域名服务器记录)、MX(邮件交换记录)、PTR(反向记录)等。大小写不敏感,默认 A(Address) [no]recurse 如果域名服务器没有该信息,请告诉它查询其他服务器。默认 recurse,简写 [no]rec retry=NUMBER 设置重试次数 timeout=NUMBER 设置等待响应的超时时间,单位秒 [no]vc 打开或关闭发送请求到服务器使用虚拟电路。默认 novc [no]fail 如果域名服务器响应 SERVFAIL 或推荐(nofail)或终止查询(fail),尝试下一个名称服务器。默认不尝试(nofail)
|
常用示例
- 在非交互模式下正向解析,查询域名信息。
nslookup baidu.com Server:10.123.119.98 Address:10.123.119.98#53
Non-authoritative answer: Name:baidu.com Address: 39.156.69.79 Name:baidu.com Address: 220.181.38.148
|
- 在交互模式下正向解析,查询域名信息。
nslookup > baidu.com Server:10.123.119.98 Address:10.123.119.98#53
Non-authoritative answer: Name:baidu.com Address: 220.181.38.148 Name:baidu.com Address: 39.156.69.79 > exit
|
最后一个交互命令 exit 表示退
- 反向解析,通过 IP 查询对应的域名。
nslookup 209.132.183.105 Server:10.123.119.98 Address:10.123.119.98#53
Non-authoritative answer: 105.183.132.209.in-addr.arpaname = redirect.redhat.com.
Authoritative answers can be found from:
|
- 查询域名别名。
nslookup -query=cname www.baidu.com Server:10.123.119.98 Address:10.123.119.98#53
Non-authoritative answer: www.baidu.comcanonical name = www.a.shifen.com.
Authoritative answers can be found from:
|
不知道为什么,查询域名别名时需要在域名前面加上 www,不然会得到如下结果:
nslookup -query=cname baidu.com Server:10.123.119.98 Address:10.123.119.98#53
Non-authoritative answer: *** Can't find baidu.com: No answer
Authoritative answers can be found from: baidu.com origin = dns.baidu.com mail addr = sa.baidu.com serial = 2012144164 refresh = 300 retry = 300 expire = 2592000 minimum = 7200
|
(5)查询其他类型的记录。
nslookup -query=TYPE DOMAIN|IP [DNS-SERVER] nslookup -qt=type domain [dns-server] nslookup -type=type domain [dns-server]
TYPE: AIPv4 地址记录 AAAAIPv6 地址记录 AFSDB Andrew文件系统数据库服务器记录 ATMA ATM地址记录 CNAME别名记录 HINFO硬件配置记录,包括CPU、操作系统信息 ISDN域名对应的ISDN号码 MB存放指定邮箱的服务器 MG邮件组记录 MINFO邮件组和邮箱的信息记录 MR改名的邮箱记录 MX邮件服务器记录 NS名字服务器记录 PTR反向记录 RP负责人记录 RT路由穿透记录 SRVTCP服务器信息记录 TXT域名对应的文本信息 X25域名对应的X.25地址记录
|
注意事项
一个问题:-qt参数和-query效果等同吗
直接看图,在linux中的nslookup貌似不支持-qt,仅仅可以使用-query
而在Windows中,都可以查询出结果
所以,,,,直接用query就好拉~
BUT,,关于 querytype 和 type 的小疑惑
查看帮助文档:man nslookup | less
得知:-querytype 和 -type 的效用一致,可以简写为 -q 和 -ty,其在不指定类型的情况下默认查询类型为 A
搞不懂、、、、、、、、、、这他喵的
refer