132 lines
3.8 KiB
Groff
132 lines
3.8 KiB
Groff
.TH ldns-testns 1 "14 Dec 2006"
|
|
.SH NAME
|
|
ldns-testns \- simple fake nameserver tool
|
|
.SH SYNOPSYS
|
|
.B ldns-testns
|
|
[
|
|
.IR OPTION
|
|
]
|
|
.IR datafile
|
|
|
|
.SH DESCRIPTION
|
|
\fBldns-testns\fR can be used to provide answers to DNS queries for
|
|
testing. The answers are premade, and can be tailored to testing
|
|
needs. The answers can be wildly invalid or unparseable.
|
|
|
|
This program is a debugging aid. It is not efficient, especially
|
|
with a long config file, but it can give any reply to any query.
|
|
This can help the developer pre-script replies for queries.
|
|
|
|
It listens to IP4 UDP and TCP by default.
|
|
You can specify a packet RR by RR with header flags to return.
|
|
|
|
ldns-testns is not meant for production use.
|
|
|
|
.SH OPTIONS
|
|
.TP
|
|
\fB-r\fR
|
|
Listens to a random port. The port number is printed to stdout.
|
|
|
|
.TP
|
|
\fB-p\fR \fIport\fR
|
|
Listens to the specified port.
|
|
|
|
.TP
|
|
\fB-f\fR \fInum\fR
|
|
Forks this number of additional instances that serve the same ports and
|
|
same datafile. They do not exit; printed is 'forked pid: <num>' and you
|
|
have to kill them yourself.
|
|
|
|
.TP
|
|
\fB-v\fR
|
|
Outputs more debug information. It is possible to give this option multiple
|
|
times to increase verbosity level.
|
|
|
|
.TP
|
|
\fB-6\fR
|
|
Bind to IP6 address instead of IP4. Use together with -p.
|
|
|
|
.TP
|
|
\fBdatafile\fR
|
|
The data file is read on start up. It contains queries and the packets
|
|
that should be sent in answer to those queries. The data file format is
|
|
explained below.
|
|
|
|
.SH DATA FILE FORMAT
|
|
The data file format has ';' to denote comment. A number of entries
|
|
are processed first to last. The first matching entry is used to answer
|
|
the query with. This is a line based format. DNS resource records
|
|
are entered in zone-file format.
|
|
|
|
You can use $ORIGIN and $TTL directives. Zone file '(' and ')' to span
|
|
multiple lines are not allowed.
|
|
|
|
$ORIGIN origin
|
|
$TTL default_ttl
|
|
|
|
ENTRY_BEGIN
|
|
|
|
; first give MATCH lines, that say what queries are matched
|
|
; by this entry.
|
|
; 'opcode' makes the query match the opcode from the reply
|
|
; if you leave it out, any opcode matches this entry.
|
|
; 'qtype' makes the query match the qtype from the reply
|
|
; 'qname' makes the query match the qname from the reply
|
|
; 'serial=1023' makes the query match if ixfr serial is 1023.
|
|
|
|
MATCH [opcode] [qtype] [qname] [serial=<value>]
|
|
MATCH [UDP|TCP]
|
|
MATCH ...
|
|
|
|
; Then the REPLY header is specified.
|
|
|
|
REPLY opcode, rcode or flags.
|
|
(opcode) QUERY IQUERY STATUS NOTIFY UPDATE
|
|
(rcode) NOERROR FORMERR SERVFAIL NXDOMAIN NOTIMPL YXDOMAIN
|
|
YXRRSET NXRRSET NOTAUTH NOTZONE
|
|
(flags) QR AA TC RD CD RA AD
|
|
|
|
REPLY ...
|
|
|
|
; any additional actions to do.
|
|
|
|
ADJUST copy_id ; 'copy_id' copies the ID from the query to the answer.
|
|
|
|
; 'sleep=10' sleeps for 10 seconds before giving the answer (TCP is open)
|
|
|
|
ADJUST [sleep=<num>] ; sleep before giving any reply
|
|
ADJUST [packet_sleep=<num>] ; sleep before this packet in sequence
|
|
|
|
SECTION QUESTION
|
|
<RRs, one per line> ; the RRcount is determined automatically.
|
|
|
|
SECTION ANSWER
|
|
<RRs, one per line>
|
|
|
|
SECTION AUTHORITY
|
|
<RRs, one per line>
|
|
|
|
SECTION ADDITIONAL
|
|
<RRs, one per line>
|
|
|
|
EXTRA_PACKET ; follow with SECTION, REPLY for more packets.
|
|
HEX_ANSWER_BEGIN ; follow with hex data
|
|
; this replaces any answer packet constructed
|
|
; with the SECTION keywords (only SECTION QUERY
|
|
; is used to match queries). If the data cannot
|
|
; be parsed, ADJUST rules for the answer packet
|
|
; are ignored
|
|
|
|
HEX_ANSWER_END
|
|
|
|
ENTRY_END
|
|
|
|
.SH AUTHOR
|
|
Written by the ldns team as an example for ldns usage, and for testing purposes.
|
|
.SH REPORTING BUGS
|
|
Report bugs to <ldns-team@nlnetlabs.nl>.
|
|
.SH COPYRIGHT
|
|
Copyright (C) 2006-2008 NLnet Labs. This is free software. There is NO
|
|
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
|
PURPOSE.
|