{"adoption": {"forks": 380, "observed_at": "2026-08-28T04:05:29.035951+00:00", "stars": 1734}, "canonical_url": "https://ross.abutalabs.com/products/passivedns", "card": {"archived": false, "artifact_type": "cli-tool", "description": "A network sniffer that logs all DNS server replies for use in a passive DNS setup", "domain": ["security", "networking", "monitoring", "developer-tools"], "enriched": true, "function": ["networking", "monitoring", "security", "logging", "search-engine"], "health_score": 20, "homepage": "http://gamelinux.org/", "language": "C", "license": null, "license_family": "other", "maturity": "maintenance", "member_repos": ["gamelinux/passivedns"], "name": "gamelinux/passivedns", "platform": ["cli", "cross-platform"], "pushed_at": "2024-05-28T06:32:17+00:00", "repo": "gamelinux/passivedns", "stars": 1734, "tags": ["passive-dns", "dns-sniffer", "nsm", "digital-forensics", "incident-response", "pcap", "libpcap", "linux"], "topics": [], "urls": [], "use_cases": ["log all DNS server replies on a network interface", "extract DNS records from pcap files", "investigate domain and IP resolution history during incident response", "build a passive DNS database for network security monitoring", "trace malware C2 domains back to first-seen timestamps", "support digital forensics with historical DNS answer data"], "what_it_is": "PassiveDNS is a network sniffer written in C that passively collects DNS server replies from a live interface or pcap files and logs them in a structured format. It caches and aggregates duplicate DNS answers in memory to reduce log volume while preserving DNS resolution history for security investigations.", "when_to_avoid": ["you need active DNS queries or a recursive resolver rather than passive collection", "you want a full NSM platform with a web UI and query interface rather than a log producer", "you need Windows-native packet capture support out of the box"], "when_to_choose": ["you need historical DNS resolution data for incident handling or NSM", "you want a lightweight C-based sniffer that runs on a sensor or SPAN port", "you need to process pcap captures for DNS answers offline", "you want to deduplicate repetitive DNS answers without losing information"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/passivedns", "repo": "gamelinux/passivedns", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:29.035951+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:31:04.474701+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "52694f8994cf56ddba317764717d4cc04b10a7c59d12ced82a73eaf6c9d81892", "fetched_at": "2026-08-28T04:05:29.035951+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gamelinux/passivedns"}, {"content_hash": "1ae474da0c3e077c7cac0b718090df9d8aab4181932e28731c548ab0ce539bff", "fetched_at": "2026-08-29T11:08:03.983616+00:00", "kind": "homepage", "missing": false, "url": "http://gamelinux.org/"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:29.035951+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:31:04.474701+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "52694f8994cf56ddba317764717d4cc04b10a7c59d12ced82a73eaf6c9d81892", "fetched_at": "2026-08-28T04:05:29.035951+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gamelinux/passivedns"}, {"content_hash": "1ae474da0c3e077c7cac0b718090df9d8aab4181932e28731c548ab0ce539bff", "fetched_at": "2026-08-29T11:08:03.983616+00:00", "kind": "homepage", "missing": false, "url": "http://gamelinux.org/"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:31:04.474701+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "52694f8994cf56ddba317764717d4cc04b10a7c59d12ced82a73eaf6c9d81892", "fetched_at": "2026-08-28T04:05:29.035951+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gamelinux/passivedns"}, {"content_hash": "1ae474da0c3e077c7cac0b718090df9d8aab4181932e28731c548ab0ce539bff", "fetched_at": "2026-08-29T11:08:03.983616+00:00", "kind": "homepage", "missing": false, "url": "http://gamelinux.org/"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:05:29.035951+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:29.035951+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:29.035951+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:31:04.474701+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "52694f8994cf56ddba317764717d4cc04b10a7c59d12ced82a73eaf6c9d81892", "fetched_at": "2026-08-28T04:05:29.035951+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gamelinux/passivedns"}, {"content_hash": "1ae474da0c3e077c7cac0b718090df9d8aab4181932e28731c548ab0ce539bff", "fetched_at": "2026-08-29T11:08:03.983616+00:00", "kind": "homepage", "missing": false, "url": "http://gamelinux.org/"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:29.035951+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:29.035951+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:31:04.474701+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "52694f8994cf56ddba317764717d4cc04b10a7c59d12ced82a73eaf6c9d81892", "fetched_at": "2026-08-28T04:05:29.035951+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gamelinux/passivedns"}, {"content_hash": "1ae474da0c3e077c7cac0b718090df9d8aab4181932e28731c548ab0ce539bff", "fetched_at": "2026-08-29T11:08:03.983616+00:00", "kind": "homepage", "missing": false, "url": "http://gamelinux.org/"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:29.035951+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:29.035951+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:29.035951+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:31:04.474701+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "52694f8994cf56ddba317764717d4cc04b10a7c59d12ced82a73eaf6c9d81892", "fetched_at": "2026-08-28T04:05:29.035951+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gamelinux/passivedns"}, {"content_hash": "1ae474da0c3e077c7cac0b718090df9d8aab4181932e28731c548ab0ce539bff", "fetched_at": "2026-08-29T11:08:03.983616+00:00", "kind": "homepage", "missing": false, "url": "http://gamelinux.org/"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:29.035951+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:29.035951+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:31:04.474701+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "52694f8994cf56ddba317764717d4cc04b10a7c59d12ced82a73eaf6c9d81892", "fetched_at": "2026-08-28T04:05:29.035951+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gamelinux/passivedns"}, {"content_hash": "1ae474da0c3e077c7cac0b718090df9d8aab4181932e28731c548ab0ce539bff", "fetched_at": "2026-08-29T11:08:03.983616+00:00", "kind": "homepage", "missing": false, "url": "http://gamelinux.org/"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:31:04.474701+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "52694f8994cf56ddba317764717d4cc04b10a7c59d12ced82a73eaf6c9d81892", "fetched_at": "2026-08-28T04:05:29.035951+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gamelinux/passivedns"}, {"content_hash": "1ae474da0c3e077c7cac0b718090df9d8aab4181932e28731c548ab0ce539bff", "fetched_at": "2026-08-29T11:08:03.983616+00:00", "kind": "homepage", "missing": false, "url": "http://gamelinux.org/"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:31:04.474701+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "52694f8994cf56ddba317764717d4cc04b10a7c59d12ced82a73eaf6c9d81892", "fetched_at": "2026-08-28T04:05:29.035951+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gamelinux/passivedns"}, {"content_hash": "1ae474da0c3e077c7cac0b718090df9d8aab4181932e28731c548ab0ce539bff", "fetched_at": "2026-08-29T11:08:03.983616+00:00", "kind": "homepage", "missing": false, "url": "http://gamelinux.org/"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:31:04.474701+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "52694f8994cf56ddba317764717d4cc04b10a7c59d12ced82a73eaf6c9d81892", "fetched_at": "2026-08-28T04:05:29.035951+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gamelinux/passivedns"}, {"content_hash": "1ae474da0c3e077c7cac0b718090df9d8aab4181932e28731c548ab0ce539bff", "fetched_at": "2026-08-29T11:08:03.983616+00:00", "kind": "homepage", "missing": false, "url": "http://gamelinux.org/"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_releases", "no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 5605, "days_push": 827, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 32, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}