init II
This commit is contained in:
145
CISCO read config via Perl telnet modul/read_config.pl
Normal file
145
CISCO read config via Perl telnet modul/read_config.pl
Normal file
@@ -0,0 +1,145 @@
|
||||
#!/bin/perl
|
||||
use Net::Telnet();
|
||||
use strict;
|
||||
|
||||
#my $IP="10.60.1.100";
|
||||
my $IP="192.168.100.2";
|
||||
|
||||
# read config
|
||||
#my @config=read_cisco_config($IP, "batman", "LTBTTTra25", "local", "prog");
|
||||
my $version=read_devicetype($IP, "awisniewski", "peter", "local", "peter");
|
||||
print "$version\n";
|
||||
|
||||
sub read_cisco_config {
|
||||
my ($host, $user, $pass, $login, $enable) = @_;
|
||||
my $t = new Net::Telnet (Timeout => 5, Prompt => '/#$/');
|
||||
|
||||
my $found_proper_method=0;
|
||||
$t->errmode("return");
|
||||
$t->open($host);
|
||||
|
||||
if ($t->waitfor('/>/i') == 1) {
|
||||
# 1 wenn ok
|
||||
# '' wenn n ok
|
||||
$t->print("enable");
|
||||
$t->waitfor('/password/i');
|
||||
$t->print("$pass");
|
||||
$t->waitfor('/#/i');
|
||||
$found_proper_method=1;
|
||||
}
|
||||
if ($found_proper_method==0) {
|
||||
if ($t->waitfor('/#/i') == 1) {
|
||||
$found_proper_method=1;
|
||||
}
|
||||
}
|
||||
if ($found_proper_method==0) {
|
||||
if ($t->waitfor('/username/i') == 1) {
|
||||
$t->print("$user");
|
||||
$t->waitfor('/password/i');
|
||||
$t->print("$pass");
|
||||
|
||||
if ($t->waitfor('/>/i') == 1) {
|
||||
$t->print("enable");
|
||||
$t->waitfor('/password/i');
|
||||
$t->print("$enable");
|
||||
}
|
||||
if ($t->waitfor('/#/i') == '1') {
|
||||
$found_proper_method=1;
|
||||
}
|
||||
}
|
||||
}
|
||||
if ($found_proper_method==0) {
|
||||
if ($t->waitfor('/password/i') == 1 and $found_proper_method==0) {
|
||||
$t->print("$login");
|
||||
|
||||
if ($t->waitfor('/>/i') == 1) {
|
||||
$t->print("enable");
|
||||
$t->waitfor('/password/i');
|
||||
$t->print("$enable");
|
||||
}
|
||||
if ($t->waitfor('/#/i') == '1') {
|
||||
$found_proper_method=1;
|
||||
}
|
||||
}
|
||||
}
|
||||
if ($found_proper_method==1) {
|
||||
#$t->put(Timeout=>20);
|
||||
$t->cmd("terminal length 0");
|
||||
$t->waitfor('/#/');
|
||||
(@config) = $t->cmd("show running");
|
||||
}
|
||||
else {
|
||||
@config=("Kein Login möglich.");
|
||||
}
|
||||
return @config;
|
||||
}
|
||||
|
||||
sub read_devicetype {
|
||||
my ($host, $user, $pass, $login, $enable) = @_;
|
||||
my $t = new Net::Telnet (Timeout => 2, Prompt => '/#[\s]*$/');
|
||||
my @version;
|
||||
my $devicetype;
|
||||
|
||||
my $found_proper_method=0;
|
||||
$t->errmode("return");
|
||||
$t->open($host);
|
||||
|
||||
if ($t->waitfor('/>/i') == 1) {
|
||||
# 1 wenn ok
|
||||
# '' wenn n ok
|
||||
$t->print("enable");
|
||||
$t->waitfor('/password/i');
|
||||
$t->print("$pass");
|
||||
$t->waitfor('/#/i');
|
||||
$found_proper_method=1;
|
||||
}
|
||||
if ($found_proper_method==0) {
|
||||
if ($t->waitfor('/#/i') == 1) {
|
||||
$found_proper_method=1;
|
||||
}
|
||||
}
|
||||
if ($found_proper_method==0) {
|
||||
if ($t->waitfor('/username/i') == 1) {
|
||||
$t->print("$user");
|
||||
$t->waitfor('/password/i');
|
||||
$t->print("$pass");
|
||||
|
||||
if ($t->waitfor('/>/i') == 1) {
|
||||
$t->print("enable");
|
||||
$t->waitfor('/password/i');
|
||||
$t->print("$enable");
|
||||
}
|
||||
if ($t->waitfor('/#/i') == '1') {
|
||||
$found_proper_method=1;
|
||||
}
|
||||
}
|
||||
}
|
||||
if ($found_proper_method==0) {
|
||||
if ($t->waitfor('/password/i') == 1 and $found_proper_method==0) {
|
||||
$t->print("$login");
|
||||
|
||||
if ($t->waitfor('/>/i') == 1) {
|
||||
$t->print("enable");
|
||||
$t->waitfor('/password/i');
|
||||
$t->print("$enable");
|
||||
}
|
||||
if ($t->waitfor('/#/i') == '1') {
|
||||
$found_proper_method=1;
|
||||
}
|
||||
}
|
||||
}
|
||||
if ($found_proper_method==1) {
|
||||
#$t->put(Timeout=>20);
|
||||
$t->cmd("terminal length 0");
|
||||
$t->waitfor('/#/');
|
||||
$t->cmd("terminal pager 500");
|
||||
$t->waitfor('/#/');
|
||||
(@version) = $t->cmd("show version");
|
||||
|
||||
## Hier erfolgt die Auswertung des Gerätetyps
|
||||
}
|
||||
else {
|
||||
$devicetype="Kein Login möglich";
|
||||
}
|
||||
return $devicetype;
|
||||
}
|
||||
Reference in New Issue
Block a user