Sunday, August 14, 2011

Telnet in a Telnet Cisco

use Net::Cisco;
open(CONFIG,">config.csv");
print CONFIG "Router IP,Device IP,Ethernet Mac Address,Description\n";
open(IPLIST,"iplist.txt")or die "couldn't open iplist.txt";
my $count=0;
while(<IPLIST>)
{
chomp($_);
my @data=split(/\^/,$_);
tel($data[0],$data[1]);
$count++;
}
close(IPLIST);
close(CONFIG);
sub tel
{
my($router,$g)=@_;
my $tl=0;
my @output;
my @output0;
my @output1;
my $t=Net::Telnet::Cisco->new(Host=>$router,Timeout=>7,Errmode=>'return')or $tl=1;
if($tl==0)
{
$t->login('9190','M@R42');
@output0=$t->cmd(string=>"$g",prompt=>'/Please enter password: /');
$g=~s/^.......(.*)$/$1/;
if(@output0)
{
@output1=$t->cmd(string=>"public",prompt=>'/]> /');
chomp($output1[0]);
print "$output1[0]\n";
    if($output1[0] eq "Incorrect Password")
    {
    print "$router,$g,Incorrect Password\n";
    print CONFIG "$router,$g,Incorrect Password\n";
    $t->close;
    }
    else
    {
    @output=$t->cmd(string=>"show system",prompt=>'/]>/');
    $t->print('exit');
    $t->close;
    #print @output;
    chomp($g);
    chomp($output[4]);
    chomp($output[11]);
    $output[4] =~ s/^..............................................(.*)$/$1/;
    $output[11] =~ s/^................................(.*)$/$1/;
    print "$router,$g,$output[11],$output[4]\n";
    print CONFIG "$router,$g,$output[11],$output[4]\n";
    }
}
else
{
    print "$router,$g,Telnet Failed\n";
    print CONFIG "$router,$g,Device Telnet Failed\n";
    $t->close;
}
}
else
{
    print "$router,Login Failed\n";
    print CONFIG "$router,$g,Router Login Failed\n";
}
}

Tuesday, August 9, 2011

Telnet Cisco


use Net::Cisco;
$t =Net::Telnet::Cisco->new(Host=>'192.168.2.1');
$t->login('919', 'password');
@output=$t->cmd("show runn");
open(CONFIG,">config.txt");
print CONFIG "@output\n";
close(CONFIG);
$t->close;


The above code can telnets into a Cisco device and and executes a command "show runn" and writes that output to file config.txt
I didn't include any success and failure control statements,please comment..if u need any further information