使用nslookup定位权威域名服务器得到权威应答

本文详细介绍了如何使用nslookup工具定位权威域名服务器并直接从该服务器发起DNS请求,确保获取权威应答的过程。通过切换DNS服务器至谷歌的开放DNS服务器,设置查询类型为nameserver和A记录,最终得到了limensi.com域名的权威应答。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >



工作中,很多时候我们使用域名访问网站,显示无法访问,抓包后发现与服务器的tcp连接都没建立起来,这个时候可能发生两种情况:
1. 服务器发生down机或者无法响应客户请求的意外情况;
2. DNS解析出的地址是一个错误的地址。


第2中情况时有发生,并且很多时候我们也不知道应该解析出来的IP为多少才是正确的,这个时候,我们可以使用nslookup工具来定位权威域名服务器,并直接从权威域名服务器上发起DNS请求,以保证解析出来的结果的权威性。
我们以limensi.com为例来看一下这个过程:
1) 我们将域名服务器切换到谷歌的开放dns服务器上,"server 8.8.8.8"
2) 设置DNS请求的记录类型为name server,也即权威域名服务器,"set type=ns"
3) 得到limensi.com的应答后,切换域名服务器到权威域名服务器,"server ns3.dreamhost.com"
4) 设置DNS请求类型为A记录,"set type=a"
5) 再次输入"limensi.com",即可得到权威服务器ns3.dreamhost.com给予的权威应答。
使用nslookup定位权威域名服务器得到权威应答




域名可以设置默认的DNS,从这个默认的DNS返回的应答就是权威应答,权威应答字段就会有相应的数据。


----------------------------------------------------------------------------
以对百度进行一次A记录查询为例
1.查询 http://baidu.com 这个域名的ns记录




