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.