Re: Script Required to Check a range of IP's



Hello,

Hope this is what you need

Input File --- test.txt
172.16.1.194
172.16.1.20
172.16.1.200
172.16.1.34

Program to check active or not -- pingpro.pl

#!/usr/bin/perl

use strict;
use warnings;
use Net::Ping;

my $file_name=$ARGV[0];
my $line;
my @host_array;
open(FILE,"$file_name") || die "Not been Accessed" ;
@host_array=<FILE>;
close(FILE);
my $p = Net::Ping->new("icmp");
foreach my $host(@host_array)
{
if($p->ping($host, 2))
{
chomp($host);
print "$host is alive.\n";
}
else
{
chomp($host);
print "$host not reachable.\n";
}
sleep(1);
}
$p->close();
close (FILE);

How to run -- perl pingpro.pl test.txt

Output
172.16.1.194 is alive.
172.16.1.20 is alive.
172.16.1.200 is alive.
172.16.1.34 not reachable.

--
Prabu.M.A
When I was born I was so surprised
I didnt talk for a period and half
-Gracie Allen


Mazhar wrote:
Hi Folks,

I have a requirement of writing down a script to check the range of IP's in
a text file and display them which all are active and not active.

I have written down the below and needs your help because it is not giving
me the correct ouptut.

################################################################
#!/usr/bin/perl

use strict;
use warnings;
use Net::Ping;

my $file_name=$ARGV[0];
my $line;
my @host_array;

open(FILE,"$file_name") || die "Not been Accessed";

while (<FILE>) {
chomp;
@host_array=$_;
}

my $p = Net::Ping->new();
foreach my $host (@host_array)
{
print "$host is ";
print "NOT " unless $p->ping($host, 2);
print "reachable.\n";
sleep(1);
}
$p->close();

close (FILE);

###########################################################

Needs your help on the above

Regards
Mazhar



.



Relevant Pages