DNSREPLAY(1)

πŸ’– DNSREPLAY(1) β€” bestie's guide to the PowerDNS nameserver debugging tool πŸ’–

okay so. you're in the DNSREPLAY(1) girlies club now (manual name: dnsreplay, from the PowerDNS Authoritative Server era, we love a legacy icon πŸ‘‘). sit down, grab a matcha, let's get into it.


✨ SYNOPSIS ✨

dnsreplay [OPTION]... FILENAME ADDRESS [PORT]

🌸 NAME 🌸

dnsreplay β€” a PowerDNS nameserver debugging tool. literally that's the whole vibe. she debugs. πŸ’…


πŸ¦‹ DESCRIPTION πŸ¦‹

so what does she do. this program takes recorded questions and answers and replays them to the nameserver you point at, then reports back afterwards which percentage of answers matched, were better, or were worse. giving you the full report card fr fr πŸ“‹βœ¨

dnsreplay compares the answers (plus a handful of other metrics) against the actual ones found in the dumpfile. side by side. no cap.

and by default? she will only replay queries that have the recursion-desired flag set. picky queen. we respect it. πŸ™ˆ


πŸ’… OPTIONS πŸ’…

  • FILENAME β€” this is expected to be a PCAP file, babe. the queries get sent off to the DNS server you specify as ADDRESS and PORT. πŸŽ€
  • ADDRESS β€” the IPv4 or IPv6 address of the nameserver you're replaying FILENAME to. where she's headed, basically. ✈️
  • PORT β€” if you omit it, 53 will be used. default queen. ✨
  • --help, -h β€” shows you a summary of the options. your little cheat sheet. πŸ€“
  • --ecs-mask <VAL> β€” when EDNS forwarding an IP address, mask out the first octet with this value. octet-1 get editing. 🎭
  • --ecs-stamp <FLAG> β€” adds the original IP address as an EDNS Client Subnet Option when forwarding to the reference server. tagging the origin, iykyk. 🏷️
  • --packet-limit <NUM> β€” stop after replaying NUM packets. the default for NUM is 0, which means no limit β€” she'll go forever, main character energy, no brakes. πŸ”₯
  • --pcap-dns-port <VAL> β€” look at packets from or to this port in the PCAP. default is 53. πŸšͺ
  • --quiet <FLAG> β€” if FLAG is set to 1, dnsreplay will not be very noisy with its output. and this is the default, so she's quiet out of the box. shhh, she's resting. 😌
  • --recursive <FLAG> β€” if FLAG is set to 1, dnsreplay will only replay queries with the recursion-desired flag set. also the default. selective, and she's thriving. πŸ’…
  • --source-from-pcap <FLAG> β€” if FLAG is set to 1, dnsreplay will send the replayed queries from the source IP address and port present in the PCAP file. this requires IP_TRANSPARENT support, bestie, don't forget. default is 0, which means the replayed queries will be sent from a local address. 🏠
  • --source-ip <VAL> β€” send the replayed queries from the source IP you put in VAL. default is to send them from a local address. πŸ“
  • --source-port <VAL> β€” send the replayed queries from the source port specified in VAL. default is to send from a random port selected by the kernel. chaos by design, we stan. 🎲
  • --speedup <FACTOR> β€” replay queries with this speedup FACTOR. default is 1. zoom zoom. πŸŽοΈπŸ’¨
  • --timeout-msec <MSEC> β€” wait at least MSEC milliseconds for a reply. default is 500. she's patient but not that patient. ⏳

πŸ’€ BUGS πŸ’€

okay bestie, real talk, the receipts:

dnsreplay has no certain handling for timeouts. 😭

she handles around at most 65536 outstanding answers. that's the ceiling, and she knows it.


πŸ” SEE ALSO πŸ”

the whole friend group. go say hi. 🫢


🌈 AUTHOR 🌈

PowerDNS.COM BV


PowerDNS.COM BV


and that's the whole page, pookie!! πŸŽ€ this edition of the DNSREPLAY(1) manual comes to you from the PowerDNS Authoritative Server, dated Aug 05, 2026 β€” go replay some packets, stay transparent (IP_TRANSPARENT, obviously πŸ’…), and remember: default is 53, default is quiet, default is recursion-desired. periodt. πŸ’–πŸ¦‹βœ¨

πŸ“¦ where this page comes from