如果输入IP地址而不是URL,是否会跳过DNS?

问题描述 投票:0回答:2

这是我目前的理解:

  1. 我输入一个网址(www.google.com)并按Enter键
  2. 浏览器检查缓存中的DNS记录以查找URL的相应​​IP地址。
  3. 找到IP地址后,建立连接,依此类推......

我的问题是,如果我直接输入IP地址会怎样?浏览器是否仍会尝试查找DNS记录或联系域名系统?

我相信浏览器会识别它是一个IP地址并跳过DNS查找,但我不是100%肯定这一切是如何工作的。

有没有办法实时跟踪输入URL后输入后会发生什么?

url networking dns
2个回答
0
投票

这完全取决于您使用的浏览器。

如果您想了解会发生什么,请设置一个类似Wireshark的网络嗅探器,您可以看到从您的计算机发出的请求,例如DNS或Web服务器。

假设您使用外部DNS服务器,在实际网页请求之前存在对其的查询将倾向于指示是否按原样使用直接IP地址而不是查找。

当然不能保证,有数百种不同的方法来编写或配置软件(a),但这很可能会给你最好的指示。


(a)一些如此奇怪或折磨,甚至我可能无法想象他们:-)


0
投票

当您浏览网页时,DNS的目的是将名称转换为IP地址,以便程序知道连接到何处。

因此,根据定义,如果您为其启动IP地址而不是名称,则无需翻译,因此不需要DNS。

但请注意,基于IP而不是名称进行浏览可能无法正常工作,尤其是在HTTPS领域,甚至在HTTP中。这是因为该名称不仅仅在URL中,而是在TLS级别(通过SNI扩展以允许在单个IP上的HTTPS中进行虚拟主机)以及在具有host标头的HTTP(S)级别下渗透到远低于URL。

如果您想要评估特定情况下发生的事情(如上所述是通用的,所有规则都有例外),您可以:

  • 安装您控制的本地递归DNS解析器,将操作系统指向它并查看日志文件以查看已被要求的名称或任何其他查询
  • 同时运行网络捕获,就像使用Wireshark一样,但请注意,它可能或多或少难以解释,特别是如果您同时拥有大量其他流量。如果您的操作系统使用DNS over TLS或DNS over DNS,那么网络跟踪将更难理解。
© www.soinside.com 2019 - 2024. All rights reserved.