BoronGun
This guide covers the essentials. Read the full upstream guide on GitHub → For a specific release, select its tag in the repository.
BoronGun is a separate UDP DNS traffic generator for response checks, RRL tests, and throughput measurements. Release installer archives include the boron-gun binary.
Check a response
Against a server you operate, replace the documentation address and query name:
boron-gun --probe --target 192.0.2.53:53 --qname example.test. --qtype A
The default std-udp-socket backend uses ordinary OS sockets and needs no root privileges. Its process mode waits for each response, so the send rate is not a server-saturation measurement.
Understand run limits
--max-packets defaults to one. A timed run needs --max-packets 0 and --duration-seconds. When both packet and time limits are set, the first limit reached ends the run. A target QPS of zero means unlimited offered load.
Output is JSON by default; --log-format human changes the display. Use boron-gun --help for the installed version's options.
Advanced load testing
The Linux AF_XDP backend supports high-rate lab traffic and source-address strategies. It requires a dedicated lab setup, networking privileges, explicit MAC addresses, and an appropriate eBPF object for response processing.
Follow the complete BoronGun guide for building, queries, queues, reply tracking, and measurement capture. Compare generator output with NIC and server counters before drawing throughput conclusions.
For synthetic primary zones, see BoronGen.