5 use Net::DNS::Nameserver;
8 my ($qname, $qclass, $qtype, $peerhost,$query,$conn) = @_;
9 my ($rcode, @ans, @auth, @add);
11 print "Received query from $peerhost to ". $conn->{sockhost}. "\n";
14 # if ($qtype eq "A" && $qname eq "foo.example.com" ) {
15 # my ($ttl, $rdata) = (30, "10.1.2.3");
16 # my $rr = new Net::DNS::RR("$qname $ttl $qclass $qtype $rdata");
19 # }elsif( $qname eq "foo.example.com" ) {
24 my $res = Net::DNS::Resolver->new;
25 my $answer = $res->search("$qname");
26 my $random_number = rand(100);
29 foreach $record ($answer->answer) {
33 if ($random_number > 50) {
34 ($ttl, $rdata) = (30, "205.196.209.62");
36 ($ttl, $rdata) = (30, "$ip");
38 print "$random_number - ".$ip."\n";
40 #my ($ttl, $rdata) = (30, "10.1.2.3");
41 my $rr = new Net::DNS::RR("$qname $ttl $qclass $qtype $rdata");
48 # mark the answer as authoritive (by setting the 'aa' flag
49 return ($rcode, \@ans, \@auth, \@add, { aa => 1 });
52 my $ns = new Net::DNS::Nameserver(
54 ReplyHandler => \&reply_handler,
56 ) || die "couldn't create nameserver object\n";