• Want to receive the latest contracting news and advice straight to your inbox? Sign up to the ContractorUK newsletter here. Every sign up will also be entered into a draw to WIN £100 Amazon vouchers!

scripting question

  • Thread starter Thread starter bakersdozen
  • Start date Start date
B

bakersdozen

Guest
Calling Perl scripters!

I have a textfile containing a whole bunch of IP addresses. I want a perl script that will run through the file, telnet to port 80 on that particular IP address, do a HEAD then output to another text file if the webserver is running IIS.

This is for internal audit use and I don't have the scripting skills to do this.

Cheers...:smokin
 
Assuming you've got ActiveState Perl on your PC, including the LWP::UserAgent module:

Save the following in a file named ip_head.pl.

Call it using:
c:\ perl\bin\perl ip_head.pl iplist.txt


I accept no responsibility for anything which may happen.
#########################################
# START OF CODE
#########################################
use strict;
my ($line, $page);

while ($line = )
&nbsp &nbsp &nbsp &nbsp {
&nbsp &nbsp &nbsp &nbsp chomp($line);
&nbsp &nbsp &nbsp &nbsp $page = p($line);
&nbsp &nbsp &nbsp &nbsp print "$line\t$page\n";
&nbsp &nbsp &nbsp &nbsp }



#################################################
sub p
{
my ($url) = @_;
my ($ua, $req, $res, @resarray, $head, $page);
use LWP::UserAgent;

if ($url =~ /\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}/)
&nbsp &nbsp &nbsp &nbsp {
&nbsp &nbsp &nbsp &nbsp $url = "" . $url . "/";
&nbsp &nbsp &nbsp &nbsp }


$ua = LWP::UserAgent->new;
$ua->timeout(10);

# INCLUDE THIS LINE IF YOU CONNECT THROUGH A PROXY SERVER
#$ua->proxy(http => 'access7:8080');

$req = new equest HEAD => $url;

# INCLUDE THIS LINE IF YOU CONNECT THROUGH A PROXY SERVER NEEDING AUTHORISATION
#$req->proxy_authorization_basic("UserID", "Password");

$res = $ua->request($req);
if ($res->is_success)
&nbsp &nbsp &nbsp &nbsp {
&nbsp &nbsp &nbsp &nbsp $head = $res->headers;
&nbsp &nbsp &nbsp &nbsp $page = $$head{'server'};
&nbsp &nbsp &nbsp &nbsp }
else
&nbsp &nbsp &nbsp &nbsp {
&nbsp &nbsp &nbsp &nbsp $page = "NOT AVAILABLE";
&nbsp &nbsp &nbsp &nbsp }

return ($page);
}

__END__
#########################################
# END OF CODE
#########################################
 
Just noticed, line 4:
while ($line = )
should be
while ($line = [left angle bracket][right angle bracket])
 

Advertisers

Back
Top