1 ; Hand made test packets.
2 ; By Wouter Wijngaards.
3 ; These DNS packets contain interesting compression cases.
6 ; 0. A valid packet (handmade)
7 ; id flags qd an ns ar -- header
8 4242 0000 0001 0001 0000 0000
9 ; query: qname example.com. qtype A(1) qclass IN(1)
10 07 6578616d706c65 03 636f6d 00 0001 0001
11 ; answer: example.com type class ttl rdatalen 10.x address.
12 07 6578616d706c65 03 636f6d 00 0001 0001 00000101 0004 0a203040
15 ; 0b. correct compression from answer to query.
16 4242 0000 0001 0001 0000 0000
17 07 6578616d706c65 03 636f6d 00 0001 0001
18 c00c 0001 0001 00000101 0004 0a203040
21 ; 1. Compression from query to answer.
22 4242 0000 0001 0001 0000 0000
24 07 6578616d706c65 03 636f6d 00 0001 0001 00000101 0004 0a203040
27 ; 2. Compression loop answer 1 to answer 2.
28 4242 0000 0001 0002 0000 0000
29 07 6578616d706c65 03 636f6d 00 0001 0001
30 c02d 0001 0001 00000101 0004 0a203040
31 07 6578616d706c65 03 636f6d 00 0001 0001 00000101 0004 0a203050
34 ; 2b. Compression loop answer 2 to answer 1.
35 4242 0000 0001 0002 0000 0000
36 07 6578616d706c65 03 636f6d 00 0001 0001
37 07 6578616d706c65 03 636f6d 00 0001 0001 00000101 0004 0a203050
38 c01d 0001 0001 00000101 0004 0a203040
41 ; 3. Compression loop to self (in answer section).
42 4242 0000 0001 0001 0000 0000
43 07 6578616d706c65 03 636f6d 00 0001 0001
44 c01d 0001 0001 00000101 0004 0a203040
47 ; 4. bad compression pointer - to header.
48 4242 0000 0001 0001 0000 0000
49 07 6578616d706c65 03 636f6d 00 0001 0001
50 c004 0001 0001 00000101 0004 0a203040
53 ; 5. bad compression pointer - exceeds packet.
54 4242 0000 0001 0001 0000 0000
55 07 6578616d706c65 03 636f6d 00 0001 0001
56 c0bb 0001 0001 00000101 0004 0a203040
59 ; 6. double OPT record.
60 ; id flags qd an ns ar -- header
61 4242 0000 0001 0001 0000 0002
62 ; query: qname example.com. qtype A(1) qclass IN(1)
63 07 6578616d706c65 03 636f6d 00 0001 0001
64 ; answer: example.com type class ttl rdatalen 10.x address.
65 07 6578616d706c65 03 636f6d 00 0001 0001 00000101 0004 0a203040
66 ; additional: . OPT 4096
67 00 0029 1000 00000000 0000
68 ; additional: . OPT 4096
69 00 0029 1000 00000001 0000