• Visitors can check out the Forum FAQ by clicking this link. You have to register before you can post: click the REGISTER link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below. View our Forum Privacy Policy.
  • 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

Collapse
X
  •  
  • Filter
  • Time
  • Show
Clear All
new posts

    scripting question

    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...

    #2
    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
    #########################################

    Comment


      #3
      Ta,

      Just got to get the module sorted out and I'll be away..

      Comment


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

        Comment

        Working...
        X