我可以在 OSX 中分析 DNS 查找吗?

Nat*_*ong 4 dns macos

我对本地主机地址的某些请求存在延迟问题。我怀疑 DNS 查找有问题。

有没有办法可以在 OSX 上配置 DNS 查找?例如,是否有我可以在尝试进行查找时查看的日志?

hru*_*ing 6

您可以运行 tcpdump 来转储 DNS 数据包并查看 DNS 流量的行为方式。在终端中输入的类似以下内容应该可以解决问题:

sudo tcpdump -i en0 -n udp port 53
Run Code Online (Sandbox Code Playgroud)

-i en0应引用您的活动界面。在 Mac 上,这通常是en0,但如果您同时拥有以太网插孔和无线适配器,则可能需要使用en1. 这将产生类似的输出(为了清楚起见,我用长线包裹了):

22:19:46.160992 IP 192.168.1.143.61150 > 192.168.1.1.53:
  60237+ A? www-google-analytics.l.google.com. (51)
22:19:46.184272 IP 192.168.1.1.53 > 192.168.1.143.61150:
  60237 11/0/0 A 74.125.225.233, A 74.125.225.238, A 74.125.225.224,
  A 74.125.225.225, A 74.125.225.226, A 74.125.225.227, A 74.125.225.228,
  A 74.125.225.229, A 74.125.225.230, A 74.125.225.231, A 74.125.225.232 (227)
Run Code Online (Sandbox Code Playgroud)

此转储显示从我的机器到我的路由器 ( 192.168.1.143 > 192.168.1.1)的请求22:19:46.160992。我的路由器回复22:19:46.184272了响应。所以这个 DNS 请求花了大约 23 毫秒。

如果您怀疑存在 DNS 性能问题,请运行 tcpdump 命令并查找您感兴趣的服务器的 DNS 请求。如果您看到长时间的延迟或多次尝试,那么您就知道有问题。