简介
本文档介绍如何使用nslookup进行测试查找。
先决条件
要求
本文档没有任何特定的要求。
使用的组件
本文档中的信息基于Cisco Umbrella。
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您的网络处于活动状态,请确保您了解所有命令的潜在影响。
概述
使用nslookup检查DNS查询响应通常用于排除DNS问题。在某些情况下,查询可能会返回额外的域级别。例如,查找sub.domain.com会产生sub.domain.com.domain.com的查询和答案。
nslookup:分辨率算法差异
查询DNS时,一种实用程序在所有现代操作系统中都无处不在:nslookup。虽然版本较旧且功能不足,但Windows用户默认限制为nslookup。需要注意的是, nslookup处理DNS的方式与dig或本地系统不同。
对于没有公共通配符的公共查询
nslookup:
1.查询domain.com(nslookup domain.com)。
2.nslookup发送“domain.com.suffix”并检查响应 — NXDOMAIN。
3.nslookup发送“domain.com.secondsuffix”并检查响应 — NXDOMAIN。
4.nslookup发送“domain.com”并返回响应。
系统DNS或Dig
1.查询domain.com(dig domain.com)。
2.dig或系统向“domain.com”上发送DNS数据包查找并返回响应
3.如果早期的信息不存在,则可以为“domain.com.suffix”生成DNS数据包
4. 如果早期的信息不存在,则可以为“domain.com.secondsuffix”生成DNS数据包
在没有本地答案且仅存在公共答案的情况下,此操作完全相同。早期场景中的唯一区别是,如果捕获了数据包,则nslookup场景可以发送附加了后缀的奇怪查询。
对于DNS后缀具有公共通配符的公共查询
nslookup:
1.查询domain.com(nslookup domain.com)
2.nslookup发送“domain.com.suffix”并检查响应。返回响应(后缀是公共通配符域)。 已找到domain.com.suffix的答案,未进行进一步查询。
系统DNS或Dig
1.查询domain.com(dig domain.com)。
2.dig或系统向“domain.com”发送DNS数据包查找并返回domain.com的响应。
因此,nslookup可能会返回与使用计算机Web浏览器的用户完全不同的DNS应答,并可能导致察觉到不正确的DNS应答。如果查询的DNS记录与计算机的后缀列表匹配,这也可能导致域出现“双重”。
将nslookup用于公共通配符DNS搜索后缀域的工作解决方案
查询DNS时,应用“”。 除非使用nslookup查询主机名,否则在查询的末尾。这可以查找所请求的精确查询。"nslookup domain.com." 只能先请求domain.com而不带后缀。
在Umbrella报告中显示
在某些场景中,可以在Umbrella报告中观察到此行为。发生这种情况时,条目可能显示为“facebook.com.domain.local”或“google.com.domain.local”。在大多数情况下,这是首先执行这些本地查询的nslookup。如果您的后缀在DNS区域上不具有权威性,可以将其转发到Umbrella,而不是由网络上的本地DNS服务器返回NXDOMAIN。
特殊情况:Umbrella漫游客户端
如果您应用的DNS搜索后缀域是公共通配符并在内部使用,您也可以观察前面提到的后缀加倍行为。有关host.domain.com的查询可以在您的报告中显示为host.domain.com.domain.com(尽管位于内部域列表中)。 如果domain.com是公共通配符,请将“domain.com.domain.com”添加到您的内部域列表,以解决任何观察到的用户影响。