# Before `make install' is performed this script should be runnable with
# `make test'. After `make install' it should work as `perl test.pl'
# gethostby_emu.t
#
######################### We start with some black magic to print on failure.
# Change 1..1 below to 1..last_test_to_print .
# (It may become useful if the test is moved to ./t subdirectory.)
BEGIN {
$| = 1; print "1..28\n";
*Net::DNS::ToolKit::Utilities::question = \&question;
}
END {print "not ok 1\n" unless $loaded;}
#use diagnostics;
use Net::DNS::Dig qw (
ndd_gethostbyname
ndd_gethostbyaddr
ndd_gethostbyname2
AF_INET
AF_INET6
);
use Net::DNS::Codes qw(:all);
use Net::DNS::ToolKit qw(
put1char
);
use Net::DNS::ToolKit::RR;
#use Net::DNS::ToolKit::Debug qw(
# print_buf
#);
use NetAddr::IP::Util qw(
inet_ntoa
ipv6_n2x
ipv6_aton
);
$loaded = 1;
print "ok 1\n";
######################### End of black magic.
# Insert your test code below (better if it prints "ok 13"
# (correspondingly "not ok 13") depending on the success of chunk 13
# of the test code):
$test = 2;
sub ok {
print "ok $test\n";
++$test;
}
#require './recurse2txt';
# input: data pointer
# returns: pointer to query buffer
#
sub makebuf {
my $dp = shift;
my @data = split("\n",$$dp);
my $off = 0;
my $buffer = '';
foreach (@data) {
$_ =~ /0x.{2}\s+(\d+)/;
$off = put1char(\$buffer,$off,$1);
}
return \$buffer;
}
my $aques1 = q
| 0 : 0011_0011 0x33 51 3
1 : 1011_0010 0xB2 178
2 : 0000_0001 0x01 1
3 : 0000_0000 0x00 0
4 : 0000_0000 0x00 0
5 : 0000_0001 0x01 1
6 : 0000_0000 0x00 0
7 : 0000_0000 0x00 0
8 : 0000_0000 0x00 0
9 : 0000_0000 0x00 0
10 : 0000_0000 0x00 0
11 : 0000_0000 0x00 0
12 : 0000_0100 0x04 4
13 : 0110_0001 0x61 97 a
14 : 0111_0010 0x72 114 r
15 : 0111_0000 0x70 112 p
16 : 0110_0001 0x61 97 a
17 : 0000_0011 0x03 3
18 : 0110_0011 0x63 99 c
19 : 0110_1111 0x6F 111 o
20 : 0110_1101 0x6D 109 m
21 : 0000_0000 0x00 0
22 : 0000_0000 0x00 0
23 : 0000_0001 0x01 1
24 : 0000_0000 0x00 0
25 : 0000_0001 0x01 1 |;
my $aans1 = q
| 0 : 0011_0011 0x33 51 3
1 : 1011_0010 0xB2 178
2 : 1000_0001 0x81 129
3 : 1000_0000 0x80 128
4 : 0000_0000 0x00 0
5 : 0000_0001 0x01 1
6 : 0000_0000 0x00 0
7 : 0000_0001 0x01 1
8 : 0000_0000 0x00 0
9 : 0000_1000 0x08 8
10 : 0000_0000 0x00 0
11 : 0000_1000 0x08 8
12 : 0000_0100 0x04 4
13 : 0110_0001 0x61 97 a
14 : 0111_0010 0x72 114 r
15 : 0111_0000 0x70 112 p
16 : 0110_0001 0x61 97 a
17 : 0000_0011 0x03 3
18 : 0110_0011 0x63 99 c
19 : 0110_1111 0x6F 111 o
20 : 0110_1101 0x6D 109 m
21 : 0000_0000 0x00 0
22 : 0000_0000 0x00 0
23 : 0000_0001 0x01 1
24 : 0000_0000 0x00 0
25 : 0000_0001 0x01 1
26 : 1100_0000 0xC0 192
27 : 0000_1100 0x0C 12
28 : 0000_0000 0x00 0
29 : 0000_0001 0x01 1
30 : 0000_0000 0x00 0
31 : 0000_0001 0x01 1
32 : 0000_0000 0x00 0
33 : 0000_0000 0x00 0
34 : 0000_0000 0x00 0
35 : 0010_1010 0x2A 42 *
36 : 0000_0000 0x00 0
37 : 0000_0100 0x04 4
38 : 1010_1110 0xAE 174
39 : 1000_1000 0x88 136
40 : 0110_1000 0x68 104 h
41 : 1110_1010 0xEA 234
42 : 1100_0000 0xC0 192
43 : 0000_1100 0x0C 12
44 : 0000_0000 0x00 0
45 : 0000_0010 0x02 2
46 : 0000_0000 0x00 0
47 : 0000_0001 0x01 1
48 : 0000_0000 0x00 0
49 : 0000_0001 0x01 1
50 : 0101_0001 0x51 81 Q
51 : 0110_1110 0x6E 110 n
52 : 0000_0000 0x00 0
53 : 0001_0100 0x14 20
54 : 0000_0101 0x05 5
55 : 0111_0000 0x70 112 p
56 : 0110_0100 0x64 100 d
57 : 0110_1110 0x6E 110 n
58 : 0111_0011 0x73 115 s
59 : 0011_0100 0x34 52 4
60 : 0000_1000 0x08 8
61 : 0111_0101 0x75 117 u
62 : 0110_1100 0x6C 108 l
63 : 0111_0100 0x74 116 t
64 : 0111_0010 0x72 114 r
65 : 0110_0001 0x61 97 a
66 : 0110_0100 0x64 100 d
67 : 0110_1110 0x6E 110 n
68 : 0111_0011 0x73 115 s
69 : 0000_0011 0x03 3
70 : 0110_1111 0x6F 111 o
71 : 0111_0010 0x72 114 r
72 : 0110_0111 0x67 103 g
73 : 0000_0000 0x00 0
74 : 1100_0000 0xC0 192
75 : 0000_1100 0x0C 12
76 : 0000_0000 0x00 0
77 : 0000_0010 0x02 2
78 : 0000_0000 0x00 0
79 : 0000_0001 0x01 1
80 : 0000_0000 0x00 0
81 : 0000_0001 0x01 1
82 : 0101_0001 0x51 81 Q
83 : 0110_1110 0x6E 110 n
84 : 0000_0000 0x00 0
85 : 0001_0100 0x14 20
86 : 0000_0101 0x05 5
87 : 0111_0000 0x70 112 p
88 : 0110_0100 0x64 100 d
89 : 0110_1110 0x6E 110 n
90 : 0111_0011 0x73 115 s
91 : 0011_0001 0x31 49 1
92 : 0000_1000 0x08 8
93 : 0111_0101 0x75 117 u
94 : 0110_1100 0x6C 108 l
95 : 0111_0100 0x74 116 t
96 : 0111_0010 0x72 114 r
97 : 0110_0001 0x61 97 a
98 : 0110_0100 0x64 100 d
99 : 0110_1110 0x6E 110 n
100 : 0111_0011 0x73 115 s
101 : 0000_0011 0x03 3
102 : 0110_1110 0x6E 110 n
103 : 0110_0101 0x65 101 e
104 : 0111_0100 0x74 116 t
105 : 0000_0000 0x00 0
106 : 1100_0000 0xC0 192
107 : 0000_1100 0x0C 12
108 : 0000_0000 0x00 0
109 : 0000_0010 0x02 2
110 : 0000_0000 0x00 0
111 : 0000_0001 0x01 1
112 : 0000_0000 0x00 0
113 : 0000_0001 0x01 1
114 : 0101_0001 0x51 81 Q
115 : 0110_1110 0x6E 110 n
116 : 0000_0000 0x00 0
117 : 0000_1000 0x08 8
118 : 0000_0101 0x05 5
119 : 0111_0101 0x75 117 u
120 : 0110_0100 0x64 100 d
121 : 0110_1110 0x6E 110 n
122 : 0111_0011 0x73 115 s
123 : 0011_0010 0x32 50 2
124 : 1100_0000 0xC0 192
125 : 0101_1100 0x5C 92 \
126 : 1100_0000 0xC0 192
127 : 0000_1100 0x0C 12
128 : 0000_0000 0x00 0
129 : 0000_0010 0x02 2
130 : 0000_0000 0x00 0
131 : 0000_0001 0x01 1
132 : 0000_0000 0x00 0
133 : 0000_0001 0x01 1
134 : 0101_0001 0x51 81 Q
135 : 0110_1110 0x6E 110 n
136 : 0000_0000 0x00 0
137 : 0000_1000 0x08 8
138 : 0000_0101 0x05 5
139 : 0111_0000 0x70 112 p
140 : 0110_0100 0x64 100 d
141 : 0110_1110 0x6E 110 n
142 : 0111_0011 0x73 115 s
143 : 0011_0010 0x32 50 2
144 : 1100_0000 0xC0 192
145 : 0101_1100 0x5C 92 \
146 : 1100_0000 0xC0 192
147 : 0000_1100 0x0C 12
148 : 0000_0000 0x00 0
149 : 0000_0010 0x02 2
150 : 0000_0000 0x00 0
151 : 0000_0001 0x01 1
152 : 0000_0000 0x00 0
153 : 0000_0001 0x01 1
154 : 0101_0001 0x51 81 Q
155 : 0110_1110 0x6E 110 n
156 : 0000_0000 0x00 0
157 : 0000_1000 0x08 8
158 : 0000_0101 0x05 5
159 : 0111_0101 0x75 117 u
160 : 0110_0100 0x64 100 d
161 : 0110_1110 0x6E 110 n
162 : 0111_0011 0x73 115 s
163 : 0011_0001 0x31 49 1
164 : 1100_0000 0xC0 192
165 : 0101_1100 0x5C 92 \
166 : 1100_0000 0xC0 192
167 : 0000_1100 0x0C 12
168 : 0000_0000 0x00 0
169 : 0000_0010 0x02 2
170 : 0000_0000 0x00 0
171 : 0000_0001 0x01 1
172 : 0000_0000 0x00 0
173 : 0000_0001 0x01 1
174 : 0101_0001 0x51 81 Q
175 : 0110_1110 0x6E 110 n
176 : 0000_0000 0x00 0
177 : 0001_0110 0x16 22
178 : 0000_0101 0x05 5
179 : 0111_0000 0x70 112 p
180 : 0110_0100 0x64 100 d
181 : 0110_1110 0x6E 110 n
182 : 0111_0011 0x73 115 s
183 : 0011_0110 0x36 54 6
184 : 0000_1000 0x08 8
185 : 0111_0101 0x75 117 u
186 : 0110_1100 0x6C 108 l
187 : 0111_0100 0x74 116 t
188 : 0111_0010 0x72 114 r
189 : 0110_0001 0x61 97 a
190 : 0110_0100 0x64 100 d
191 : 0110_1110 0x6E 110 n
192 : 0111_0011 0x73 115 s
193 : 0000_0010 0x02 2
194 : 0110_0011 0x63 99 c
195 : 0110_1111 0x6F 111 o
196 : 0000_0010 0x02 2
197 : 0111_0101 0x75 117 u
198 : 0110_1011 0x6B 107 k
199 : 0000_0000 0x00 0
200 : 1100_0000 0xC0 192
201 : 0000_1100 0x0C 12
202 : 0000_0000 0x00 0
203 : 0000_0010 0x02 2
204 : 0000_0000 0x00 0
205 : 0000_0001 0x01 1
206 : 0000_0000 0x00 0
207 : 0000_0001 0x01 1
208 : 0101_0001 0x51 81 Q
209 : 0110_1110 0x6E 110 n
210 : 0000_0000 0x00 0
211 : 0000_1000 0x08 8
212 : 0000_0101 0x05 5
213 : 0111_0000 0x70 112 p
214 : 0110_0100 0x64 100 d
215 : 0110_1110 0x6E 110 n
216 : 0111_0011 0x73 115 s
217 : 0011_0011 0x33 51 3
218 : 1100_0000 0xC0 192
219 : 0011_1100 0x3C 60 <
220 : 1100_0000 0xC0 192
221 : 0000_1100 0x0C 12
222 : 0000_0000 0x00 0
223 : 0000_0010 0x02 2
224 : 0000_0000 0x00 0
225 : 0000_0001 0x01 1
226 : 0000_0000 0x00 0
227 : 0000_0001 0x01 1
228 : 0101_0001 0x51 81 Q
229 : 0110_1110 0x6E 110 n
230 : 0000_0000 0x00 0
231 : 0001_0101 0x15 21
232 : 0000_0101 0x05 5
233 : 0111_0000 0x70 112 p
234 : 0110_0100 0x64 100 d
235 : 0110_1110 0x6E 110 n
236 : 0111_0011 0x73 115 s
237 : 0011_0101 0x35 53 5
238 : 0000_1000 0x08 8
239 : 0111_0101 0x75 117 u
240 : 0110_1100 0x6C 108 l
241 : 0111_0100 0x74 116 t
242 : 0111_0010 0x72 114 r
243 : 0110_0001 0x61 97 a
244 : 0110_0100 0x64 100 d
245 : 0110_1110 0x6E 110 n
246 : 0111_0011 0x73 115 s
247 : 0000_0100 0x04 4
248 : 0110_1001 0x69 105 i
249 : 0110_1110 0x6E 110 n
250 : 0110_0110 0x66 102 f
251 : 0110_1111 0x6F 111 o
252 : 0000_0000 0x00 0
253 : 1100_0000 0xC0 192
254 : 0101_0110 0x56 86 V
255 : 0000_0000 0x00 0
256 : 0000_0001 0x01 1
257 : 0000_0000 0x00 0
258 : 0000_0001 0x01 1
259 : 0000_0000 0x00 0
260 : 0000_0000 0x00 0
261 : 0000_0100 0x04 4
262 : 1110_1010 0xEA 234
263 : 0000_0000 0x00 0
264 : 0000_0100 0x04 4
265 : 1100_1100 0xCC 204
266 : 0100_1010 0x4A 74 J
267 : 0110_1100 0x6C 108 l
268 : 0000_0001 0x01 1
269 : 1100_0000 0xC0 192
270 : 1000_1010 0x8A 138
271 : 0000_0000 0x00 0
272 : 0000_0001 0x01 1
273 : 0000_0000 0x00 0
274 : 0000_0001 0x01 1
275 : 0000_0000 0x00 0
276 : 0000_0000 0x00 0
277 : 0000_0100 0x04 4
278 : 1110_1010 0xEA 234
279 : 0000_0000 0x00 0
280 : 0000_0100 0x04 4
281 : 1100_1100 0xCC 204
282 : 0100_1010 0x4A 74 J
283 : 0110_1101 0x6D 109 m
284 : 0000_0001 0x01 1
285 : 1100_0000 0xC0 192
286 : 1101_0100 0xD4 212
287 : 0000_0000 0x00 0
288 : 0000_0001 0x01 1
289 : 0000_0000 0x00 0
290 : 0000_0001 0x01 1
291 : 0000_0000 0x00 0
292 : 0000_0000 0x00 0
293 : 1110_1110 0xEE 238
294 : 0010_0011 0x23 35 #
295 : 0000_0000 0x00 0
296 : 0000_0100 0x04 4
297 : 1100_0111 0xC7 199
298 : 0000_0111 0x07 7
299 : 0100_0100 0x44 68 D
300 : 0000_0001 0x01 1
301 : 1100_0000 0xC0 192
302 : 0011_0110 0x36 54 6
303 : 0000_0000 0x00 0
304 : 0000_0001 0x01 1
305 : 0000_0000 0x00 0
306 : 0000_0001 0x01 1
307 : 0000_0000 0x00 0
308 : 0000_0001 0x01 1
309 : 0010_0010 0x22 34 "
310 : 0110_1010 0x6A 106 j
311 : 0000_0000 0x00 0
312 : 0000_0100 0x04 4
313 : 1100_0111 0xC7 199
314 : 0000_0111 0x07 7
315 : 0100_0101 0x45 69 E
316 : 0000_0001 0x01 1
317 : 1100_0000 0xC0 192
318 : 1110_1000 0xE8 232
319 : 0000_0000 0x00 0
320 : 0000_0001 0x01 1
321 : 0000_0000 0x00 0
322 : 0000_0001 0x01 1
323 : 0000_0000 0x00 0
324 : 0000_0000 0x00 0
325 : 1110_1110 0xEE 238
326 : 0010_0011 0x23 35 #
327 : 0000_0000 0x00 0
328 : 0000_0100 0x04 4
329 : 1100_1100 0xCC 204
330 : 0100_1010 0x4A 74 J
331 : 0111_0010 0x72 114 r
332 : 0000_0001 0x01 1
333 : 1100_0000 0xC0 192
334 : 1011_0010 0xB2 178
335 : 0000_0000 0x00 0
336 : 0000_0001 0x01 1
337 : 0000_0000 0x00 0
338 : 0000_0001 0x01 1
339 : 0000_0000 0x00 0
340 : 0000_0000 0x00 0
341 : 1110_1110 0xEE 238
342 : 0010_0011 0x23 35 #
343 : 0000_0000 0x00 0
344 : 0000_0100 0x04 4
345 : 1100_1100 0xCC 204
346 : 0100_1010 0x4A 74 J
347 : 0111_0011 0x73 115 s
348 : 0000_0001 0x01 1
349 : 1100_0000 0xC0 192
350 : 1001_1110 0x9E 158
351 : 0000_0000 0x00 0
352 : 0000_0001 0x01 1
353 : 0000_0000 0x00 0
354 : 0000_0001 0x01 1
355 : 0000_0000 0x00 0
356 : 0000_0000 0x00 0
357 : 1101_1110 0xDE 222
358 : 0000_1010 0x0A 10
359 : 0000_0000 0x00 0
360 : 0000_0100 0x04 4
361 : 1100_1100 0xCC 204
362 : 0100_0101 0x45 69 E
363 : 1110_1010 0xEA 234
364 : 0000_0001 0x01 1
365 : 1100_0000 0xC0 192
366 : 0111_0110 0x76 118 v
367 : 0000_0000 0x00 0
368 : 0000_0001 0x01 1
369 : 0000_0000 0x00 0
370 : 0000_0001 0x01 1
371 : 0000_0000 0x00 0
372 : 0000_0000 0x00 0
373 : 1101_1110 0xDE 222
374 : 0000_1010 0x0A 10
375 : 0000_0000 0x00 0
376 : 0000_0100 0x04 4
377 : 1100_1100 0xCC 204
378 : 0100_1010 0x4A 74 J
379 : 0110_0101 0x65 101 e
380 : 0000_0001 0x01 1 |;
# ; <<>> dig.pl 1.10 <<>> -d arpa.com
# ;;
# ;; Got answer.
# ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 13234
# ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 8, ADDITIONAL: 8
#
# ;; QUESTION SECTION:
# ;arpa.com. IN A
#
# ;; ANSWER SECTION:
# arpa.com. 42 IN A 174.136.104.234
#
# ;; AUTHORITY SECTION:
# arpa.com. 86382 IN NS pdns4.ultradns.org.
# arpa.com. 86382 IN NS pdns1.ultradns.net.
# arpa.com. 86382 IN NS udns2.ultradns.net.
# arpa.com. 86382 IN NS pdns2.ultradns.net.
# arpa.com. 86382 IN NS udns1.ultradns.net.
# arpa.com. 86382 IN NS pdns6.ultradns.co.uk.
# arpa.com. 86382 IN NS pdns3.ultradns.org.
# arpa.com. 86382 IN NS pdns5.ultradns.info.
#
# ;; ADDITIONAL SECTION:
# pdns1.ultradns.net. 1258 IN A 204.74.108.1
# pdns2.ultradns.net. 1258 IN A 204.74.109.1
# pdns3.ultradns.org. 60963 IN A 199.7.68.1
# pdns4.ultradns.org. 74346 IN A 199.7.69.1
# pdns5.ultradns.info. 60963 IN A 204.74.114.1
# pdns6.ultradns.co.uk. 60963 IN A 204.74.115.1
# udns1.ultradns.net. 56842 IN A 204.69.234.1
# udns2.ultradns.net. 56842 IN A 204.74.101.1
#
# ;; Query time: 61 ms
# ;; SERVER: 192.168.1.171# 53(192.168.1.171)
# ;; WHEN: Sun Oct 2 15:12:41 2011
# ;; MSG SIZE rcvd: 381 -- XFR size: 18 records
#
my $pques1 = q
| 0 : 0011_0011 0x33 51 3
1 : 1110_0100 0xE4 228
2 : 0000_0001 0x01 1
3 : 0000_0000 0x00 0
4 : 0000_0000 0x00 0
5 : 0000_0001 0x01 1
6 : 0000_0000 0x00 0
7 : 0000_0000 0x00 0
8 : 0000_0000 0x00 0
9 : 0000_0000 0x00 0
10 : 0000_0000 0x00 0
11 : 0000_0000 0x00 0
12 : 0000_0011 0x03 3
13 : 0011_0010 0x32 50 2
14 : 0011_0011 0x33 51 3
15 : 0011_0100 0x34 52 4
16 : 0000_0011 0x03 3
17 : 0011_0001 0x31 49 1
18 : 0011_0000 0x30 48 0
19 : 0011_0100 0x34 52 4
20 : 0000_0011 0x03 3
21 : 0011_0001 0x31 49 1
22 : 0011_0011 0x33 51 3
23 : 0011_0110 0x36 54 6
24 : 0000_0011 0x03 3
25 : 0011_0001 0x31 49 1
26 : 0011_0111 0x37 55 7
27 : 0011_0100 0x34 52 4
28 : 0000_0111 0x07 7
29 : 0110_1001 0x69 105 i
30 : 0110_1110 0x6E 110 n
31 : 0010_1101 0x2D 45 -
32 : 0110_0001 0x61 97 a
33 : 0110_0100 0x64 100 d
34 : 0110_0100 0x64 100 d
35 : 0111_0010 0x72 114 r
36 : 0000_0100 0x04 4
37 : 0110_0001 0x61 97 a
38 : 0111_0010 0x72 114 r
39 : 0111_0000 0x70 112 p
40 : 0110_0001 0x61 97 a
41 : 0000_0000 0x00 0
42 : 0000_0000 0x00 0
43 : 0000_1100 0x0C 12
44 : 0000_0000 0x00 0
45 : 0000_0001 0x01 1 |;
my $pans1 = q
| 0 : 0011_0011 0x33 51 3
1 : 1110_0100 0xE4 228
2 : 1000_0001 0x81 129
3 : 1000_0000 0x80 128
4 : 0000_0000 0x00 0
5 : 0000_0001 0x01 1
6 : 0000_0000 0x00 0
7 : 0000_0001 0x01 1
8 : 0000_0000 0x00 0
9 : 0000_0010 0x02 2
10 : 0000_0000 0x00 0
11 : 0000_0010 0x02 2
12 : 0000_0011 0x03 3
13 : 0011_0010 0x32 50 2
14 : 0011_0011 0x33 51 3
15 : 0011_0100 0x34 52 4
16 : 0000_0011 0x03 3
17 : 0011_0001 0x31 49 1
18 : 0011_0000 0x30 48 0
19 : 0011_0100 0x34 52 4
20 : 0000_0011 0x03 3
21 : 0011_0001 0x31 49 1
22 : 0011_0011 0x33 51 3
23 : 0011_0110 0x36 54 6
24 : 0000_0011 0x03 3
25 : 0011_0001 0x31 49 1
26 : 0011_0111 0x37 55 7
27 : 0011_0100 0x34 52 4
28 : 0000_0111 0x07 7
29 : 0110_1001 0x69 105 i
30 : 0110_1110 0x6E 110 n
31 : 0010_1101 0x2D 45 -
32 : 0110_0001 0x61 97 a
33 : 0110_0100 0x64 100 d
34 : 0110_0100 0x64 100 d
35 : 0111_0010 0x72 114 r
36 : 0000_0100 0x04 4
37 : 0110_0001 0x61 97 a
38 : 0111_0010 0x72 114 r
39 : 0111_0000 0x70 112 p
40 : 0110_0001 0x61 97 a
41 : 0000_0000 0x00 0
42 : 0000_0000 0x00 0
43 : 0000_1100 0x0C 12
44 : 0000_0000 0x00 0
45 : 0000_0001 0x01 1
46 : 1100_0000 0xC0 192
47 : 0000_1100 0x0C 12
48 : 0000_0000 0x00 0
49 : 0000_1100 0x0C 12
50 : 0000_0000 0x00 0
51 : 0000_0001 0x01 1
52 : 0000_0000 0x00 0
53 : 0000_0000 0x00 0
54 : 0000_1101 0x0D 13
55 : 1110_1010 0xEA 234
56 : 0000_0000 0x00 0
57 : 0000_1100 0x0C 12
58 : 0000_0001 0x01 1
59 : 0110_0001 0x61 97 a
60 : 0000_0100 0x04 4
61 : 0110_0001 0x61 97 a
62 : 0111_0010 0x72 114 r
63 : 0111_0000 0x70 112 p
64 : 0110_0001 0x61 97 a
65 : 0000_0011 0x03 3
66 : 0110_0011 0x63 99 c
67 : 0110_1111 0x6F 111 o
68 : 0110_1101 0x6D 109 m
69 : 0000_0000 0x00 0
70 : 1100_0000 0xC0 192
71 : 0001_0000 0x10 16
72 : 0000_0000 0x00 0
73 : 0000_0010 0x02 2
74 : 0000_0000 0x00 0
75 : 0000_0001 0x01 1
76 : 0000_0000 0x00 0
77 : 0000_0000 0x00 0
78 : 0000_1101 0x0D 13
79 : 1110_1010 0xEA 234
80 : 0000_0000 0x00 0
81 : 0001_0010 0x12 18
82 : 0000_0011 0x03 3
83 : 0110_1110 0x6E 110 n
84 : 0111_0011 0x73 115 s
85 : 0011_0010 0x32 50 2
86 : 0000_1011 0x0B 11
87 : 0110_0001 0x61 97 a
88 : 0111_0010 0x72 114 r
89 : 0111_0000 0x70 112 p
90 : 0110_1110 0x6E 110 n
91 : 0110_0101 0x65 101 e
92 : 0111_0100 0x74 116 t
93 : 0111_0111 0x77 119 w
94 : 0110_1111 0x6F 111 o
95 : 0111_0010 0x72 114 r
96 : 0110_1011 0x6B 107 k
97 : 0111_0011 0x73 115 s
98 : 1100_0000 0xC0 192
99 : 0100_0001 0x41 65 A
100 : 1100_0000 0xC0 192
101 : 0001_0000 0x10 16
102 : 0000_0000 0x00 0
103 : 0000_0010 0x02 2
104 : 0000_0000 0x00 0
105 : 0000_0001 0x01 1
106 : 0000_0000 0x00 0
107 : 0000_0000 0x00 0
108 : 0000_1101 0x0D 13
109 : 1110_1010 0xEA 234
110 : 0000_0000 0x00 0
111 : 0000_0110 0x06 6
112 : 0000_0011 0x03 3
113 : 0110_1110 0x6E 110 n
114 : 0111_0011 0x73 115 s
115 : 0011_0001 0x31 49 1
116 : 1100_0000 0xC0 192
117 : 0101_0110 0x56 86 V
118 : 1100_0000 0xC0 192
119 : 0111_0000 0x70 112 p
120 : 0000_0000 0x00 0
121 : 0000_0001 0x01 1
122 : 0000_0000 0x00 0
123 : 0000_0001 0x01 1
124 : 0000_0000 0x00 0
125 : 0000_0000 0x00 0
126 : 0000_0001 0x01 1
127 : 0000_0110 0x06 6
128 : 0000_0000 0x00 0
129 : 0000_0100 0x04 4
130 : 1101_0000 0xD0 208
131 : 0100_1111 0x4F 79 O
132 : 0101_1000 0x58 88 X
133 : 0000_0111 0x07 7
134 : 1100_0000 0xC0 192
135 : 0101_0010 0x52 82 R
136 : 0000_0000 0x00 0
137 : 0000_0001 0x01 1
138 : 0000_0000 0x00 0
139 : 0000_0001 0x01 1
140 : 0000_0000 0x00 0
141 : 0000_0000 0x00 0
142 : 0000_0001 0x01 1
143 : 0000_0110 0x06 6
144 : 0000_0000 0x00 0
145 : 0000_0100 0x04 4
146 : 1101_0000 0xD0 208
147 : 0100_1111 0x4F 79 O
148 : 0101_1001 0x59 89 Y
149 : 0000_1001 0x09 9 |;
my $zans1 = q # answer count set to zero
| 0 : 0011_0011 0x33 51 3
1 : 1110_0100 0xE4 228
2 : 1000_0001 0x81 129
3 : 1000_0000 0x80 128
4 : 0000_0000 0x00 0
5 : 0000_0001 0x01 1
6 : 0000_0000 0x00 0
7 : 0000_0000 0x00 0
8 : 0000_0000 0x00 0
9 : 0000_0010 0x02 2
10 : 0000_0000 0x00 0
11 : 0000_0010 0x02 2
12 : 0000_0011 0x03 3
13 : 0011_0010 0x32 50 2
14 : 0011_0011 0x33 51 3
15 : 0011_0100 0x34 52 4
16 : 0000_0011 0x03 3
17 : 0011_0001 0x31 49 1
18 : 0011_0000 0x30 48 0
19 : 0011_0100 0x34 52 4
20 : 0000_0011 0x03 3
21 : 0011_0001 0x31 49 1
22 : 0011_0011 0x33 51 3
23 : 0011_0110 0x36 54 6
24 : 0000_0011 0x03 3
25 : 0011_0001 0x31 49 1
26 : 0011_0111 0x37 55 7
27 : 0011_0100 0x34 52 4
28 : 0000_0111 0x07 7
29 : 0110_1001 0x69 105 i
30 : 0110_1110 0x6E 110 n
31 : 0010_1101 0x2D 45 -
32 : 0110_0001 0x61 97 a
33 : 0110_0100 0x64 100 d
34 : 0110_0100 0x64 100 d
35 : 0111_0010 0x72 114 r
36 : 0000_0100 0x04 4
37 : 0110_0001 0x61 97 a
38 : 0111_0010 0x72 114 r
39 : 0111_0000 0x70 112 p
40 : 0110_0001 0x61 97 a
41 : 0000_0000 0x00 0
42 : 0000_0000 0x00 0
43 : 0000_1100 0x0C 12
44 : 0000_0000 0x00 0
45 : 0000_0001 0x01 1
46 : 1100_0000 0xC0 192
47 : 0000_1100 0x0C 12
48 : 0000_0000 0x00 0
49 : 0000_1100 0x0C 12
50 : 0000_0000 0x00 0
51 : 0000_0001 0x01 1
52 : 0000_0000 0x00 0
53 : 0000_0000 0x00 0
54 : 0000_1101 0x0D 13
55 : 1110_1010 0xEA 234
56 : 0000_0000 0x00 0
57 : 0000_1100 0x0C 12
58 : 0000_0001 0x01 1
59 : 0110_0001 0x61 97 a
60 : 0000_0100 0x04 4
61 : 0110_0001 0x61 97 a
62 : 0111_0010 0x72 114 r
63 : 0111_0000 0x70 112 p
64 : 0110_0001 0x61 97 a
65 : 0000_0011 0x03 3
66 : 0110_0011 0x63 99 c
67 : 0110_1111 0x6F 111 o
68 : 0110_1101 0x6D 109 m
69 : 0000_0000 0x00 0
70 : 1100_0000 0xC0 192
71 : 0001_0000 0x10 16
72 : 0000_0000 0x00 0
73 : 0000_0010 0x02 2
74 : 0000_0000 0x00 0
75 : 0000_0001 0x01 1
76 : 0000_0000 0x00 0
77 : 0000_0000 0x00 0
78 : 0000_1101 0x0D 13
79 : 1110_1010 0xEA 234
80 : 0000_0000 0x00 0
81 : 0001_0010 0x12 18
82 : 0000_0011 0x03 3
83 : 0110_1110 0x6E 110 n
84 : 0111_0011 0x73 115 s
85 : 0011_0010 0x32 50 2
86 : 0000_1011 0x0B 11
87 : 0110_0001 0x61 97 a
88 : 0111_0010 0x72 114 r
89 : 0111_0000 0x70 112 p
90 : 0110_1110 0x6E 110 n
91 : 0110_0101 0x65 101 e
92 : 0111_0100 0x74 116 t
93 : 0111_0111 0x77 119 w
94 : 0110_1111 0x6F 111 o
95 : 0111_0010 0x72 114 r
96 : 0110_1011 0x6B 107 k
97 : 0111_0011 0x73 115 s
98 : 1100_0000 0xC0 192
99 : 0100_0001 0x41 65 A
100 : 1100_0000 0xC0 192
101 : 0001_0000 0x10 16
102 : 0000_0000 0x00 0
103 : 0000_0010 0x02 2
104 : 0000_0000 0x00 0
105 : 0000_0001 0x01 1
106 : 0000_0000 0x00 0
107 : 0000_0000 0x00 0
108 : 0000_1101 0x0D 13
109 : 1110_1010 0xEA 234
110 : 0000_0000 0x00 0
111 : 0000_0110 0x06 6
112 : 0000_0011 0x03 3
113 : 0110_1110 0x6E 110 n
114 : 0111_0011 0x73 115 s
115 : 0011_0001 0x31 49 1
116 : 1100_0000 0xC0 192
117 : 0101_0110 0x56 86 V
118 : 1100_0000 0xC0 192
119 : 0111_0000 0x70 112 p
120 : 0000_0000 0x00 0
121 : 0000_0001 0x01 1
122 : 0000_0000 0x00 0
123 : 0000_0001 0x01 1
124 : 0000_0000 0x00 0
125 : 0000_0000 0x00 0
126 : 0000_0001 0x01 1
127 : 0000_0110 0x06 6
128 : 0000_0000 0x00 0
129 : 0000_0100 0x04 4
130 : 1101_0000 0xD0 208
131 : 0100_1111 0x4F 79 O
132 : 0101_1000 0x58 88 X
133 : 0000_0111 0x07 7
134 : 1100_0000 0xC0 192
135 : 0101_0010 0x52 82 R
136 : 0000_0000 0x00 0
137 : 0000_0001 0x01 1
138 : 0000_0000 0x00 0
139 : 0000_0001 0x01 1
140 : 0000_0000 0x00 0
141 : 0000_0000 0x00 0
142 : 0000_0001 0x01 1
143 : 0000_0110 0x06 6
144 : 0000_0000 0x00 0
145 : 0000_0100 0x04 4
146 : 1101_0000 0xD0 208
147 : 0100_1111 0x4F 79 O
148 : 0101_1001 0x59 89 Y
149 : 0000_1001 0x09 9 |;
# ; <<>> dig.pl 1.10 <<>> -t ptr -d 234.104.136.174.in-addr.arpa
# ;;
# ;; Got answer.
# ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 13284
# ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2
#
# ;; QUESTION SECTION:
# ;234.104.136.174.in-addr.arpa. IN PTR
#
# ;; ANSWER SECTION:
# 234.104.136.174.in-addr.arpa. 3562 IN PTR a.arpa.com.
#
# ;; AUTHORITY SECTION:
# 104.136.174.in-addr.arpa. 3562 IN NS ns2.arpnetworks.com.
# 104.136.174.in-addr.arpa. 3562 IN NS ns1.arpnetworks.com.
#
# ;; ADDITIONAL SECTION:
# ns1.arpnetworks.com. 262 IN A 208.79.88.7
# ns2.arpnetworks.com. 262 IN A 208.79.89.9
#
# ;; Query time: 44 ms
# ;; SERVER: 192.168.1.171# 53(192.168.1.171)
# ;; WHEN: Sun Oct 2 15:26:21 2011
# ;; MSG SIZE rcvd: 150 -- XFR size: 6 records
#
my $p6ques = q
| 0 : 0011_0110 0x36 54 6
1 : 0000_1101 0x0D 13
2 : 0000_0001 0x01 1
3 : 0000_0000 0x00 0
4 : 0000_0000 0x00 0
5 : 0000_0001 0x01 1
6 : 0000_0000 0x00 0
7 : 0000_0000 0x00 0
8 : 0000_0000 0x00 0
9 : 0000_0000 0x00 0
10 : 0000_0000 0x00 0
11 : 0000_0000 0x00 0
12 : 0000_0001 0x01 1
13 : 0011_0101 0x35 53 5
14 : 0000_0001 0x01 1
15 : 0011_0011 0x33 51 3
16 : 0000_0001 0x01 1
17 : 0011_0010 0x32 50 2
18 : 0000_0001 0x01 1
19 : 0011_0000 0x30 48 0
20 : 0000_0001 0x01 1
21 : 0110_0110 0x66 102 f
22 : 0000_0001 0x01 1
23 : 0011_0011 0x33 51 3
24 : 0000_0001 0x01 1
25 : 0011_0000 0x30 48 0
26 : 0000_0001 0x01 1
27 : 0011_1000 0x38 56 8
28 : 0000_0001 0x01 1
29 : 0011_0000 0x30 48 0
30 : 0000_0001 0x01 1
31 : 0011_0000 0x30 48 0
32 : 0000_0001 0x01 1
33 : 0011_0000 0x30 48 0
34 : 0000_0001 0x01 1
35 : 0011_0000 0x30 48 0
36 : 0000_0001 0x01 1
37 : 0011_0000 0x30 48 0
38 : 0000_0001 0x01 1
39 : 0011_0000 0x30 48 0
40 : 0000_0001 0x01 1
41 : 0011_0000 0x30 48 0
42 : 0000_0001 0x01 1
43 : 0011_0000 0x30 48 0
44 : 0000_0001 0x01 1
45 : 0011_0000 0x30 48 0
46 : 0000_0001 0x01 1
47 : 0011_0000 0x30 48 0
48 : 0000_0001 0x01 1
49 : 0011_0000 0x30 48 0
50 : 0000_0001 0x01 1
51 : 0011_0000 0x30 48 0
52 : 0000_0001 0x01 1
53 : 0011_0001 0x31 49 1
54 : 0000_0001 0x01 1
55 : 0011_0000 0x30 48 0
56 : 0000_0001 0x01 1
57 : 0011_0000 0x30 48 0
58 : 0000_0001 0x01 1
59 : 0011_0000 0x30 48 0
60 : 0000_0001 0x01 1
61 : 0011_0000 0x30 48 0
62 : 0000_0001 0x01 1
63 : 0011_0000 0x30 48 0
64 : 0000_0001 0x01 1
65 : 0011_0101 0x35 53 5
66 : 0000_0001 0x01 1
67 : 0011_0000 0x30 48 0
68 : 0000_0001 0x01 1
69 : 0011_0001 0x31 49 1
70 : 0000_0001 0x01 1
71 : 0011_0000 0x30 48 0
72 : 0000_0001 0x01 1
73 : 0011_0000 0x30 48 0
74 : 0000_0001 0x01 1
75 : 0011_0010 0x32 50 2
76 : 0000_0011 0x03 3
77 : 0110_1001 0x69 105 i
78 : 0111_0000 0x70 112 p
79 : 0011_0110 0x36 54 6
80 : 0000_0100 0x04 4
81 : 0110_0001 0x61 97 a
82 : 0111_0010 0x72 114 r
83 : 0111_0000 0x70 112 p
84 : 0110_0001 0x61 97 a
85 : 0000_0000 0x00 0
86 : 0000_0000 0x00 0
87 : 0000_1100 0x0C 12
88 : 0000_0000 0x00 0
89 : 0000_0001 0x01 1 |;
my $p6ans = q
| 0 : 0011_0110 0x36 54 6
1 : 0000_1101 0x0D 13
2 : 1000_0001 0x81 129
3 : 1000_0000 0x80 128
4 : 0000_0000 0x00 0
5 : 0000_0001 0x01 1
6 : 0000_0000 0x00 0
7 : 0000_0001 0x01 1
8 : 0000_0000 0x00 0
9 : 0000_0011 0x03 3
10 : 0000_0000 0x00 0
11 : 0000_0100 0x04 4
12 : 0000_0001 0x01 1
13 : 0011_0101 0x35 53 5
14 : 0000_0001 0x01 1
15 : 0011_0011 0x33 51 3
16 : 0000_0001 0x01 1
17 : 0011_0010 0x32 50 2
18 : 0000_0001 0x01 1
19 : 0011_0000 0x30 48 0
20 : 0000_0001 0x01 1
21 : 0110_0110 0x66 102 f
22 : 0000_0001 0x01 1
23 : 0011_0011 0x33 51 3
24 : 0000_0001 0x01 1
25 : 0011_0000 0x30 48 0
26 : 0000_0001 0x01 1
27 : 0011_1000 0x38 56 8
28 : 0000_0001 0x01 1
29 : 0011_0000 0x30 48 0
30 : 0000_0001 0x01 1
31 : 0011_0000 0x30 48 0
32 : 0000_0001 0x01 1
33 : 0011_0000 0x30 48 0
34 : 0000_0001 0x01 1
35 : 0011_0000 0x30 48 0
36 : 0000_0001 0x01 1
37 : 0011_0000 0x30 48 0
38 : 0000_0001 0x01 1
39 : 0011_0000 0x30 48 0
40 : 0000_0001 0x01 1
41 : 0011_0000 0x30 48 0
42 : 0000_0001 0x01 1
43 : 0011_0000 0x30 48 0
44 : 0000_0001 0x01 1
45 : 0011_0000 0x30 48 0
46 : 0000_0001 0x01 1
47 : 0011_0000 0x30 48 0
48 : 0000_0001 0x01 1
49 : 0011_0000 0x30 48 0
50 : 0000_0001 0x01 1
51 : 0011_0000 0x30 48 0
52 : 0000_0001 0x01 1
53 : 0011_0001 0x31 49 1
54 : 0000_0001 0x01 1
55 : 0011_0000 0x30 48 0
56 : 0000_0001 0x01 1
57 : 0011_0000 0x30 48 0
58 : 0000_0001 0x01 1
59 : 0011_0000 0x30 48 0
60 : 0000_0001 0x01 1
61 : 0011_0000 0x30 48 0
62 : 0000_0001 0x01 1
63 : 0011_0000 0x30 48 0
64 : 0000_0001 0x01 1
65 : 0011_0101 0x35 53 5
66 : 0000_0001 0x01 1
67 : 0011_0000 0x30 48 0
68 : 0000_0001 0x01 1
69 : 0011_0001 0x31 49 1
70 : 0000_0001 0x01 1
71 : 0011_0000 0x30 48 0
72 : 0000_0001 0x01 1
73 : 0011_0000 0x30 48 0
74 : 0000_0001 0x01 1
75 : 0011_0010 0x32 50 2
76 : 0000_0011 0x03 3
77 : 0110_1001 0x69 105 i
78 : 0111_0000 0x70 112 p
79 : 0011_0110 0x36 54 6
80 : 0000_0100 0x04 4
81 : 0110_0001 0x61 97 a
82 : 0111_0010 0x72 114 r
83 : 0111_0000 0x70 112 p
84 : 0110_0001 0x61 97 a
85 : 0000_0000 0x00 0
86 : 0000_0000 0x00 0
87 : 0000_1100 0x0C 12
88 : 0000_0000 0x00 0
89 : 0000_0001 0x01 1
90 : 1100_0000 0xC0 192
91 : 0000_1100 0x0C 12
92 : 0000_0000 0x00 0
93 : 0000_1100 0x0C 12
94 : 0000_0000 0x00 0
95 : 0000_0001 0x01 1
96 : 0000_0000 0x00 0
97 : 0000_0000 0x00 0
98 : 0010_1001 0x29 41 )
99 : 0010_1100 0x2C 44 ,
100 : 0000_0000 0x00 0
101 : 0001_0100 0x14 20
102 : 0000_0001 0x01 1
103 : 0110_1000 0x68 104 h
104 : 0000_1100 0x0C 12
105 : 0111_0010 0x72 114 r
106 : 0110_1111 0x6F 111 o
107 : 0110_1111 0x6F 111 o
108 : 0111_0100 0x74 116 t
109 : 0010_1101 0x2D 45 -
110 : 0111_0011 0x73 115 s
111 : 0110_0101 0x65 101 e
112 : 0111_0010 0x72 114 r
113 : 0111_0110 0x76 118 v
114 : 0110_0101 0x65 101 e
115 : 0111_0010 0x72 114 r
116 : 0111_0011 0x73 115 s
117 : 0000_0011 0x03 3
118 : 0110_1110 0x6E 110 n
119 : 0110_0101 0x65 101 e
120 : 0111_0100 0x74 116 t
121 : 0000_0000 0x00 0
122 : 1100_0000 0xC0 192
123 : 0011_0100 0x34 52 4
124 : 0000_0000 0x00 0
125 : 0000_0010 0x02 2
126 : 0000_0000 0x00 0
127 : 0000_0001 0x01 1
128 : 0000_0000 0x00 0
129 : 0000_0000 0x00 0
130 : 0010_1001 0x29 41 )
131 : 0010_1100 0x2C 44 ,
132 : 0000_0000 0x00 0
133 : 0000_1110 0x0E 14
134 : 0000_0011 0x03 3
135 : 0110_1110 0x6E 110 n
136 : 0111_0011 0x73 115 s
137 : 0011_0001 0x31 49 1
138 : 0000_0100 0x04 4
139 : 0110_1110 0x6E 110 n
140 : 0110_1111 0x6F 111 o
141 : 0111_0011 0x73 115 s
142 : 0110_0011 0x63 99 c
143 : 0000_0011 0x03 3
144 : 0110_1101 0x6D 109 m
145 : 0110_1001 0x69 105 i
146 : 0110_1100 0x6C 108 l
147 : 0000_0000 0x00 0
148 : 1100_0000 0xC0 192
149 : 0011_0100 0x34 52 4
150 : 0000_0000 0x00 0
151 : 0000_0010 0x02 2
152 : 0000_0000 0x00 0
153 : 0000_0001 0x01 1
154 : 0000_0000 0x00 0
155 : 0000_0000 0x00 0
156 : 0010_1001 0x29 41 )
157 : 0010_1100 0x2C 44 ,
158 : 0000_0000 0x00 0
159 : 0001_0000 0x10 16
160 : 0000_0011 0x03 3
161 : 0110_1110 0x6E 110 n
162 : 0111_0011 0x73 115 s
163 : 0011_0001 0x31 49 1
164 : 0000_0101 0x05 5
165 : 0110_1000 0x68 104 h
166 : 0111_0000 0x70 112 p
167 : 0110_0011 0x63 99 c
168 : 0110_1101 0x6D 109 m
169 : 0110_1111 0x6F 111 o
170 : 0000_0011 0x03 3
171 : 0110_1000 0x68 104 h
172 : 0111_0000 0x70 112 p
173 : 0110_0011 0x63 99 c
174 : 1100_0000 0xC0 192
175 : 1000_1111 0x8F 143
176 : 1100_0000 0xC0 192
177 : 0011_0100 0x34 52 4
178 : 0000_0000 0x00 0
179 : 0000_0010 0x02 2
180 : 0000_0000 0x00 0
181 : 0000_0001 0x01 1
182 : 0000_0000 0x00 0
183 : 0000_0000 0x00 0
184 : 0010_1001 0x29 41 )
185 : 0010_1100 0x2C 44 ,
186 : 0000_0000 0x00 0
187 : 0000_1111 0x0F 15
188 : 0000_0011 0x03 3
189 : 0110_1110 0x6E 110 n
190 : 0111_0011 0x73 115 s
191 : 0011_0001 0x31 49 1
192 : 0000_0011 0x03 3
193 : 0110_0001 0x61 97 a
194 : 0111_0010 0x72 114 r
195 : 0110_1100 0x6C 108 l
196 : 0000_0100 0x04 4
197 : 0110_0001 0x61 97 a
198 : 0111_0010 0x72 114 r
199 : 0110_1101 0x6D 109 m
200 : 0111_1001 0x79 121 y
201 : 1100_0000 0xC0 192
202 : 1000_1111 0x8F 143
203 : 1100_0000 0xC0 192
204 : 1011_1100 0xBC 188
205 : 0000_0000 0x00 0
206 : 0000_0001 0x01 1
207 : 0000_0000 0x00 0
208 : 0000_0001 0x01 1
209 : 0000_0000 0x00 0
210 : 0000_0000 0x00 0
211 : 0000_0000 0x00 0
212 : 0010_1000 0x28 40 (
213 : 0000_0000 0x00 0
214 : 0000_0100 0x04 4
215 : 1000_0000 0x80 128
216 : 0011_1111 0x3F 63 ?
217 : 0001_0000 0x10 16
218 : 0000_0100 0x04 4
219 : 1100_0000 0xC0 192
220 : 1000_0110 0x86 134
221 : 0000_0000 0x00 0
222 : 0000_0001 0x01 1
223 : 0000_0000 0x00 0
224 : 0000_0001 0x01 1
225 : 0000_0000 0x00 0
226 : 0000_0000 0x00 0
227 : 0000_0011 0x03 3
228 : 1110_0010 0xE2 226
229 : 0000_0000 0x00 0
230 : 0000_0100 0x04 4
231 : 1100_0110 0xC6 198
232 : 1111_1101 0xFD 253
233 : 0011_0000 0x30 48 0
234 : 0000_0111 0x07 7
235 : 1100_0000 0xC0 192
236 : 1010_0000 0xA0 160
237 : 0000_0000 0x00 0
238 : 0000_0001 0x01 1
239 : 0000_0000 0x00 0
240 : 0000_0001 0x01 1
241 : 0000_0000 0x00 0
242 : 0000_0000 0x00 0
243 : 0000_1101 0x0D 13
244 : 0000_1100 0x0C 12
245 : 0000_0000 0x00 0
246 : 0000_0100 0x04 4
247 : 1000_1100 0x8C 140
248 : 0010_0000 0x20 32
249 : 1111_0110 0xF6 246
250 : 0000_0100 0x04 4
251 : 1100_0000 0xC0 192
252 : 1010_0000 0xA0 160
253 : 0000_0000 0x00 0
254 : 0001_1100 0x1C 28
255 : 0000_0000 0x00 0
256 : 0000_0001 0x01 1
257 : 0000_0000 0x00 0
258 : 0000_0000 0x00 0
259 : 0000_1101 0x0D 13
260 : 0000_1100 0x0C 12
261 : 0000_0000 0x00 0
262 : 0001_0000 0x10 16
263 : 0010_0000 0x20 32
264 : 0000_0001 0x01 1
265 : 0000_0100 0x04 4
266 : 1000_0000 0x80 128
267 : 0000_0100 0x04 4
268 : 0011_0000 0x30 48 0
269 : 1101_1101 0xDD 221
270 : 1101_1101 0xDD 221
271 : 0000_0000 0x00 0
272 : 0000_0000 0x00 0
273 : 0000_0000 0x00 0
274 : 0000_0000 0x00 0
275 : 0000_0010 0x02 2
276 : 0100_0110 0x46 70 F
277 : 0000_0000 0x00 0
278 : 0000_0100 0x04 4 |;
# ; <<>> dig.pl 1.11 <<>> -d -t ptr 5.3.2.0.f.3.0.8.0.0.0.0.0.0.0.0.0.0.0.0.1.0.0.0.0.0.5.0.1.0.0.2.ip6.arpa
# ;;
# ;; Got answer.
# ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 13837
# ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 3, ADDITIONAL: 4
#
# ;; QUESTION SECTION:
# ;5.3.2.0.f.3.0.8.0.0.0.0.0.0.0.0.0.0.0.0.1.0.0.0.0.0.5.0.1.0.0.2.ip6.arpa. IN PTR
#
# ;; ANSWER SECTION:
# 5.3.2.0.f.3.0.8.0.0.0.0.0.0.0.0.0.0.0.0.1.0.0.0.0.0.5.0.1.0.0.2.ip6.arpa. 10540 IN PTR h.root-servers.net.
#
# ;; AUTHORITY SECTION:
# 1.0.0.0.0.0.5.0.1.0.0.2.ip6.arpa. 10540 IN NS ns1.nosc.mil.
# 1.0.0.0.0.0.5.0.1.0.0.2.ip6.arpa. 10540 IN NS ns1.hpcmo.hpc.mil.
# 1.0.0.0.0.0.5.0.1.0.0.2.ip6.arpa. 10540 IN NS ns1.arl.army.mil.
#
# ;; ADDITIONAL SECTION:
# ns1.arl.army.mil. 40 IN A 128.63.16.4
# ns1.nosc.mil. 994 IN A 198.253.48.7
# ns1.hpcmo.hpc.mil. 3340 IN A 140.32.246.4
# ns1.hpcmo.hpc.mil. 3340 IN AAAA 2001:480:430:DDDD:0:0:246:4
#
# ;; Query time: 60 ms
# ;; SERVER: 192.168.1.171# 53(192.168.1.171)
# ;; WHEN: Sat Oct 8 16:05:20 2011
# ;; MSG SIZE rcvd: 279 -- XFR size: 9 records
#
my $a6ques = q
| 0 : 0011_0110 0x36 54 6
1 : 0010_0010 0x22 34 "
2 : 0000_0001 0x01 1
3 : 0000_0000 0x00 0
4 : 0000_0000 0x00 0
5 : 0000_0001 0x01 1
6 : 0000_0000 0x00 0
7 : 0000_0000 0x00 0
8 : 0000_0000 0x00 0
9 : 0000_0000 0x00 0
10 : 0000_0000 0x00 0
11 : 0000_0000 0x00 0
12 : 0000_0001 0x01 1
13 : 0110_1000 0x68 104 h
14 : 0000_1100 0x0C 12
15 : 0111_0010 0x72 114 r
16 : 0110_1111 0x6F 111 o
17 : 0110_1111 0x6F 111 o
18 : 0111_0100 0x74 116 t
19 : 0010_1101 0x2D 45 -
20 : 0111_0011 0x73 115 s
21 : 0110_0101 0x65 101 e
22 : 0111_0010 0x72 114 r
23 : 0111_0110 0x76 118 v
24 : 0110_0101 0x65 101 e
25 : 0111_0010 0x72 114 r
26 : 0111_0011 0x73 115 s
27 : 0000_0011 0x03 3
28 : 0110_1110 0x6E 110 n
29 : 0110_0101 0x65 101 e
30 : 0111_0100 0x74 116 t
31 : 0000_0000 0x00 0
32 : 0000_0000 0x00 0
33 : 0001_1100 0x1C 28
34 : 0000_0000 0x00 0
35 : 0000_0001 0x01 1 |;
my $a6ans = q
| 0 : 0011_0110 0x36 54 6
1 : 0010_0010 0x22 34 "
2 : 1000_0001 0x81 129
3 : 1000_0000 0x80 128
4 : 0000_0000 0x00 0
5 : 0000_0001 0x01 1
6 : 0000_0000 0x00 0
7 : 0000_0001 0x01 1
8 : 0000_0000 0x00 0
9 : 0000_1101 0x0D 13
10 : 0000_0000 0x00 0
11 : 0000_1100 0x0C 12
12 : 0000_0001 0x01 1
13 : 0110_1000 0x68 104 h
14 : 0000_1100 0x0C 12
15 : 0111_0010 0x72 114 r
16 : 0110_1111 0x6F 111 o
17 : 0110_1111 0x6F 111 o
18 : 0111_0100 0x74 116 t
19 : 0010_1101 0x2D 45 -
20 : 0111_0011 0x73 115 s
21 : 0110_0101 0x65 101 e
22 : 0111_0010 0x72 114 r
23 : 0111_0110 0x76 118 v
24 : 0110_0101 0x65 101 e
25 : 0111_0010 0x72 114 r
26 : 0111_0011 0x73 115 s
27 : 0000_0011 0x03 3
28 : 0110_1110 0x6E 110 n
29 : 0110_0101 0x65 101 e
30 : 0111_0100 0x74 116 t
31 : 0000_0000 0x00 0
32 : 0000_0000 0x00 0
33 : 0001_1100 0x1C 28
34 : 0000_0000 0x00 0
35 : 0000_0001 0x01 1
36 : 1100_0000 0xC0 192
37 : 0000_1100 0x0C 12
38 : 0000_0000 0x00 0
39 : 0001_1100 0x1C 28
40 : 0000_0000 0x00 0
41 : 0000_0001 0x01 1
42 : 0000_0000 0x00 0
43 : 0000_0110 0x06 6
44 : 0101_0101 0x55 85 U
45 : 0111_0100 0x74 116 t
46 : 0000_0000 0x00 0
47 : 0001_0000 0x10 16
48 : 0010_0000 0x20 32
49 : 0000_0001 0x01 1
50 : 0000_0101 0x05 5
51 : 0000_0000 0x00 0
52 : 0000_0000 0x00 0
53 : 0000_0001 0x01 1
54 : 0000_0000 0x00 0
55 : 0000_0000 0x00 0
56 : 0000_0000 0x00 0
57 : 0000_0000 0x00 0
58 : 0000_0000 0x00 0
59 : 0000_0000 0x00 0
60 : 1000_0000 0x80 128
61 : 0011_1111 0x3F 63 ?
62 : 0000_0010 0x02 2
63 : 0011_0101 0x35 53 5
64 : 1100_0000 0xC0 192
65 : 0000_1110 0x0E 14
66 : 0000_0000 0x00 0
67 : 0000_0010 0x02 2
68 : 0000_0000 0x00 0
69 : 0000_0001 0x01 1
70 : 0000_0000 0x00 0
71 : 0000_0110 0x06 6
72 : 0101_0101 0x55 85 U
73 : 0111_0100 0x74 116 t
74 : 0000_0000 0x00 0
75 : 0000_0100 0x04 4
76 : 0000_0001 0x01 1
77 : 0110_0101 0x65 101 e
78 : 1100_0000 0xC0 192
79 : 0000_1110 0x0E 14
80 : 1100_0000 0xC0 192
81 : 0000_1110 0x0E 14
82 : 0000_0000 0x00 0
83 : 0000_0010 0x02 2
84 : 0000_0000 0x00 0
85 : 0000_0001 0x01 1
86 : 0000_0000 0x00 0
87 : 0000_0110 0x06 6
88 : 0101_0101 0x55 85 U
89 : 0111_0100 0x74 116 t
90 : 0000_0000 0x00 0
91 : 0000_0100 0x04 4
92 : 0000_0001 0x01 1
93 : 0110_0110 0x66 102 f
94 : 1100_0000 0xC0 192
95 : 0000_1110 0x0E 14
96 : 1100_0000 0xC0 192
97 : 0000_1110 0x0E 14
98 : 0000_0000 0x00 0
99 : 0000_0010 0x02 2
100 : 0000_0000 0x00 0
101 : 0000_0001 0x01 1
102 : 0000_0000 0x00 0
103 : 0000_0110 0x06 6
104 : 0101_0101 0x55 85 U
105 : 0111_0100 0x74 116 t
106 : 0000_0000 0x00 0
107 : 0000_0100 0x04 4
108 : 0000_0001 0x01 1
109 : 0110_1001 0x69 105 i
110 : 1100_0000 0xC0 192
111 : 0000_1110 0x0E 14
112 : 1100_0000 0xC0 192
113 : 0000_1110 0x0E 14
114 : 0000_0000 0x00 0
115 : 0000_0010 0x02 2
116 : 0000_0000 0x00 0
117 : 0000_0001 0x01 1
118 : 0000_0000 0x00 0
119 : 0000_0110 0x06 6
120 : 0101_0101 0x55 85 U
121 : 0111_0100 0x74 116 t
122 : 0000_0000 0x00 0
123 : 0000_0100 0x04 4
124 : 0000_0001 0x01 1
125 : 0110_0011 0x63 99 c
126 : 1100_0000 0xC0 192
127 : 0000_1110 0x0E 14
128 : 1100_0000 0xC0 192
129 : 0000_1110 0x0E 14
130 : 0000_0000 0x00 0
131 : 0000_0010 0x02 2
132 : 0000_0000 0x00 0
133 : 0000_0001 0x01 1
134 : 0000_0000 0x00 0
135 : 0000_0110 0x06 6
136 : 0101_0101 0x55 85 U
137 : 0111_0100 0x74 116 t
138 : 0000_0000 0x00 0
139 : 0000_0100 0x04 4
140 : 0000_0001 0x01 1
141 : 0110_1101 0x6D 109 m
142 : 1100_0000 0xC0 192
143 : 0000_1110 0x0E 14
144 : 1100_0000 0xC0 192
145 : 0000_1110 0x0E 14
146 : 0000_0000 0x00 0
147 : 0000_0010 0x02 2
148 : 0000_0000 0x00 0
149 : 0000_0001 0x01 1
150 : 0000_0000 0x00 0
151 : 0000_0110 0x06 6
152 : 0101_0101 0x55 85 U
153 : 0111_0100 0x74 116 t
154 : 0000_0000 0x00 0
155 : 0000_0100 0x04 4
156 : 0000_0001 0x01 1
157 : 0110_0001 0x61 97 a
158 : 1100_0000 0xC0 192
159 : 0000_1110 0x0E 14
160 : 1100_0000 0xC0 192
161 : 0000_1110 0x0E 14
162 : 0000_0000 0x00 0
163 : 0000_0010 0x02 2
164 : 0000_0000 0x00 0
165 : 0000_0001 0x01 1
166 : 0000_0000 0x00 0
167 : 0000_0110 0x06 6
168 : 0101_0101 0x55 85 U
169 : 0111_0100 0x74 116 t
170 : 0000_0000 0x00 0
171 : 0000_0100 0x04 4
172 : 0000_0001 0x01 1
173 : 0110_0100 0x64 100 d
174 : 1100_0000 0xC0 192
175 : 0000_1110 0x0E 14
176 : 1100_0000 0xC0 192
177 : 0000_1110 0x0E 14
178 : 0000_0000 0x00 0
179 : 0000_0010 0x02 2
180 : 0000_0000 0x00 0
181 : 0000_0001 0x01 1
182 : 0000_0000 0x00 0
183 : 0000_0110 0x06 6
184 : 0101_0101 0x55 85 U
185 : 0111_0100 0x74 116 t
186 : 0000_0000 0x00 0
187 : 0000_0100 0x04 4
188 : 0000_0001 0x01 1
189 : 0110_0010 0x62 98 b
190 : 1100_0000 0xC0 192
191 : 0000_1110 0x0E 14
192 : 1100_0000 0xC0 192
193 : 0000_1110 0x0E 14
194 : 0000_0000 0x00 0
195 : 0000_0010 0x02 2
196 : 0000_0000 0x00 0
197 : 0000_0001 0x01 1
198 : 0000_0000 0x00 0
199 : 0000_0110 0x06 6
200 : 0101_0101 0x55 85 U
201 : 0111_0100 0x74 116 t
202 : 0000_0000 0x00 0
203 : 0000_0100 0x04 4
204 : 0000_0001 0x01 1
205 : 0110_1011 0x6B 107 k
206 : 1100_0000 0xC0 192
207 : 0000_1110 0x0E 14
208 : 1100_0000 0xC0 192
209 : 0000_1110 0x0E 14
210 : 0000_0000 0x00 0
211 : 0000_0010 0x02 2
212 : 0000_0000 0x00 0
213 : 0000_0001 0x01 1
214 : 0000_0000 0x00 0
215 : 0000_0110 0x06 6
216 : 0101_0101 0x55 85 U
217 : 0111_0100 0x74 116 t
218 : 0000_0000 0x00 0
219 : 0000_0010 0x02 2
220 : 1100_0000 0xC0 192
221 : 0000_1100 0x0C 12
222 : 1100_0000 0xC0 192
223 : 0000_1110 0x0E 14
224 : 0000_0000 0x00 0
225 : 0000_0010 0x02 2
226 : 0000_0000 0x00 0
227 : 0000_0001 0x01 1
228 : 0000_0000 0x00 0
229 : 0000_0110 0x06 6
230 : 0101_0101 0x55 85 U
231 : 0111_0100 0x74 116 t
232 : 0000_0000 0x00 0
233 : 0000_0100 0x04 4
234 : 0000_0001 0x01 1
235 : 0110_0111 0x67 103 g
236 : 1100_0000 0xC0 192
237 : 0000_1110 0x0E 14
238 : 1100_0000 0xC0 192
239 : 0000_1110 0x0E 14
240 : 0000_0000 0x00 0
241 : 0000_0010 0x02 2
242 : 0000_0000 0x00 0
243 : 0000_0001 0x01 1
244 : 0000_0000 0x00 0
245 : 0000_0110 0x06 6
246 : 0101_0101 0x55 85 U
247 : 0111_0100 0x74 116 t
248 : 0000_0000 0x00 0
249 : 0000_0100 0x04 4
250 : 0000_0001 0x01 1
251 : 0110_1100 0x6C 108 l
252 : 1100_0000 0xC0 192
253 : 0000_1110 0x0E 14
254 : 1100_0000 0xC0 192
255 : 0000_1110 0x0E 14
256 : 0000_0000 0x00 0
257 : 0000_0010 0x02 2
258 : 0000_0000 0x00 0
259 : 0000_0001 0x01 1
260 : 0000_0000 0x00 0
261 : 0000_0110 0x06 6
262 : 0101_0101 0x55 85 U
263 : 0111_0100 0x74 116 t
264 : 0000_0000 0x00 0
265 : 0000_0100 0x04 4
266 : 0000_0001 0x01 1
267 : 0110_1010 0x6A 106 j
268 : 1100_0000 0xC0 192
269 : 0000_1110 0x0E 14
270 : 1100_0000 0xC0 192
271 : 1001_1100 0x9C 156
272 : 0000_0000 0x00 0
273 : 0000_0001 0x01 1
274 : 0000_0000 0x00 0
275 : 0000_0001 0x01 1
276 : 0000_0000 0x00 0
277 : 0000_0110 0x06 6
278 : 0101_0101 0x55 85 U
279 : 0111_0100 0x74 116 t
280 : 0000_0000 0x00 0
281 : 0000_0100 0x04 4
282 : 1100_0110 0xC6 198
283 : 0010_1001 0x29 41 )
284 : 0000_0000 0x00 0
285 : 0000_0100 0x04 4
286 : 1100_0000 0xC0 192
287 : 1001_1100 0x9C 156
288 : 0000_0000 0x00 0
289 : 0001_1100 0x1C 28
290 : 0000_0000 0x00 0
291 : 0000_0001 0x01 1
292 : 0000_0000 0x00 0
293 : 0000_0110 0x06 6
294 : 0101_0101 0x55 85 U
295 : 0111_0100 0x74 116 t
296 : 0000_0000 0x00 0
297 : 0001_0000 0x10 16
298 : 0010_0000 0x20 32
299 : 0000_0001 0x01 1
300 : 0000_0101 0x05 5
301 : 0000_0011 0x03 3
302 : 1011_1010 0xBA 186
303 : 0011_1110 0x3E 62 >
304 : 0000_0000 0x00 0
305 : 0000_0000 0x00 0
306 : 0000_0000 0x00 0
307 : 0000_0000 0x00 0
308 : 0000_0000 0x00 0
309 : 0000_0000 0x00 0
310 : 0000_0000 0x00 0
311 : 0000_0010 0x02 2
312 : 0000_0000 0x00 0
313 : 0011_0000 0x30 48 0
314 : 1100_0000 0xC0 192
315 : 1011_1100 0xBC 188
316 : 0000_0000 0x00 0
317 : 0000_0001 0x01 1
318 : 0000_0000 0x00 0
319 : 0000_0001 0x01 1
320 : 0000_0000 0x00 0
321 : 0000_0110 0x06 6
322 : 0101_0101 0x55 85 U
323 : 0111_0100 0x74 116 t
324 : 0000_0000 0x00 0
325 : 0000_0100 0x04 4
326 : 1100_0000 0xC0 192
327 : 1110_0100 0xE4 228
328 : 0100_1111 0x4F 79 O
329 : 1100_1001 0xC9 201
330 : 1100_0000 0xC0 192
331 : 0111_1100 0x7C 124 | .'|'. q|
332 : 0000_0000 0x00 0
333 : 0000_0001 0x01 1
334 : 0000_0000 0x00 0
335 : 0000_0001 0x01 1
336 : 0000_0000 0x00 0
337 : 0000_0110 0x06 6
338 : 0101_0101 0x55 85 U
339 : 0111_0100 0x74 116 t
340 : 0000_0000 0x00 0
341 : 0000_0100 0x04 4
342 : 1100_0000 0xC0 192
343 : 0010_0001 0x21 33 !
344 : 0000_0100 0x04 4
345 : 0000_1100 0x0C 12
346 : 1100_0000 0xC0 192
347 : 1010_1100 0xAC 172
348 : 0000_0000 0x00 0
349 : 0000_0001 0x01 1
350 : 0000_0000 0x00 0
351 : 0000_0001 0x01 1
352 : 0000_0000 0x00 0
353 : 0000_0110 0x06 6
354 : 0101_0101 0x55 85 U
355 : 0111_0100 0x74 116 t
356 : 0000_0000 0x00 0
357 : 0000_0100 0x04 4
358 : 1000_0000 0x80 128
359 : 0000_1000 0x08 8
360 : 0000_1010 0x0A 10
361 : 0101_1010 0x5A 90 Z
362 : 1100_0000 0xC0 192
363 : 1010_1100 0xAC 172
364 : 0000_0000 0x00 0
365 : 0001_1100 0x1C 28
366 : 0000_0000 0x00 0
367 : 0000_0001 0x01 1
368 : 0000_0000 0x00 0
369 : 0000_0110 0x06 6
370 : 0101_0101 0x55 85 U
371 : 0111_0100 0x74 116 t
372 : 0000_0000 0x00 0
373 : 0001_0000 0x10 16
374 : 0010_0000 0x20 32
375 : 0000_0001 0x01 1
376 : 0000_0101 0x05 5
377 : 0000_0000 0x00 0
378 : 0000_0000 0x00 0
379 : 0010_1101 0x2D 45 -
380 : 0000_0000 0x00 0
381 : 0000_0000 0x00 0
382 : 0000_0000 0x00 0
383 : 0000_0000 0x00 0
384 : 0000_0000 0x00 0
385 : 0000_0000 0x00 0
386 : 0000_0000 0x00 0
387 : 0000_0000 0x00 0
388 : 0000_0000 0x00 0
389 : 0000_1101 0x0D 13
390 : 1100_0000 0xC0 192
391 : 0100_1100 0x4C 76 L
392 : 0000_0000 0x00 0
393 : 0000_0001 0x01 1
394 : 0000_0000 0x00 0
395 : 0000_0001 0x01 1
396 : 0000_0000 0x00 0
397 : 0000_0110 0x06 6
398 : 0101_0101 0x55 85 U
399 : 0111_0100 0x74 116 t
400 : 0000_0000 0x00 0
401 : 0000_0100 0x04 4
402 : 1100_0000 0xC0 192
403 : 1100_1011 0xCB 203
404 : 1110_0110 0xE6 230
405 : 0000_1010 0x0A 10
406 : 1100_0000 0xC0 192
407 : 0101_1100 0x5C 92 \
408 : 0000_0000 0x00 0
409 : 0000_0001 0x01 1
410 : 0000_0000 0x00 0
411 : 0000_0001 0x01 1
412 : 0000_0000 0x00 0
413 : 0000_0110 0x06 6
414 : 0101_0101 0x55 85 U
415 : 0111_0100 0x74 116 t
416 : 0000_0000 0x00 0
417 : 0000_0100 0x04 4
418 : 1100_0000 0xC0 192
419 : 0000_0101 0x05 5
420 : 0000_0101 0x05 5
421 : 1111_0001 0xF1 241
422 : 1100_0000 0xC0 192
423 : 0101_1100 0x5C 92 \
424 : 0000_0000 0x00 0
425 : 0001_1100 0x1C 28
426 : 0000_0000 0x00 0
427 : 0000_0001 0x01 1
428 : 0000_0000 0x00 0
429 : 0000_0110 0x06 6
430 : 0101_0101 0x55 85 U
431 : 0111_0100 0x74 116 t
432 : 0000_0000 0x00 0
433 : 0001_0000 0x10 16
434 : 0010_0000 0x20 32
435 : 0000_0001 0x01 1
436 : 0000_0101 0x05 5
437 : 0000_0000 0x00 0
438 : 0000_0000 0x00 0
439 : 0010_1111 0x2F 47 /
440 : 0000_0000 0x00 0
441 : 0000_0000 0x00 0
442 : 0000_0000 0x00 0
443 : 0000_0000 0x00 0
444 : 0000_0000 0x00 0
445 : 0000_0000 0x00 0
446 : 0000_0000 0x00 0
447 : 0000_0000 0x00 0
448 : 0000_0000 0x00 0
449 : 0000_1111 0x0F 15
450 : 1100_0000 0xC0 192
451 : 1110_1010 0xEA 234
452 : 0000_0000 0x00 0
453 : 0000_0001 0x01 1
454 : 0000_0000 0x00 0
455 : 0000_0001 0x01 1
456 : 0000_0000 0x00 0
457 : 0000_0110 0x06 6
458 : 0101_0101 0x55 85 U
459 : 0111_0100 0x74 116 t
460 : 0000_0000 0x00 0
461 : 0000_0100 0x04 4
462 : 1100_0000 0xC0 192
463 : 0111_0000 0x70 112 p
464 : 0010_0100 0x24 36 $
465 : 0000_0100 0x04 4
466 : 1100_0000 0xC0 192
467 : 0000_1100 0x0C 12
468 : 0000_0000 0x00 0
469 : 0000_0001 0x01 1
470 : 0000_0000 0x00 0
471 : 0000_0001 0x01 1
472 : 0000_0000 0x00 0
473 : 0000_0110 0x06 6
474 : 0101_0101 0x55 85 U
475 : 0111_0100 0x74 116 t
476 : 0000_0000 0x00 0
477 : 0000_0100 0x04 4
478 : 1000_0000 0x80 128
479 : 0011_1111 0x3F 63 ?
480 : 0000_0010 0x02 2
481 : 0011_0101 0x35 53 5
482 : 1100_0000 0xC0 192
483 : 0110_1100 0x6C 108 l
484 : 0000_0000 0x00 0
485 : 0000_0001 0x01 1
486 : 0000_0000 0x00 0
487 : 0000_0001 0x01 1
488 : 0000_0000 0x00 0
489 : 0000_0110 0x06 6
490 : 0101_0101 0x55 85 U
491 : 0111_0100 0x74 116 t
492 : 0000_0000 0x00 0
493 : 0000_0100 0x04 4
494 : 1100_0000 0xC0 192
495 : 0010_0100 0x24 36 $
496 : 1001_0100 0x94 148
497 : 0001_0001 0x11 17 |;
# ; <<>> dig.pl 1.11 <<>> -d -t aaaa h.root-servers.net
# ;;
# ;; Got answer.
# ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 13858
# ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 13, ADDITIONAL: 12
#
# ;; QUESTION SECTION:
# ;h.root-servers.net. IN AAAA
#
# ;; ANSWER SECTION:
# h.root-servers.net. 415092 IN AAAA 2001:500:1:0:0:0:803F:235
#
# ;; AUTHORITY SECTION:
# root-servers.net. 415092 IN NS e.root-servers.net.
# root-servers.net. 415092 IN NS f.root-servers.net.
# root-servers.net. 415092 IN NS i.root-servers.net.
# root-servers.net. 415092 IN NS c.root-servers.net.
# root-servers.net. 415092 IN NS m.root-servers.net.
# root-servers.net. 415092 IN NS a.root-servers.net.
# root-servers.net. 415092 IN NS d.root-servers.net.
# root-servers.net. 415092 IN NS b.root-servers.net.
# root-servers.net. 415092 IN NS k.root-servers.net.
# root-servers.net. 415092 IN NS h.root-servers.net.
# root-servers.net. 415092 IN NS g.root-servers.net.
# root-servers.net. 415092 IN NS l.root-servers.net.
# root-servers.net. 415092 IN NS j.root-servers.net.
#
# ;; ADDITIONAL SECTION:
# a.root-servers.net. 415092 IN A 198.41.0.4
# a.root-servers.net. 415092 IN AAAA 2001:503:BA3E:0:0:0:2:30
# b.root-servers.net. 415092 IN A 192.228.79.201
# c.root-servers.net. 415092 IN A 192.33.4.12
# d.root-servers.net. 415092 IN A 128.8.10.90
# d.root-servers.net. 415092 IN AAAA 2001:500:2D:0:0:0:0:D
# e.root-servers.net. 415092 IN A 192.203.230.10
# f.root-servers.net. 415092 IN A 192.5.5.241
# f.root-servers.net. 415092 IN AAAA 2001:500:2F:0:0:0:0:F
# g.root-servers.net. 415092 IN A 192.112.36.4
# h.root-servers.net. 415092 IN A 128.63.2.53
# i.root-servers.net. 415092 IN A 192.36.148.17
#
# ;; Query time: 79 ms
# ;; SERVER: 192.168.1.171# 53(192.168.1.171)
# ;; WHEN: Sat Oct 8 16:15:00 2011
# ;; MSG SIZE rcvd: 498 -- XFR size: 27 records
#
my $naans1 = makebuf(\$aans1);
my $npans1 = makebuf(\$pans1);
my $nzans1 = makebuf(\$zans1);
my $np6ans = makebuf(\$p6ans);
my $na6ans = makebuf(\$a6ans);
my %answers = (
'bad-name.com' => undef, # 0
'arpa.com' => $naans1, # 1 A record for arpa.com
'in-addr.arpa' => $npans1, # 2 PTR record for 234.104.136.174.in-addr.arpa
'no-name.com' => $nzans1, # 3 zero answer count
'5.3.2.0.f.3.0.8.0.0.0.0.0.0.0.0.0.0.0.0.1.0.0.0.0.0.5.0.1.0.0.2.ip6.arpa'
=> $np6ans, # 4 ipv6 ptr record for h.root-servers.net => 2001:500:1::803f:235
'h.root' => $na6ans, # 5 AAAA record for h.root-servers.net
);
# dummy question builder for testing, does nothing
my $qn;
sub question {
$qn = $_[0];
return undef;
}
# dummy query responder for testing
{
undef local $^W;
*Net::DNS::Dig::_query = \&_query;
}
sub _query {
my($here,$bp,$ns) = @_;
return $answers{$ns};
}
*set_NS = \&Net::DNS::Dig::_set_NS;
&Net::DNS::Dig::_set_Help(0); ################## always take emulator branches
## test 2 check A record for IP address
my $host = '192.168.12.34';
my $netaddr = ndd_gethostbyname($host);
my $got = length($netaddr);
print "return value length = $got, expected 4\nnot "
unless $got == 4;
&ok;
## test 3 check returned value
$got = inet_ntoa($netaddr);
print "got: $got, exp: $host\nnot "
unless $got eq $host;
&ok;
## test 4 check a record for hostname (dummy) and use array context
set_NS(qw( bad-name.com arpa.com ));
$host = 'arpa.com';
my @rv = ndd_gethostbyname($host);
$got = length($rv[4]);
print "return value length = $got, expected 4\nnot "
unless $got == 4;
&ok;
## test 5 check returned value
my $exp = '174.136.104.234';
$got = inet_ntoa($rv[4]);
print "got: $got, exp: $exp\nnot "
unless $got eq $exp;
&ok;
## test 6 check AAAA record for IP address
$host = '2001:500:1::803f:235';
@rv = ndd_gethostbyname($host);
$got = length($rv[4]);
print "return value length = $got, expected 16\nnot "
unless $got == 16;
&ok;
## test 7 check returned value
$got = ipv6_n2x($rv[4]);
$exp = ipv6_n2x(ipv6_aton($host));
print "got: $got, exp: $exp\nnot "
unless $got eq $exp;
&ok;
## test 8 get host name by address
set_NS(qw( bad-name.com 5.3.2.0.f.3.0.8.0.0.0.0.0.0.0.0.0.0.0.0.1.0.0.0.0.0.5.0.1.0.0.2.ip6.arpa ));
# NOTE: name field contains netaddr from 2001:500:1::803f:235 above
@response = ndd_gethostbyaddr($rv[4]);
($got) = @response;
$exp = 'h.root-servers.net';
print "got: $got, exp: $exp\nnot "
unless $got eq $exp;
&ok;
## test 9 check for in-addr.arpa name conversion
$exp = '5.3.2.0.f.3.0.8.0.0.0.0.0.0.0.0.0.0.0.0.1.0.0.0.0.0.5.0.1.0.0.2.ip6.arpa';
print "got: $qn, exp: $exp\nnot "
unless $qn eq $exp;
&ok;
## test 10 check a record for hostname (dummy) and use array context
set_NS(qw( bad-name.com h.root ));
$host = 'root-servers';
@rv = ndd_gethostbyname2($host,&AF_INET6);
$got = length($rv[4]);
print "return value length = $got, expected 16\nnot "
unless $got == 16;
&ok;
## test 11 check returned value
$exp = ipv6_n2x(ipv6_aton('2001:500:1::803f:235'));
$got = ipv6_n2x($rv[4]);
print "got: $got, exp: $exp\nnot "
unless $got eq $exp;
&ok;
## test 12 check for in-addr.arpa name conversion
$exp = $host;
print "got: $qn, exp: $exp\nnot "
unless $qn eq $exp;
&ok;
#########################################
## test 13 check A record for IP address
$host = '192.168.12.34';
$netaddr = ndd_gethostbyname2($host);
$got = length($netaddr);
print "return value length = $got, expected 4\nnot "
unless $got == 4;
&ok;
## test 14 check returned value
$got = inet_ntoa($netaddr);
print "got: $got, exp: $host\nnot "
unless $got eq $host;
&ok;
## test 15 check a record for hostname (dummy) and use array context
set_NS(qw( bad-name.com arpa.com ));
$host = 'arpa.com';
@rv = ndd_gethostbyname2($host);
$got = length($rv[4]);
print "return value length = $got, expected 4\nnot "
unless $got == 4;
&ok;
## test 16 check returned value
$exp = '174.136.104.234';
$got = inet_ntoa($rv[4]);
print "got: $got, exp: $exp\nnot "
unless $got eq $exp;
&ok;
## test 17 check AAAA record for IP address
$host = '2001:500:1::803f:235';
@rv = ndd_gethostbyname2($host);
$got = length($rv[4]);
print "return value length = $got, expected 16\nnot "
unless $got == 16;
&ok;
## test 18 check returned value
$got = ipv6_n2x($rv[4]);
$exp = ipv6_n2x(ipv6_aton($host));
print "got: $got, exp: $exp\nnot "
unless $got eq $exp;
&ok;
## test 19 get host name by address
set_NS(qw( bad-name.com 5.3.2.0.f.3.0.8.0.0.0.0.0.0.0.0.0.0.0.0.1.0.0.0.0.0.5.0.1.0.0.2.ip6.arpa ));
# NOTE: name field contains netaddr from 2001:500:1::803f:235 above
@response = ndd_gethostbyaddr($rv[4]);
($got) = @response;
$exp = 'h.root-servers.net';
print "got: $got, exp: $exp\nnot "
unless $got eq $exp;
&ok;
## test 20 check for in-addr.arpa name conversion
$exp = '5.3.2.0.f.3.0.8.0.0.0.0.0.0.0.0.0.0.0.0.1.0.0.0.0.0.5.0.1.0.0.2.ip6.arpa';
print "got: $qn, exp: $exp\nnot "
unless $qn eq $exp;
&ok;
################################################
## test 21 check A record for IP address
$host = '192.168.12.34';
$netaddr = ndd_gethostbyname2($host,&AF_INET);
$got = length($netaddr);
print "return value length = $got, expected 4\nnot "
unless $got == 4;
&ok;
## test 22 check returned value
$got = inet_ntoa($netaddr);
print "got: $got, exp: $host\nnot "
unless $got eq $host;
&ok;
## test 23 check a record for hostname (dummy) and use array context
set_NS(qw( bad-name.com arpa.com ));
$host = 'arpa.com';
@rv = ndd_gethostbyname2($host,&AF_INET);
$got = length($rv[4]);
print "return value length = $got, expected 4\nnot "
unless $got == 4;
&ok;
## test 24 check returned value
$exp = '174.136.104.234';
$got = inet_ntoa($rv[4]);
print "got: $got, exp: $exp\nnot "
unless $got eq $exp;
&ok;
## test 25 check AAAA record for IP address
$host = '2001:500:1::803f:235';
@rv = ndd_gethostbyname2($host,&AF_INET6);
$got = length($rv[4]);
print "return value length = $got, expected 16\nnot "
unless $got == 16;
&ok;
## test 26 check returned value
$got = ipv6_n2x($rv[4]);
$exp = ipv6_n2x(ipv6_aton($host));
print "got: $got, exp: $exp\nnot "
unless $got eq $exp;
&ok;
## test 27 get host name by address
set_NS(qw( bad-name.com 5.3.2.0.f.3.0.8.0.0.0.0.0.0.0.0.0.0.0.0.1.0.0.0.0.0.5.0.1.0.0.2.ip6.arpa ));
# NOTE: name field contains netaddr from 2001:500:1::803f:235 above
@response = ndd_gethostbyaddr($rv[4],&AF_INET6);
($got) = @response;
$exp = 'h.root-servers.net';
print "got: $got, exp: $exp\nnot "
unless $got eq $exp;
&ok;
## test 28 check for in-addr.arpa name conversion
$exp = '5.3.2.0.f.3.0.8.0.0.0.0.0.0.0.0.0.0.0.0.1.0.0.0.0.0.5.0.1.0.0.2.ip6.arpa';
print "got: $qn, exp: $exp\nnot "
unless $qn eq $exp;
&ok;