2.用系统默认的DNS服务器进行查询(此时默认的DNS并不是http://baidu.com这个域名的默认DNS)




3.用百度的默认dns进行查询




再来看看步骤2和步骤3中DNS的应答报文有什么不一样
步骤2:非权威的应答报文



步骤3:权威的应答报文
可以看到权威应答字段填充的就是目标域名的ns记录












<think>好的,我现在需要解决用户在使用nslookup时遇到的非权威应答问题,正确获取名称解析。用户提到nslookup返回的是非权威应答,所以想要得到权威解析结果。根据提供的引用内容,特别是引用[2]和引用[3],我需要结合这些信息来找出解决方案。 首先,我需要理解什么是非权威应答。根据引用[2],当使用nslookup查询域名并指定DNS服务器时,如果返回的是非权威应答(Non-authoritative answer),这意味着提供答案的DNS服务器并不是该域名的权威服务器,而是从缓存中获取的数据。例如,查询www.baidu.com时,使用114.114.114.114这个公共DNS,它可能缓存了之前的查询结果,而不是直接从百度权威DNS获取的。 接下来,用户希望得到权威应答权威应答应该来自管理该域名的DNS服务器,也就是该域名的NS记录指向的服务器。要获取权威应答,用户需要直接向这些权威DNS服务器发起查询。 根据引用[2]中的示例,用户可以通过指定权威DNS服务器来查询。例如,在示例中使用nslookup www.baidu.com 114.114.114.114,得到的是非权威应答,因为114.114.114.114不是百度的权威DNS。因此,用户需要找到该域名的权威DNS服务器,然后再次查询。 如何找到域名的权威DNS服务器呢?通常,可以通过查询域名的NS记录来获取。例如,使用命令nslookup -type=ns example.com,这会返回该域名的权威DNS服务器列表。然后,用户可以选择其中一个权威DNS服务器,再次执行nslookup,指定该权威服务器作为查询的目标。 此外,引用[3]提到了返回码(rcode),如果返回码为0,表示没有错误,其他值可能表示不同的错误情况。在处理过程中,需要确保没有出现错误代码,比如服务器失败或拒绝等情况。 总结步骤应该是: 1. 查询域名的NS记录,找到权威DNS服务器。 2. 使用nslookup命令指定权威DNS服务器进行查询,以获取权威应答。 3. 检查返回结果,确保没有错误代码,并确认应答权威性。 另外,用户可能需要检查本地DNS配置,如/etc/resolv.conf中的设置,确保默认DNS服务器不会影响查询结果。不过,如果用户明确指定了权威DNS服务器,本地配置的影响应该会被绕过。 在测试过程中,用户可能会遇到权威DNS服务器不响应或无法访问的情况,这时候可能需要尝试不同的权威服务器,或者检查网络连接是否正常。此外,某些域名的权威服务器可能配置了限制,不允许来自外部的递归查询,这时候可能需要其他方法,比如使用dig命令的+trace参数来跟踪DNS解析过程,逐步获取权威应答。 最后,需要提醒用户,某些公共DNS服务器(如8.8.8.8或114.114.114.114)虽然响应快,但通常提供的是缓存结果,而非权威应答。因此,在需要权威数据时,直接查询权威服务器是必要的。</think>### 如何解决 `nslookup` 返回非权威应答并正确获取名称解析? #### 1. **理解非权威应答的原因** 当使用默认 DNS 服务器(如本地配置的 `/etc/resolv.conf`)或公共 DNS(如 `114.114.114.114`)查询域名时,返回的可能是缓存结果,而非直接来自该域名的权威 DNS 服务器。这类应答标记为 **Non-authoritative answer**,表示数据来源于缓存或递归解析,并非权威源[^2]。 --- #### 2. **直接查询权威 DNS 服务器** 要获取权威应答,需找到目标域名的 **权威 DNS 服务器**,并直接向其发起查询。 ##### 步骤: 1. **查询域名的 NS 记录** 使用 `nslookup` 或 `dig` 查询域名的 NS 记录,获取权威 DNS 服务器列表: ```bash nslookup -type=ns example.com # 或 dig ns example.com ``` 示例输出: ``` Server: 10.0.2.3 Address: 10.0.2.3#53 Non-authoritative answer: example.com nameserver = ns1.example-dns.com. example.com nameserver = ns2.example-dns.com. ``` 2. **指定权威 DNS 服务器查询** 从 NS 记录中选择一个权威服务器(如 `ns1.example-dns.com`),执行查询: ```bash nslookup www.example.com ns1.example-dns.com ``` 此时返回的应答应标记为 **Authoritative answer**。 --- #### 3. **使用 `dig` 命令追踪解析过程** `dig` 命令的 `+trace` 参数可模拟 DNS 递归解析过程,逐步显示从根服务器到权威服务器的完整路径: ```bash dig +trace www.example.com ``` 输出会显示各级 DNS 服务器的响应,最终指向权威服务器的结果。 --- #### 4. **检查 DNS 响应状态码** DNS 响应中的 `rcode` 字段表示状态。若值为 `0` 表示成功,其他值可能表示错误(如报文格式错误、服务器失败等)[^3]。确保响应中无错误代码: ```bash nslookup -debug www.example.com ``` 在调试输出中检查 `rcode` 值。 --- #### 5. **验证本地 DNS 配置** 确认本地 DNS 配置(`/etc/resolv.conf`)未强制使用缓存服务器: ```bash cat /etc/resolv.conf ``` 若需临时绕过本地 DNS,可在 `nslookup` 中显式指定权威服务器。 --- #### 示例:权威查询流程 1. 查找 `baidu.com` 的 NS 记录: ```bash nslookup -type=ns baidu.com ``` 输出: ``` baidu.com nameserver = ns3.baidu.com. baidu.com nameserver = ns2.baidu.com. ``` 2. 向权威服务器 `ns3.baidu.com` 查询 `www.baidu.com`: ```bash nslookup www.baidu.com ns3.baidu.com ``` 此时应答将标记为 **Authoritative**。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值