{"id":13478207,"url":"https://github.com/jvns/dnspeep","last_synced_at":"2025-04-08T08:18:08.670Z","repository":{"id":44945936,"uuid":"352400480","full_name":"jvns/dnspeep","owner":"jvns","description":"spy on the DNS queries your computer is making","archived":false,"fork":false,"pushed_at":"2024-08-27T19:11:29.000Z","size":33,"stargazers_count":1362,"open_issues_count":12,"forks_count":58,"subscribers_count":15,"default_branch":"main","last_synced_at":"2025-04-01T05:37:12.915Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jvns.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"License.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-03-28T17:59:46.000Z","updated_at":"2025-03-29T16:55:58.000Z","dependencies_parsed_at":"2024-10-27T01:04:57.547Z","dependency_job_id":null,"html_url":"https://github.com/jvns/dnspeep","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jvns%2Fdnspeep","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jvns%2Fdnspeep/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jvns%2Fdnspeep/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jvns%2Fdnspeep/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jvns","download_url":"https://codeload.github.com/jvns/dnspeep/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247801176,"owners_count":20998339,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-07-31T16:01:54.002Z","updated_at":"2025-04-08T08:18:08.642Z","avatar_url":"https://github.com/jvns.png","language":"Rust","readme":"# dnspeep\n\n`dnspeep` lets you spy on the DNS queries your computer is making.\n\nHere's some example output:\n\n```\n$ sudo dnspeep\nquery name                           server IP       response\nA     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\nAAAA  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\nA     www.google.com                 192.168.1.1     A: 172.217.13.132\nAAAA  www.google.com                 192.168.1.1     AAAA: 2607:f8b0:4020:807::2004\nA     www.neopets.com                192.168.1.1     CNAME: r9c3n8d2.stackpathcdn.com, A: 151.139.128.11\nAAAA  www.neopets.com                192.168.1.1     CNAME: r9c3n8d2.stackpathcdn.com\n```\n\n### experimental software warning\n\ndnspeep is experimental and unmaintained, it definitely has bugs, I do not trust that its output is always correct\n\n## How to install\n\nYou can install dnspeep using the different methods below.\n\n### Installing the binary release\n\n1. Download recent release of `dnspeep` from [the GitHub releases page](https://github.com/jvns/dnspeep/releases)\n1. Unpack it\n1. Put the `dnspeep` binary in your PATH (for example in `/usr/local/bin`)\n\n### Compile and installing from source\n\n1. Download recent source release of `dnspeep` from [the GitHub releases page](https://github.com/jvns/dnspeep/releases) or git clone this repository.\n1. Unpack it\n1. Run ```cargo build --release```\n1. Change to the \"target/release\" directory there.\n1. Put the `dnspeep` binary in your PATH (for example in `/usr/local/bin`)\n\n### Installing from a Linux package manager\n\n* If you are using Arch Linux, then you can install dnspeep from the [AUR](https://aur.archlinux.org/).\n\n### How it works\n\nIt uses `libpcap` to capture packets on port 53, and then matches up DNS\nrequest and response packets so that it can show the request and response\ntogether on the same line.\n\nIt also tracks DNS queries which didn't get a response within 1 second and\nprints them out with the response `\u003cno response\u003e`.\n\n### Limitations\n\n* Only supports the DNS query types supported by the `dns-message-parser` crate ([here's a list](https://docs.rs/dns-message-parser/0.6.0/dns_message_parser/rr/enum.RR.html))\n* Doesn't support TCP DNS queries, only UDP\n* It can't show DNS-over-HTTPS queries (because it would need to MITM the HTTPS connection)\n","funding_links":[],"categories":["Rust","\u003ca name=\"dns\"\u003e\u003c/a\u003edns","Dev-Utilities","others"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjvns%2Fdnspeep","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjvns%2Fdnspeep","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjvns%2Fdnspeep/lists"}