如何查看网站发出的 DNS 请求?

How can I see what DNS requests are being made by a website?

我最近在我的 MX Linux 机器上从 Steven Black 的 hosts github project 生成了一个统一的主机文件。但是,它会阻止 cbs.com 加载他们的赞助消息。反过来,这会阻止实际内容的加载。我需要为他们的广告将域列入白名单,或者至少将其从我的主机文件中删除。

我想知道是否有办法 see/monitor 我正在访问的网站发出了哪些 DNS 请求。我只需要弄清楚 CBS 为他们的广告访问的服务器,这样我就可以确保他们能够访问。

找到了使用 dnstop 执行此操作的好方法。它可以安装:

sudo apt-get install dnstop

然后您需要您要收听的设备的网络接口名称。您可以使用此命令查看这些接口的列表:

ip link show

房源编号后面的名字就是您所需要的。这将类似于“eth0”或“wlan0”。知道接口名称后,运行 此命令:

dnstop {interface-name}

有了你想听的界面。 dnstop 启动后,按键盘上的数字 2 可查看列表和 运行 已发出请求的计数。