dnspeep 可以让你监控你的计算机正在发出的DNS查询。
以下是一些示例输出:
$ sudo dnspeep
query name server IP response
A incoming.telemetry.mozilla.org 192.168.1.1 CNAME: telemetry-incoming.r53-2.services.mozilla.com, CNAME: pipeline-incoming-prod-elb-149169523.us-west-2.elb.amazonaws.com, A: 52.39.144.189, A: 54.191.136.131, A: 34.215.151.143, A: 54.149.208.57, A: 44.226.235.191, A: 52.10.174.113, A: 35.160.138.173, A: 44.238.190.78
AAAA incoming.telemetry.mozilla.org 192.168.1.1 CNAME: telemetry-incoming.r53-2.services.mozilla.com, CNAME: pipeline-incoming-prod-elb-149169523.us-west-2.elb.amazonaws.com
A www.google.com 192.168.1.1 A: 172.217.13.132
AAAA www.google.com 192.168.1.1 AAAA: 2607:f8b0:4020:807::2004
A www.neopets.com 192.168.1.1 CNAME: r9c3n8d2.stackpathcdn.com, A: 151.139.128.11
AAAA www.neopets.com 192.168.1.1 CNAME: r9c3n8d2.stackpathcdn.com
dnspeep 是实验性的且未维护,它确实有bug,我不相信它的输出总是正确的。
你可以通过以下不同方法安装 dnspeep。
dnspeepdnspeep 二进制文件放入你的 PATH 中(例如 /usr/local/bin)dnspeep 源码或通过 git clone 此仓库。cargo build --releasednspeep 二进制文件放入你的 PATH 中(例如 /usr/local/bin)它使用 libpcap 捕获端口 53 上的数据包,然后将 DNS 请求和响应数据包匹配起来,以便在同一行显示请求和响应。
它还会跟踪在 1 秒内未收到响应的 DNS 查询,并以响应 <no response> 打印它们。
dns-message-parser crate 支持的 DNS 查询类型(列表在此)