← 返回命令列表

Linux command

dnspyre 命令

文本

复制后可按需替换文件名、目录或参数。

常用示例

Benchmark a DNS server

dnspyre --server [8.8.8.8] [example.com]

Run a high concurrency benchmark

dnspyre --server [8.8.8.8] --duration 60s --concurrency [100] [example.com]

Benchmark with a fixed number of queries

dnspyre --server [8.8.8.8] --number [1000] [example.com]

Test specific query types

dnspyre --server [8.8.8.8] --type A --type AAAA [example.com]

Load queries from a file

dnspyre --server [8.8.8.8] @[path/to/queries.txt]

Benchmark using DNS over HTTPS

dnspyre --server https://dns.google/dns-query --doh-method post [example.com]

说明

dnspyre is a high-performance DNS benchmarking tool designed to stress test DNS servers under heavy load. It can simulate thousands of concurrent queries per second and provides detailed statistics on response times, error rates, and throughput. It was originally forked from dnstrace but has been extensively rewritten and enhanced. Queries can be specified as domain names directly, loaded from local files using @file-path, or fetched from HTTP URLs. Multiple query sources can be combined in a single run. The tool supports UDP, TCP, DNS over TLS (DoT), DNS over HTTPS (DoH), and DNS over QUIC (DoQ).

参数

-s, --server _ADDR_
DNS server address to benchmark.
-n, --number _N_
Number of query repetitions (mutually exclusive with --duration).
-d, --duration _DURATION_
Test duration (default: 1m, mutually exclusive with --number).
-c, --concurrency _N_
Number of concurrent connections (default: 1).
-t, --type _TYPE_
DNS query type: A, AAAA, CNAME, MX, TXT, HTTPS, etc. Can be specified multiple times.
--tcp
Use TCP instead of UDP.
--dot
Use DNS over TLS (DoT).
--doh-method _METHOD_
Use DNS over HTTPS with GET or POST method.
--doh-protocol _PROTO_
HTTP protocol version for DoH (1.1, 2, 3).
--doq
Use DNS over QUIC (DoQ).
--recurse
Set the recursion desired flag (default: on).
--probability _FLOAT_
Probability of sending each query (0.0-1.0).
--progress
Show progress bar (default: on).
-o, --output _FORMAT_
Output format: text, json, csv.
-v, --verbose
Enable verbose output.

FAQ

What is the dnspyre command used for?

dnspyre is a high-performance DNS benchmarking tool designed to stress test DNS servers under heavy load. It can simulate thousands of concurrent queries per second and provides detailed statistics on response times, error rates, and throughput. It was originally forked from dnstrace but has been extensively rewritten and enhanced. Queries can be specified as domain names directly, loaded from local files using @file-path, or fetched from HTTP URLs. Multiple query sources can be combined in a single run. The tool supports UDP, TCP, DNS over TLS (DoT), DNS over HTTPS (DoH), and DNS over QUIC (DoQ).

How do I run a basic dnspyre example?

Run `dnspyre --server [8.8.8.8] [example.com]` in a terminal, then adjust file names, paths, flags, or remote targets for your system.

What does -s, --server _ADDR_ do in dnspyre?

DNS server address to benchmark.