Windows nslookup 命令中的“-v”标志有什么作用?

Windows nslookup 命令中的“-v”标志有什么作用?

我正在尝试调试 Windows 主机解析器无法解析特定 DNS 名称(FQDN)的问题。

我注意到,如果我按如下方式调用 Windows nslookup 命令,

nslookup x.y.z.cloud

(xyzcloud 是实际名称的替代),请求两次超时且没有报告结果。

但是如果我打电话

nslookup -v x.y.z.cloud

或者

nslookup -v -debug x.y.z.cloud

它不会报告失败,而是从本地 DNS 服务器返回 xyzcloud 的正确非权威结果(& -debug 情况下的许多其他信息)。

但是,ping 或浏览器,或(据我所知),使用普通 Windows 解析器的任何程序都无法看到 xyzcloud 的结果。(“ipconfig /flushdns”没有帮助。)c:\Windows\System32\drivers\etc\hosts 中也没有关于 xyzcloud 的任何内容。

那么,让我们来想想,nslookup 的“-v”标志有什么作用,它使得它(显然)更成功地检索响应?我最初尝试过,以为它可能会“详细”,但如果没有 -debug,输出也不会真正详细,而且它似乎还有其他效果。

顺便问一下,是否有关于“nslookup”所有标志的文档,包括“-v”、“-debug”等?

任何关于正常名称解析可能出现的问题的想法也都欢迎提出 ;^)

注意:我发现了更多。看起来 zscaler 正在 Windows 主机上运行,​​并且可能会干扰 DNS 请求。我在评论中提到“xyzcloud”不是我们公司域中的名称。但是,它(根据我们的本地 DNS 服务器)解析为公司网络内的 IP 地址。从日志来看,zscalar 似乎将“xyzcloud”归类为外部“isTunnel2Domain”,并且可能将请求隧道传输到某个无用的地方。当使用“nslookup -v xyzcloud。”时,它通过 TCP 运行(感谢 Dave!)并且 zscalar 可能不会以相同的方式拦截它。

答案1

如前所述,“-v”标志不是 Windows nslookup 命令的有效选项,因此它不太可能对查询的成功或失败产生任何影响。根据您的描述,问题似乎与 DNS 缓存有关。即使使用“ipconfig /flushdns”刷新 DNS 缓存后,您的系统可能仍在使用 xyzcloud 域的缓存 DNS 记录,这可能会导致您所描述的行为,即 nslookup 返回的结果与其他应用程序不同。要完全清除 DNS 缓存,您可以尝试以下步骤:1.打开提升的命令提示符(即以管理员身份运行)。2.输入以下命令:“net stop dnscache”(不带引号)并按 Enter。3.等待几秒钟让 DNS 客户端服务停止。4.输入以下命令:“net start dnscache”(不带引号)并按 Enter。5.等待几秒钟让 DNS 客户端服务启动。完成这些步骤后,尝试运行 nslookup 并再次 ping xyzcloud 域,看看问题是否已解决。如果问题仍然存在,则可能还有其他因素在起作用,需要进一步调查。强调文字

答案2

如果您收到错误消息

“请求的暂停、继续或停止对于此服务无效”

从管理员命令提示符运行命令“ net stop dnscache”时,这意味着 DNS 客户端服务未运行或处于暂停或停止状态。

要解决此问题并停止 DNS 客户端服务,您可以尝试以下步骤:

  1. services.msc通过在运行对话框中输入“ ”或在开始菜单中搜索“服务”来打开服务控制台。
  2. 在服务控制台中,找到 DNS 客户端服务并确保它正在运行。如果未运行,请右键单击该服务并选择“启动”以启动它。
  3. 如果服务正在运行但问题仍然存在,请尝试选择该服务并单击服务控制台顶部工具栏中的“重新启动服务”按钮。
  4. 如果仍然无法停止服务,您可能需要使用任务管理器强制停止服务。按“ Ctrl++ ShiftEsc打开任务管理器,单击“服务”选项卡,找到 DNS 客户端服务,右键单击它并选择“结束任务”。

如果这些步骤都不能解决问题,你可能需要重新启动系统

相关内容