Permalink
Browse files

Updated fingerprints

  • Loading branch information...
1 parent 4782cdd commit 1f0f8835d1bae40519bed4a5fff9f18f392d1ff9 @sjobe sjobe committed Oct 31, 2011
Showing with 81 additions and 80 deletions.
  1. +81 −80 lib/Net/DNS/Fingerprint.pm
View
@@ -55,14 +55,14 @@ my $ignore_recurse = 0;
my @qy = (
"0,QUERY,0,0,0,0,0,0,NOERROR,0,0,0,0", #qy0
-"0,QUERY,0,1,0,1,1,1,NOERROR,0,0,0,0", #qy1
-"0,UPDATE,1,0,0,0,1,0,NOERROR,0,0,0,0", #qy2
-"0,IQUERY,0,0,1,0,1,0,NOTIMP,0,0,0,0", #qy3
+"0,QUERY,0,0,0,1,0,1,NOERROR,0,0,0,0", #qy1
+"0,NS_NOTIFY_OP,0,1,1,0,1,1,NOTIMP,0,0,0,0", #qy2
+"0,IQUERY,0,0,0,1,1,1,NOERROR,0,0,0,0", #qy3
"0,QUERY,0,0,1,0,0,0,NOERROR,0,0,0,0", #qy4
"0,QUERY,0,0,1,0,0,0,NOERROR,0,0,0,0", #qy5
-"0,NS_NOTIFY_OP,1,0,0,1,1,1,NOERROR,0,0,0,0", #qy6
-"0,QUERY,1,1,0,0,1,0,NOTIMP,0,0,0,0", #qy7
-"0,QUERY,0,0,1,0,0,0,NOERROR,0,0,0,0", #qy8
+"0,IQUERY,0,1,1,0,0,0,NOTIMP,0,0,0,0", #qy6
+"0,QUERY,0,0,0,0,0,1,NOTIMP,0,0,0,0", #qy7
+"0,UPDATE,0,0,1,0,0,0,NOERROR,0,0,0,0", #qy8
"0,QUERY,0,0,1,0,0,0,NOERROR,0,0,0,0", #qy9
"0,QUERY,0,0,1,0,0,0,NOERROR,0,0,0,0", #qy10
"0,QUERY,0,0,1,0,0,0,NOERROR,0,0,0,0", #qy11
@@ -73,98 +73,99 @@ my @nct = (
". IN A", #nct1
". IN A", #nct2
". IN A", #nct3
-". IN TKEY", #nct4
-"jjjjjjjjjjjj. HS MD", #nct5
+"jjjjjjjjjjjj. CH A", #nct4
+"jjjjjjjjjjjj. CH RRSIG", #nct5
". IN A", #nct6
". IN A", #nct7
-"jjjjjjjjjjjj. CH MD", #nct8
+". IN A", #nct8
". IN DNSKEY", #nct9
-". CH IXFR", #nct10
-". ANY SOA", #nct11
+"jjjjjjjjjjjj. ANY TKEY", #nct10
+". IN IXFR", #nct11
);
my %initrule = (header => $qy[0], query => $nct[0], );
my @iq = (
-"1,QUERY,0,0,0,0,0,0,NOERROR,.+,.+,.+,.+", #iq0
-"1,QUERY,0,0,0,0,0,0,SERVFAIL,1,0,0,0", #iq1
-"1,QUERY,0,0,0,0,0,0,NXDOMAIN,1,0,0,0", #iq2
-"1,QUERY,0,0,0,0,0,0,NOERROR,1,0,0,0", #iq3
-"1,QUERY,0,0,0,1,0,0,NOERROR,.+,.+,.+,.+", #iq4
-"1,UPDATE,0,0,0,1,0,0,SERVFAIL,1,0,0,0", #iq5
-"0,UPDATE,1,0,0,0,1,0,NOERROR,1,0,0,0", #iq6
-"1,IQUERY,0,0,1,0,0,0,NOTIMP,1,0,0,0", #iq7
-"0,IQUERY,0,0,1,0,1,0,NOTIMP,1,0,0,0", #iq8
-"1,QUERY,0,0,1,0,0,0,NOTIMP,1,0,0,0", #iq9
-"1,QUERY,0,0,1,0,0,0,FORMERR,1,0,0,0", #iq10
+"1,QUERY,0,0,0,0,0,0,SERVFAIL,1,0,0,0", #iq0
+"1,QUERY,0,0,0,0,0,0,NXDOMAIN,1,0,0,0", #iq1
+"1,QUERY,0,0,0,0,0,0,NOERROR,1,0,0,0", #iq2
+"1,QUERY,0,0,0,1,0,0,NOERROR,.+,.+,.+,.+", #iq3
+"1,NS_NOTIFY_OP,0,0,1,1,0,1,FORMERR,1,0,0,0", #iq4
+"1,NS_NOTIFY_OP,0,0,1,1,0,0,FORMERR,1,0,0,0", #iq5
+"1,NS_NOTIFY_OP,0,0,1,1,0,0,REFUSED,1,0,0,0", #iq6
+"0,NS_NOTIFY_OP,0,1,1,0,1,1,NOTIMP,1,0,0,0", #iq7
+"1,IQUERY,0,0,0,1,0,0,NOTIMP,1,0,0,0", #iq8
+"0,IQUERY,0,0,0,1,1,1,NOERROR,1,0,0,0", #iq9
+"1,QUERY,0,0,1,0,0,0,NOTIMP,1,0,0,0", #iq10
"0,QUERY,0,0,1,0,0,0,NOERROR,1,0,0,0", #iq11
-"1,UPDATE,0,0,0,1,0,0,FORMERR,0,0,0,0", #iq12
-"1,NS_NOTIFY_OP,0,0,0,1,0,1,FORMERR,1,0,0,0", #iq13
-"1,NS_NOTIFY_OP,0,0,0,1,0,0,REFUSED,1,0,0,0", #iq14
-"1,NS_NOTIFY_OP,0,0,0,1,0,0,FORMERR,1,0,0,0", #iq15
-"1,NS_NOTIFY_OP,0,0,0,1,0,0,SERVFAIL,1,0,0,0", #iq16
-"1,QUERY,0,0,0,1,0,0,NOTIMP,.+,.+,.+,.+", #iq17
-"1,QUERY,0,0,0,1,0,1,NOERROR,.+,.+,.+,.+", #iq18
-"1,UPDATE,0,0,0,1,0,0,FORMERR,1,0,0,0", #iq19
-"1,QUERY,0,0,1,0,0,0,SERVFAIL,1,0,0,0", #iq20
-"1,QUERY,0,0,1,0,0,0,REFUSED,1,0,0,0", #iq21
-"1,QUERY,0,0,1,1,0,0,NOERROR,.+,.+,.+,.+", #iq22
-"1,QUERY,0,1,1,1,0,0,NOERROR,.+,.+,.+,.+", #iq23
-"1,QUERY,0,0,0,0,0,0,REFUSED,0,0,0,0", #iq24
-"1,QUERY,0,0,1,1,0,0,REFUSED,1,0,0,0", #iq25
+"1,NS_NOTIFY_OP,0,0,1,1,0,0,SERVFAIL,1,0,0,0", #iq12
+"1,IQUERY,0,0,1,1,0,0,SERVFAIL,1,0,0,0", #iq13
+"1,IQUERY,0,0,1,1,0,0,NOTIMP,0,0,0,0", #iq14
+"1,QUERY,0,0,0,1,0,0,NOTIMP,.+,.+,.+,.+", #iq15
+"1,QUERY,0,0,0,1,0,1,NOERROR,.+,.+,.+,.+", #iq16
+"1,UPDATE,0,0,1,1,0,0,FORMERR,1,0,0,0", #iq17
+"1,QUERY,0,0,1,0,0,0,SERVFAIL,1,0,0,0", #iq18
+"1,QUERY,0,0,1,0,0,0,REFUSED,1,0,0,0", #iq19
+"1,UPDATE,0,0,1,1,0,0,FORMERR,0,0,0,0", #iq20
+"1,QUERY,0,0,1,1,0,0,NOERROR,.+,.+,.+,.+", #iq21
+"1,QUERY,0,1,1,1,0,0,NOERROR,.+,.+,.+,.+", #iq22
+"1,QUERY,0,0,0,0,0,0,REFUSED,0,0,0,0", #iq23
+"1,QUERY,0,0,1,1,0,0,REFUSED,1,0,0,0", #iq24
+"1,QUERY,0,0,1,1,0,0,NXDOMAIN,.+,.+,.+,.+", #iq25
);
my @ruleset = (
-{ fingerprint => $iq[0], result => { vendor =>"VeriSign", product=>"ATLAS", version=>""}, },
-{ fingerprint => $iq[1], result => { vendor =>"NLnetLabs", product=>"NSD", version=>"3.1.0 -- 3.2.8"}, },
-{ fingerprint => $iq[2], result => { vendor =>"Unlogic", product=>"Eagle DNS", version=>"1.1.1"}, },
-{ fingerprint => $iq[3], result => { vendor =>"Unlogic", product=>"Eagle DNS", version=>"1.0 -- 1.0.1"}, },
-{ fingerprint=>$iq[4], header=>$qy[1], query=>$nct[1], ruleset => [
- { fingerprint=>$iq[4], header=>$qy[2], query=>$nct[2], ruleset => [
- { fingerprint => $iq[5], result => { vendor =>"", product=>"Google DNS", version=>""}, },
- { fingerprint=>"query timed out", header=>$qy[3], query=>$nct[3], ruleset => [
- { fingerprint => $iq[7], result => { vendor =>"Microsoft", product=>"Windows DNS", version=>"2003"}, },
- { fingerprint=>"query timed out", header=>$qy[4], query=>$nct[4], ruleset => [
- { fingerprint => $iq[9], result => { vendor =>"Microsoft", product=>"Windows DNS", version=>"2008 R2"}, },
- { fingerprint=>$iq[10], header=>$qy[5], query=>$nct[5], ruleset => [
- { fingerprint => "query timed out", result => { vendor =>"Microsoft", product=>"Windows DNS", version=>"2008"}, },
- { fingerprint => $iq[9], result => { vendor =>"Microsoft", product=>"Windows DNS", version=>"2003 R2"}, },
- { fingerprint => ".+", state=>"q0r4q1r4q2r6q3r8q4r10q5r?" },
+{ fingerprint => $iq[0], result => { vendor =>"NLnetLabs", product=>"NSD", version=>"3.1.0 -- 3.2.8"}, },
+{ fingerprint => $iq[1], result => { vendor =>"Unlogic", product=>"Eagle DNS", version=>"1.1.1"}, },
+{ fingerprint => $iq[2], result => { vendor =>"Unlogic", product=>"Eagle DNS", version=>"1.0 -- 1.0.1"}, },
+{ fingerprint=>$iq[3], header=>$qy[1], query=>$nct[1], ruleset => [
+ { fingerprint=>$iq[3], header=>$qy[2], query=>$nct[2], ruleset => [
+ { fingerprint => $iq[4], result => { vendor =>"ISC", product=>"BIND", version=>"9.3.0 -- 9.3.6-P1"}, },
+ { fingerprint => $iq[5], result => { vendor =>"ISC", product=>"BIND", version=>"9.2.3 -- 9.2.9"}, },
+ { fingerprint => $iq[6], result => { vendor =>"ISC", product=>"BIND", version=>"9.1.1 -- 9.1.3"}, },
+ { fingerprint=> "query timed out", header=>$qy[3], query=>$nct[3], ruleset => [
+ { fingerprint => $iq[8], result => { vendor =>"Microsoft", product=>"Windows DNS", version=>"2003"}, },
+ { fingerprint=> "query timed out", header=>$qy[4], query=>$nct[4], ruleset => [
+ { fingerprint => $iq[10], result => { vendor =>"Microsoft", product=>"Windows DNS", version=>"2003 R2"}, },
+ { fingerprint=> "query timed out", header=>$qy[5], query=>$nct[5], ruleset => [
+ { fingerprint => "query timed out", result => { vendor =>"Microsoft", product=>"Windows DNS", version=>"2008 R2"}, },
+ { fingerprint => $iq[10], result => { vendor =>"Microsoft", product=>"Windows DNS", version=>"2008"}, },
+ { fingerprint => ".+", state=>"q0r3q1r3q2r7q3r9q4r11q5r?" },
]},
]},
]},
{ fingerprint=>$iq[12], header=>$qy[6], query=>$nct[6], ruleset => [
- { fingerprint => $iq[13], result => { vendor =>"ISC", product=>"BIND", version=>"9.3.0 -- 9.3.6-P1"}, },
- { fingerprint => $iq[14], result => { vendor =>"ISC", product=>"BIND", version=>"9.1.1 -- 9.1.3"}, },
- { fingerprint => $iq[15], result => { vendor =>"ISC", product=>"BIND", version=>"9.2.3 -- 9.2.9"}, },
- { fingerprint=>$iq[16], header=>$qy[7], query=>$nct[7], ruleset => [
- { fingerprint => $iq[17], result => { vendor =>"ISC", product=>"BIND", version=>"9.2.0rc3"}, },
- { fingerprint => $iq[4], result => { vendor =>"ISC", product=>"BIND", version=>"9.2.0 -- 9.2.2-P3"}, },
- { fingerprint => ".+", state=>"q0r4q1r4q2r6r12q6r16q7r?" },
+ { fingerprint => $iq[13], result => { vendor =>"", product=>"Google DNS", version=>""}, },
+ { fingerprint=>$iq[14], header=>$qy[7], query=>$nct[7], ruleset => [
+ { fingerprint => $iq[15], result => { vendor =>"ISC", product=>"BIND", version=>"9.2.0rc3"}, },
+ { fingerprint => $iq[3], result => { vendor =>"ISC", product=>"BIND", version=>"9.2.0 -- 9.2.2-P3"}, },
+ { fingerprint => ".+", state=>"q0r3q1r3q2r7r12q6r14q7r?" },
]},
]},
]},
- { fingerprint=>$iq[18], header=>$qy[2], query=>$nct[2], ruleset => [
+ { fingerprint=>$iq[16], header=>$qy[2], query=>$nct[2], ruleset => [
{ fingerprint => "query timed out", result => { vendor =>"Microsoft", product=>"Windows DNS", version=>"2000"}, },
- { fingerprint=>$iq[19], header=>$qy[8], query=>$nct[8], ruleset => [
- { fingerprint => $iq[20], result => { vendor =>"ISC", product=>"BIND", version=>"9.7.2"}, },
- { fingerprint => $iq[21], result => { vendor =>"ISC", product=>"BIND", version=>"9.6.3 -- 9.7.3"}, },
- { fingerprint => ".+", state=>"q0r4q1r4r18q2r19q8r?" },
- ]},
- { fingerprint=>$iq[12], header=>$qy[8], query=>$nct[8], ruleset => [
- { fingerprint => $iq[21], result => { vendor =>"ISC", product=>"BIND", version=>"9.5.2 -- 9.7.1"}, },
- { fingerprint=>$iq[20], header=>$qy[9], query=>$nct[9], ruleset => [
- { fingerprint => $iq[22], result => { vendor =>"ISC", product=>"BIND", version=>"9.6.0"}, },
- { fingerprint => $iq[23], result => { vendor =>"ISC", product=>"BIND", version=>"9.4.0 -- 9.5.1"}, },
- { fingerprint => ".+", state=>"q0r4q1r4r18q2r19r12q8r20q9r?" },
+ { fingerprint=>$iq[4], header=>$qy[8], query=>$nct[8], ruleset => [
+ { fingerprint=>$iq[17], header=>$qy[4], query=>$nct[4], ruleset => [
+ { fingerprint => $iq[18], result => { vendor =>"ISC", product=>"BIND", version=>"9.7.2"}, },
+ { fingerprint => $iq[19], result => { vendor =>"ISC", product=>"BIND", version=>"9.6.3 -- 9.7.3"}, },
+ { fingerprint => ".+", state=>"q0r3q1r3r16q2r4q8r17q4r?" },
+ ]},
+ { fingerprint=>$iq[20], header=>$qy[4], query=>$nct[4], ruleset => [
+ { fingerprint => $iq[19], result => { vendor =>"ISC", product=>"BIND", version=>"9.5.2 -- 9.7.1"}, },
+ { fingerprint=>$iq[18], header=>$qy[9], query=>$nct[9], ruleset => [
+ { fingerprint => $iq[21], result => { vendor =>"ISC", product=>"BIND", version=>"9.6.0 OR 9.4.0 -- 9.5.1"}, },
+ { fingerprint => $iq[22], result => { vendor =>"ISC", product=>"BIND", version=>"9.4.0 -- 9.5.1"}, },
+ { fingerprint => ".+", state=>"q0r3q1r3r16q2r4q8r17r20q4r18q9r?" },
+ ]},
]},
]},
]},
]},
-{ fingerprint=>$iq[24], header=>$qy[10], query=>$nct[10], ruleset => [
- { fingerprint => $iq[21], result => { vendor =>"NLnetLabs", product=>"Unbound", version=>"1.4.10 -- 1.4.12"}, },
- { fingerprint=>"header section incomplete", header=>$qy[11], query=>$nct[11], ruleset => [
- { fingerprint => $iq[22], result => { vendor =>"NLnetLabs", product=>"Unbound", version=>"1.4.1 -- 1.4.9"}, },
- { fingerprint => $iq[25], result => { vendor =>"NLnetLabs", product=>"Unbound", version=>"1.3.0 -- 1.4.0"}, },
- { fingerprint => ".+", state=>"q0r4r24q10r11q11r?" },
+{ fingerprint=>$iq[23], header=>$qy[10], query=>$nct[10], ruleset => [
+ { fingerprint => $iq[24], result => { vendor =>"NLnetLabs", product=>"Unbound", version=>"1.3.0 -- 1.4.0"}, },
+ { fingerprint=>$iq[25], header=>$qy[11], query=>$nct[11], ruleset => [
+ { fingerprint => "header section incomplete", result => { vendor =>"NLnetLabs", product=>"Unbound", version=>"1.4.1 -- 1.4.9"}, },
+ { fingerprint => $iq[19], result => { vendor =>"NLnetLabs", product=>"Unbound", version=>"1.4.10 -- 1.4.12"}, },
+ { fingerprint => ".+", state=>"q0r3r23q10r25q11r?" },
]},
]},
);
@@ -1781,12 +1782,12 @@ sub init
if(defined $match{product}){
return %match;
- }else {
+ }else {
#For backwards compatibility with old fingerprint code which never set the rd
- $ignore_recurse = 1;
- return $self->process($qserver, $qport,
+ $ignore_recurse = 1;
+ return $self->process($qserver, $qport,
$old_initrule{header}, $old_initrule{query}, \@old_ruleset);
- }
+}
}
sub process

0 comments on commit 1f0f883

Please sign in to comment.