calidns¶
Synopsis¶
calidns [OPTIONS] QUERY_FILE DESTINATION INITIAL_QPS HITRATE
Description¶
calidns reads queries from QUERY_FILE and sends them as a recursive query to DESTINATION (an IPv4 or IPv6 address, optionally with a port number), starting at INITIAL_QPS queries per second and aims to have a cache hitrate of HITRATE percent.
It will then try to determine the maximum amount of queries per second the recursor can handle with the aforementioned HITRATE.
QUERY_FILE format¶
The format of the QUERY_FILE is very simple, it should contain “QNAME QTYPE” tuples, one per line. For example:
powerdns.com A
powerdns.com AAAA
google.com A
This is similar to Alexa top 1 million list.
Options¶
- --ecs <SUBNET>
Add EDNS Client Subnet option to outgoing queries using random addresses from the specified SUBNET range (IPv4 only).
- --ecs-from-file
Read IP or subnet values from the query file and add them as EDNS Client Subnet option to outgoing queries.
- --increment <NUM>
On every subsequent run, multiply the number of queries per second by NUM. By default, this is 1.1.
- --maximum-qps <NUM>
Stop incrementing once this rate has been reached, to provide a stable load.
- --minimum-success-rate <NUM>
Stop the test as soon as the success rate drops below this value, in percent.
- --plot-file <FILE>
Write results to the specified file.
- --proxy-protocol
Send a Proxy Protocol payload in front of outgoing queries using random addresses from the specified range (IPv4 only) as the initial source IP.
- --proxy-protocol-from-file
Read IP or subnet values from the query file and use them as the source IP in Proxy Protocol payloads in front of outgoing queries.
- --quiet
Whether to run quietly, outputting only the maximum QPS reached. This option is mostly useful when used with
--minimum-success-rate.- --want-recursion
Set this flag to send queries with the Recursion Desired flag set.