programming/perl

apache log shooter(GET)

applicationlayer 2009. 10. 11. 18:58
use LWP::UserAgent;
$ua = LWP::UserAgent->new;
require HTTP::Request;
require HTTP::Response;
if( $#ARGV != 1 )
  { die "Usage: geturireq.pl [target IP] [FileName]\nEx: geturireq.pl 192.168.1.20 Query.txt\n"; }
$ipaddress = $ARGV[0];
$fileName = $ARGV[1] ;
if( -d $fileName )
  { die "$fileName is a directory.\n"; }
-e $fileName || die "$fileName is not exist.\n";
-T $fileName || die "$fileName is not a text file.\n";
open( fileHandle, $fileName ) || die "Cannot open $fileName.\n";
$i = 1;
while($aLine =<fileHandle>)
{
  if($aLine=~/(?<=GET\s).*(?=\sHTTP\/\d\.\d)/)
  {
  $qu = 'http://'.$ipaddress.$&;
  $req = HTTP::Request->new(GET => $qu);
  $res = $ua->request($req);
  print $i.'. '.$qu."\r\n";
  $i=$i+1;
  }
}