详细 DNS 查询以查看 DNS 查询顺序?

详细 DNS 查询以查看 DNS 查询顺序?

我通常通过执行以下操作来确定主机的 IP:$ host -t A example.com。是否有更详细的版本告诉我后台发生了什么,特别是查询的顺序(/etc/hosts 1st,dns server 2nd)?

正如许多人可以证明的那样,OS X Lion 解析本地/etc/hosts条目的速度非常缓慢,我想看看是什么瓶颈导致了这种情况。理论上似乎/etc/hosts应该首先查询,并且对于手动输入的主机应该立即进行名称解析。

答案1

由于 Apple 已在 Lion 中取消了这一功能nsswitch.conf,因此您可以使用 查看解析器顺序scutil --dns

我的猜测是您会看到“DNS”列在“本地”之前。

这有点麻烦,但你可以安装DNS掩码在您的 OS X 主机上,让您的系统查询它的 DNS 解析。 DNSMasq 可以/etc/hosts在搜索 DNS 之前首先读取并提供它在那里找到的条目。这将恢复正确的解析顺序。

写信的那位先生这个博客已经为您完成了所有艰苦的工作。他描述了如何安装 DNSMasq 并在 OS X Lion 上配置它。

答案2

我发现dig在这个领域特别有用。默认输出是详细的,并显示正在执行的操作(发送的内容和接收的内容。)

有一个例子:

alex$ dig m2osw.com

; <<>> DiG 9.10.3-P4-Ubuntu <<>> m2osw.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 52965
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;m2osw.com.         IN  A

;; ANSWER SECTION:
m2osw.com.      85160   IN  A   138.197.205.139

;; Query time: 18 msec
;; SERVER: 75.75.75.75#53(75.75.75.75)
;; WHEN: Sun Aug 19 18:02:58 PDT 2018
;; MSG SIZE  rcvd: 54

alex$

相关内容