Tracert dns 行为解释

Tracert dns 行为解释

我正在尝试了解 tracert 的工作原理。在使用 Wireshark 嗅探数据包时,我注意到 tracert 有时决定不解析主机名。
以下是一些示例:
tracerthttp://www.google.com----> 0 数据包
tracert guuugle -----------------------> 0 数据包
tracert w.guugle ----------------------> DNS 查询

我的意思是为什么在前两个例子中我看不到任何数据包?它怎么知道这些主机不存在?(DNS 被刷新)

答案1

系统不会解决,http://www.google.com因为它知道这不是有效的主机名。这是一个 URL,并且有一个主机名它,但它本身不是主机名。操作系统知道这一点,因为主机名中不允许使用:/(这就是 URL 使用它们作为分隔符的原因!)。

在您的第二个示例中,名称中没有任何点,因此许多系统将其视为本地名称,并首先尝试其他(非 DNS)方法解析它。虽然这不是一个严格的规则——其他一些系统尝试通过 DNS 解析单组件名称(尽管它们通常在末尾附加“本地域”)。

相关内容