
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 は実験的であり、メンテナンスされていません。明らかにバグがあり、その出力が常に正しいとは信頼していません。
以下の異なる方法で dnspeep をインストールできます。
dnspeep リリースをダウンロードします。dnspeep バイナリを PATH に配置します(例:/usr/local/bin)。cargo build --release を実行します。dnspeep バイナリを PATH に配置します(例:/usr/local/bin)。libpcap を使用してポート53のパケットをキャプチャし、DNSリクエストとレスポンスのパケットを照合して、同じ行にリクエストとレスポンスを表示できるようにします。
また、1秒以内にレスポンスが得られなかったDNSクエリを追跡し、<no response> というレスポンスとともに出力します。
dns-message-parser クレートでサポートされているもののみです(リストはこちら)。