【DNS】关于nslookup和ping相关的域名解析

> nslookup  www.example.com
服务器:  UnKnown
Address:  127.0.0.1
*** UnKnown 找不到 www.example.com: No response from server
> ping  www.example.com
正在 Ping www.example.com [93.184.216.34] 具有 32 字节的数据:
来自 93.184.216.34 的回复: 字节=32 时间=274ms TTL=49
来自 93.184.216.34 的回复: 字节=32 时间=275ms TTL=49
来自 93.184.216.34 的回复: 字节=32 时间=278ms TTL=49
来自 93.184.216.34 的回复: 字节=32 时间=274ms TTL=49
93.184.216.34 的 Ping 统计信息:
    数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
    最短 = 274ms,最长 = 278ms,平均 = 275ms

nslookup www.example.com 为什么会出现这种结果?

这种结果可能是由于以下原因之一导致的:

  • DNS服务器故障:当nslookup命令执行时,它需要连接到DNS服务器来解析域名。如果连接到的DNS服务器出现故障或无响应,就会出现该错误信息。

  • DNS服务器设置错误:当nslookup命令执行时,它需要使用正确的DNS服务器地址。如果DNS服务器地址设置错误或无效,就会出现该错误信息。

  • 域名拼写错误:当nslookup命令执行时,它需要使用正确的域名。如果输入的域名拼写错误或不存在,就会出现该错误信息。

  • 防火墙或网络问题:当nslookup命令执行时,它需要通过网络连接到DNS服务器。如果存在防火墙或网络问题,可能会阻止nslookup命令连接到DNS服务器,从而出现该错误信息。

  • 因此,如果出现这种结果,可以检查DNS服务器是否正常、DNS服务器地址是否正确、域名是否拼写正确、防火墙或网络连接是否正常等方面,以确定问题的原因并进行相应的修复。

    在 Windows电脑上 nslookup 某个域名时,如果本地hosts无法解析,会选用电脑某张网卡的的主、备 DNS去要解析。

    如果选中的网卡主、备DNS服务器无法提供解析,就会返回上面的 UnKnown,你需要检查下你电脑的各网卡的状态和网络配置。

    刚好这张没用到的网卡当时启用了,其主DNS配置为 127.0.0.1。

    当你电脑上安装各种VPN,多出各种虚拟网卡,就需要特别关注这个问题!

    如果能ping通ip则代表链路是通的,但是ping不通域名只能说明是域名解析出现了问题!!!

    这个奇怪的问题并不需要去解决,它不影响我们的使用,只是nslookup看起来有点问题而已。
    总结如下:

    1. nslookup用DNS解释主机名/域名,而ping则用多种方式
    2. 如果路由器(准确说是局域网内DNS服务器)支持,局域网里的主机名到IP地址的解释也都可以用DNS来实现
    3. 如何解释主机名/域名为IP地址,不同程序可能有不同的做法,要具体问题具体分析
    4. nslookup似乎只询问默认网卡的DNS,导致某些主机名看起来解释不了,这点存疑
    5. wireshark是解决问题的利器
    

    在 Windows电脑上, nslookup 如何决定使用哪个 DNS ?

    在 Windows电脑上,nslookup命令会按照以下顺序来决定使用哪个DNS服务器进行域名解析:

  • 首先,它会检查本地主机文件(hosts文件)是否包含所查询域名的解析记录。如果有,nslookup将直接使用hosts文件中的IP地址进行解析,而不会使用DNS服务器。

  • 如果本地主机文件中不存在所查询域名的解析记录,则nslookup将使用本地计算机的网络连接设置中所配置的首选DNS服务器进行解析。

  • 如果首选DNS服务器无法解析所查询的域名,则nslookup将使用本地计算机的网络连接设置中所配置的备用DNS服务器进行解析。

  • 如果备用DNS服务器仍然无法解析所查询的域名,则nslookup将使用本地计算机的网络连接设置中所配置的其他DNS服务器进行解析,直到找到一个能够解析该域名的DNS服务器为止。

  • 总之,nslookup命令会按照本地主机文件和网络连接设置中所配置的DNS服务器顺序进行域名解析。如果所有DNS服务器都无法解析所查询的域名,则nslookup将返回错误信息。

    nslookup 和 ping 在 解析域名时,原理上有什么不用?

    nslookup和ping在解析域名时的原理不同。

    nslookup是一种查询工具,用于查询特定域名对应的IP地址或者反向查询IP地址对应的域名。
    它通过向DNS服务器发送查询请求,获取域名解析的结果。
    nslookup可以查询域名的各种记录类型,如A记录、MX记录、NS记录等。

    ping是一种测试工具,用于测试网络连接的可用性和延迟。
    它通过向目标IP地址发送ICMP(Internet Control Message Protocol)数据包,然后等待目标主机的响应,从而判断网络连接的情况。
    ping只能测试IP地址,不能直接解析域名。

    因此,nslookup和ping在解析域名时的原理不同,nslookup通过查询DNS服务器获取域名解析结果,而ping只能测试IP地址。

    ping只能测试IP地址,不能直接解析域名。那么ping过程中用到的ip是怎么解析出来的?

    在使用ping测试域名时,ping命令会先通过DNS解析获取域名对应的IP地址,然后再向该IP地址发送ICMP数据包进行测试。具体的解析过程如下:

  • 当输入ping命令并指定域名时,操作系统会首先查询本地DNS缓存中是否有该域名的解析结果。如果有,则直接使用该解析结果;否则,继续下一步操作。

  • 如果本地DNS缓存中没有该域名的解析结果,则操作系统会向本地DNS服务器发送查询请求,请求该域名的解析结果。

  • 如果本地DNS服务器缓存中有该域名的解析结果,则返回该结果给操作系统;否则,本地DNS服务器会向根域名服务器发送查询请求,请求该域名的解析结果。

  • 根域名服务器会返回该域名对应的顶级域名服务器的IP地址给本地DNS服务器。

  • 本地DNS服务器会向顶级域名服务器发送查询请求,请求该域名的解析结果。

  • 顶级域名服务器会返回该域名对应的权威域名服务器的IP地址给本地DNS服务器。

  • 本地DNS服务器会向权威域名服务器发送查询请求,请求该域名的解析结果。

  • 权威域名服务器会返回该域名对应的IP地址给本地DNS服务器。

  • 本地DNS服务器将该解析结果缓存起来,并返回给操作系统。

  • 操作系统使用该解析结果,向该IP地址发送ICMP数据包进行ping测试。

  • 总之,ping命令通过DNS解析获取域名对应的IP地址,然后再向该IP地址发送ICMP数据包进行测试。

    ping www.example.com 超时,会是什么原因?

    ping www.example.com
    Pinging www.example.com  [10.19.32.44] with 32 bytes of data:
    Request timed out.
    Request timed out.
    

    Ping命令在发送ICMP数据包时,需要经过多个中间节点进行转发,因此在使用Ping命令时,可能会出现丢包或延迟过高的情况。

    根据提供的信息,提示 "Request timed out" 表示请求超时,即Ping命令无法接收到目标主机返回的响应,通常是由于以下原因之一:

  • 目标主机未连接到网络或不可达:Ping命令无法在网络上找到目标主机,可能是由于目标主机未连接到网络、网络故障或路由器配置问题等原因导致的。

  • 防火墙或安全软件阻止Ping请求:防火墙或安全软件可能会拦截Ping请求,从而导致请求超时。

  • 目标主机配置错误:目标主机可能存在配置错误,例如IP地址、子网掩码、网关等配置错误,从而导致Ping请求无法到达目标主机。

  • 网络拥堵或负载过高:网络拥堵或负载过高可能会导致Ping请求无法及时到达目标主机,从而导致请求超时。

  • 因此,您可以尝试检查目标主机的网络连接情况,检查防火墙或安全软件设置,检查目标主机的配置是否正确,以及检查网络负载情况,以确定问题的原因并进行相应的修复。

    Windows 系统的 DNS 解析缓存一般是多久?

    Windows 系统的 DNS 解析缓存默认情况下是 1 小时。这意味着,如果您在一小时内多次访问同一网站,Windows 系统将使用缓存中的 DNS 解析结果,而不是每次都进行解析。但如果您在一小时后再次访问同一网站,Windows 系统将重新进行 DNS 解析并更新缓存。您也可以手动清除 DNS 缓存,以便强制系统重新进行 DNS 解析。

    Google Chrome 浏览器 DNS 解析缓存一般是多久?

    Google Chrome 浏览器的 DNS 解析缓存时间取决于操作系统的 DNS 缓存时间。
    通常情况下,Chrome 浏览器会使用操作系统的 DNS 缓存,因此其缓存时间与操作系统相同。
    在 Windows 操作系统中,默认的 DNS 缓存时间为 1 小时。但是,Chrome 浏览器也可以使用自己的 DNS 缓存,缓存时间为 60 秒。您可以在浏览器中输入 chrome://net-internals/#dns 进入 DNS 缓存页面查看缓存记录和过期时间。
    如果您需要强制刷新 DNS 缓存,可以在地址栏中输入 chrome://net-internals/#dns 然后点击“Clear host cache”按钮。

    如果您突然变更了一个系统的域名解析的公网 IP,客户端可能会出现以下反应:

  • DNS 缓存问题:如果客户端之前已经访问过该域名并缓存了 IP 地址,则客户端将继续使用缓存中的 IP 地址进行访问,而不是使用新的 IP 地址。此时,您可以尝试清除客户端的 DNS 缓存,以便客户端重新进行 DNS 解析并获取新的 IP 地址。

  • 连接失败:如果客户端尝试使用旧的 IP 地址进行连接,而该 IP 地址已经无法访问您的系统,则客户端将无法连接到您的系统。此时,您需要确保客户端使用的是新的 IP 地址。

  • 连接延迟:如果客户端尝试使用新的 IP 地址进行连接,但 DNS 服务器尚未更新缓存,则客户端可能会遇到连接延迟。这是因为客户端需要等待 DNS 服务器更新缓存并返回新的 IP 地址。在这种情况下,您可以尝试减少 DNS 缓存时间,以便客户端更快地获取新的 IP 地址。

  • 总之,为了避免客户端出现连接问题,建议您在变更域名解析的公网 IP 之前提前通知客户端并进行相应的准备工作。

    在电信运营商侧,变更了一个系统的域名解析的公网ip,需要多久才能扩散到客户端?

    在电信运营商中,变更了一个系统的域名解析的公网 IP,需要多久才能扩散到客户端,主要取决于以下因素:

  • DNS 服务器缓存时间:如果客户端使用的是 ISP 的 DNS 服务器,则需要等待 DNS 服务器更新缓存。不同的 ISP DNS 服务器缓存时间不同,一般情况下缓存时间在数小时到数天之间不等。

  • DNS 记录传播时间:DNS 记录变更后,需要等待 DNS 记录传播到其他 DNS 服务器上。DNS 记录传播时间通常在数分钟到数小时之间不等。

  • 客户端 DNS 缓存时间:如果客户端之前已经访问过该域名并缓存了 IP 地址,则需要等待客户端 DNS 缓存时间过期或手动清除 DNS 缓存。

  • 综上所述,变更一个系统的域名解析的公网 IP,需要等待数分钟到数小时不等,具体时间取决于以上因素的复杂程度。如果您需要更快地更新 DNS 记录,可以尝试减少 DNS 记录的 TTL 时间,这样可以更快地将 DNS 记录传播到其他 DNS 服务器上。