24cfd6dabe98f5ec7036b6c9fc406b14cca7702b
[dragonfly.git] / contrib / ldns / drill / drill.1
1 .\" @(#)drill.1 1.7.0 14-Jul-2004 OF; 
2 .TH drill 1 "28 May 2006"
3 .SH NAME
4 drill \- get (debug) information out of DNS(SEC)
5 .SH SYNOPSIS
6 .B drill
7 [
8 .IR OPTIONS
9 ]
10 .IR name
11 [
12 .IR @server
13 ]
14 [
15 .IR type
16 ]
17 [
18 .IR class
19 ]
20
21 .SH DESCRIPTION
22 \fBdrill\fR is a tool to designed to get all sorts of information out of the
23 DNS. It is specificly designed to be used with DNSSEC. 
24 .PP
25 The name \fBdrill\fR is a pun on \fBdig\fR. With \fBdrill\fR you should be able
26 get even more information than with \fBdig\fR.
27 .PP
28 If no arguments are given class defaults to 'IN' and type to 'A'. The
29 server(s) specified in /etc/resolv.conf are used to query against.
30
31 .PP
32 \fIname\fR
33 Ask for this name.
34
35 .PP
36 \fI@server\fR
37 Send to query to this server. If not specified use the nameservers from
38 \fI/etc/resolv.conf\fR.
39
40 .PP
41 \fItype\fR
42 Ask for this RR type. If type is not given on the command line it defaults
43 to 'A'. Except when doing to reverse lookup when it defaults to 'PTR'.
44
45 .PP
46 \fIclass\fR
47 Use this class when querying.
48
49 .SH SAMPLE USAGE
50 \fBdrill mx miek.nl\fR
51 Show the MX records of the domain miek.nl
52
53 .TP
54 \fBdrill -S jelte.nlnetlabs.nl\fR
55 Chase any signatures in the jelte.nlnetlab.nl domain. This option is
56 only available when ldns has been compiled with openssl-support.
57
58 .TP
59 \fBdrill -TD www.example.com\fR
60 Do a DNSSEC (-D) trace (-T) from the rootservers down to www.example.com.
61 This option only works when ldns has been compiled with openssl support.
62
63 .TP
64 \fBdrill -s dnskey jelte.nlnetlabs.nl\fR
65 Show the DNSKEY record(s) for jelte.nlnetlabs.nl. For each found DNSKEY
66 record also print the DS record.
67
68 .SH OPTIONS
69
70 .TP
71 \fB\-D
72 Enable DNSSEC in the query. When querying for DNSSEC types (DNSKEY, RRSIG,
73 DS and NSEC) this is \fInot\fR automaticly enabled.
74
75 .TP
76 \fB\-T
77 Trace \fIname\fR from the root down. When using this option the @server and
78 the type arguments are not used.
79
80 .TP
81 \fB\-S
82 Chase the signature(s) of 'name' to a known key or as high up in
83 the tree as possible.
84
85 .TP
86 \fB\-V \fIlevel\fR
87 Be more verbose. Set level to 5 to see the actual query that is sent.
88
89 .TP
90 \fB\-Q
91 Quiet mode, this overrules -V. 
92
93 .TP
94 \fB\-f \fIfile\fR
95 Read the query from a file. The query must be dumped with -w. 
96
97 .TP
98 \fB\-i \fIfile\fR
99 read the answer from the file instead from the network. This aids
100 in debugging and can be used to check if a query on disk is valid.
101 If the file contains binary data it is assumed to be a query in
102 network order.
103
104 .TP
105 \fB\-w \fIfile\fR
106 Write an answer packet to file.
107
108 .TP
109 \fB\-q \fIfile\fR
110 Write the query packet to file.
111
112 .TP
113 \fB\-v
114 Show drill's version.
115
116 .TP
117 \fB\-h
118 Show a short help message.
119
120 .SS QUERY OPTIONS
121
122 .TP
123 \fB\-4
124 Stay on ip4. Only send queries to ip4 enabled nameservers.
125
126 .TP
127 \fB\-6
128 Stay on ip6. Only send queries to ip6 enabled nameservers.
129
130 .TP
131 \fB\-a
132 Use the resolver structure's fallback mechanism if the answer
133 is truncated (TC=1). If a truncated packet is received and this
134 option is set, drill will first send a new query with EDNS0 
135 buffer size 4096.
136
137 If the EDNS0 buffer size was already set to 512+ bytes, or the
138 above retry also results in a truncated answer, the resolver
139 structure will fall back to TCP.
140
141 .TP
142 \fB\-b \fIsize\fR
143 Use size as the buffer size in the EDNS0 pseudo RR.
144
145 .TP
146 \fB\-c \fIfile\fR
147 Use file instead of /etc/resolv.conf for nameserver configuration.
148
149 .TP
150 \fB\-d \fIdomain\fR
151 When tracing (-T), start from this domain instead of the root.
152
153 .TP
154 \fB\-t
155 Use TCP/IP when querying a server
156
157 .TP
158 \fB\-k \fIkeyfile\fR
159 Use this file to read a (trusted) key from. When this options is
160 given \fBdrill\fR tries to validate the current answer with this
161 key. No chasing is done. When \fBdrill\fR is doing a secure trace, this
162 key will be used as trust anchor. Can contain a DNSKEY or a DS record.
163
164 .TP
165 \fB\-o \fImnemonic\fR
166 Use this option to set or unset specific header bits. A bit is
167 set by using the bit mnemonic in CAPITAL letters. A bit is unset when
168 the mnemonic is given in lowercase. The following mnemonics are
169 understood by \fBdrill\fR:
170
171         QR, qr: set, unset QueRy (default: on)
172         AA, aa: set, unset Authoritative Answer (default: off)
173         TC, tc: set, unset TrunCated (default: off)
174         RD, rd: set, unset Recursion Desired (default: on)
175         CD, cd: set, unset Checking Disabled  (default: off)
176         RA, ra: set, unset Recursion Available  (default: off)
177         AD, ad: set, unset Authenticated Data (default: off)
178
179 Thus: \fB-o CD\fR, will enable Checking Disabled, which instructs the 
180 cache to not validate the answers it gives out.
181
182 .TP
183 \fB\-p \fIport\fR
184 Use this port instead of the default of 53.
185
186 .TP
187 \fB\-r \fIfile\fR
188 When tracing (-T), use file as a root servers hint file.
189
190 .TP
191 \fB\-s
192 When encountering a DNSKEY print the equivalent DS also.
193
194 .TP
195 \fB\-u
196 Use UDP when querying a server. This is the default.
197
198 .TP
199 \fB\-w \fIfile\fR
200 write the answer to a file. The file will contain a hexadecimal dump
201 of the query. This can be used in conjunction with -f.
202
203 .TP
204 \fB\-x
205 Do a reverse loopup. The type argument is not used, it is preset to PTR.
206
207 .TP
208 \fB\-y \fI<name:key[:algo]>\fR
209 specify named base64 tsig key, and optional an algorithm (defaults to hmac-md5.sig-alg.reg.int)
210
211 .TP
212 \fB\-z \fR
213 don't randomize the nameserver list before sending queries.
214
215
216 .SH AUTHOR
217 Jelte Jansen and Miek Gieben. Both of NLnet Labs.
218
219 .SH REPORTING BUGS
220 Report bugs to <ldns-team@nlnetlabs.nl>.
221
222 .SH BUGS
223
224 .SH COPYRIGHT
225 Copyright (c) 2004-2008 NLnet Labs.
226 Licensed under the revised BSD license. There is NO warranty; not even for MERCHANTABILITY or
227 FITNESS FOR A PARTICULAR PURPOSE.
228
229 .SH SEE ALSO
230 \fBdig\fR(1), \fIRFC403{3,4,5}\fR.