Schrift
[thread]7655[/thread]

Probelm mit Telnetzugriff auf Router (Seite 3)



<< |< 1 2 3 >| >> 28 Einträge, 3 Seiten
krusty
 2006-01-27 13:15
#62348 #62348
User since
2006-01-27
91 Artikel
BenutzerIn
[default_avatar]
so folgende neuerung

Code: (dl )
1
2
3
4
5
6
7
8
9
suse:~/Desktop/RIP # ./norip.pl
9999999999, 1.1.1.1
DEBUG (ping): 0
Use of uninitialized value in scalar chomp at /usr/lib/perl5/site_perl/5.8.6/Net/Telnet/Netscreen.pm line 298, <IN> line 1.
command timed-out at ./norip.pl line 60
(in cleanup) Last command and firewall error:
9999999999-> save
9999999999(trust-vr)-> ave
Unknown Keyword:ave at ./norip.pl line 0


Es sieht so aus als hätte das Script hier irgendwas übersprungen.

So sieht die Ausgabe aus:

Code: (dl )
1
2
3
4
5
6
7
8
9
suse:~/Desktop/RIP/log # cat 9999999999-1.1.1.1_in.stat
Herzlich Willkommen, Sie versuchen gerade meine Firewall zu knacken. Viel Spass dabei.
login: xy
password:
9999999999-> set vrouter trust-vr
9999999999(trust-vr)-> unset protocol rip
deleting RIP instance, are you sure? y/[n] s
9999999999(trust-vr)-> ave
^-----unknown keyword ave

Denke du siehst selber, das er anstatt das "y" und das "exit" zu schicken das save gesendet hat. Aber warum????\n\n

<!--EDIT|krusty|1138364610-->
renee
 2006-01-27 13:35
#62349 #62349
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Aha, da kommen wir der Sache doch wenigstens ein klein wenig naeher...

CPAN:Net::Telnet::Netscreen sollte die Funktion lastPrompt kennen... bzw. probier mal last_prompt (ist aus CPAN:Net::Telnet und CPAN:Net::Telnet::Netscreen erbt davon)...

Du hast immer noch das waitfor drin?? Damit sollten eigentlich keine Kommandos mehr gesendet werden bis eben die Frage auftaucht...

Und wo taucht das chomp auf?? Kannst Du mal alles auf ein Minimalscript reduzieren?

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#!/usr/bin/perl

use strict;
use warnings;
use Net::Telnet::Netscreen;

my $inlog = "$path/log/".$host."-".$wan."_in.stat";
my $outlog = "$path/log/".$host."-".$wan."_out.stat";
my $wan = "your_wan"; #hier Deinen Wert eintragen

my $session = Net::Telnet::Netscreen->new(
Host => $wan,
Timeout => 90,
Input_log => $inlog,
Output_log => $outlog,
) or die Net::Telnet::Netscreen::error();

#einloggen auf der CPE
$session->login('xy', 'zzzzz') or die $session->error; #hier Deine Werte eintragen

my $set_router = "set vrouter trust-vr";
my $unset_protocol = "unset protocol rip";
my $yes = "y";
my $exit = "exit";
my $save = "save";

$session->cmd($set_router) or die $session->error;
$session->cmd($unset_protocol) or die $session->error;

$session->waitfor('/deleting RIP instance, are you sure\? y\/\[n\]/') or die $session->error;

$session->cmd($yes) or die $session->error;
$session->cmd($exit) or die $session->error;

$session->close or die $session->error;
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
krusty
 2006-01-27 13:47
#62350 #62350
User since
2006-01-27
91 Artikel
BenutzerIn
[default_avatar]
so musste dein script nen bissel anpassen, sieht jetzt so aus:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#!/usr/bin/perl

use strict;
use warnings;
use Net::Telnet::Netscreen;

my $path = "/root/Desktop/RIP";
my $host = "999999999";
my $wan = "1.1.1.1";
my $inlog = "$path/log/".$host."-".$wan."_in.stat";
my $outlog = "$path/log/".$host."-".$wan."_out.stat";

my $session = Net::Telnet::Netscreen->new(
Host => $wan,
Timeout => 90,
Input_log => $inlog,
Output_log => $outlog,
) or die Net::Telnet::Netscreen::error();

#einloggen auf der CPE
$session->login('xy', 'zzzzz') or die $session->error; #hier Deine Werte eintragen

my $set_router = "set vrouter trust-vr";
my $unset_protocol = "unset protocol rip";
my $yes = "y";
my $exit = "exit";
my $save = "save";


$session->cmd($set_router) or die $session->error;
$session->cmd($unset_protocol) or die $session->error;
$session->waitfor('/deleting RIP instance, are you sure\? y\/\[n\] /') or die $session->error;
$session->cmd($yes) or die $session->error;
$session->cmd($exit) or die $session->error;
$session->cmd($save) or die $session->error;
$session->cmd($exit) or die $session->error;
$session->close or die $session->error;


folgende ausgabe kommt

Code: (dl )
1
2
3
suse:~/Desktop/RIP # ./norip2.pl
command timed-out at ./norip2.pl line 31
suse:~/Desktop/RIP #
renee
 2006-01-27 14:01
#62351 #62351
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Bist Du Dir mit dem Leerzeichen wirklich sicher?? Setz mal prompt()...

Code: (dl )
1
2
3
4
5
6
7
[...]
$session->prompt('/fmcde99999->/');
$session->cmd($set_router) or die $session->error;
$session->prompt('/fmcde99999\(trust-vr\)->/');
$session->cmd($unset_protocol) or die $session->error;
$session->waitfor('/deleting RIP instance, are you sure\? y\/\[n\] /') or die $session->error;
[...]
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
krusty
 2006-01-27 14:21
#62352 #62352
User since
2006-01-27
91 Artikel
BenutzerIn
[default_avatar]
Schau dir jetzt mal das logfile an.

Console
Code: (dl )
1
2
suse:~/Desktop/RIP # ./norip2.pl
command timed-out at ./norip2.pl line 30


Logfile (OUT)
Code: (dl )
1
2
3
4
xy
zzzzz
set vrouter trust-vr
save


Logfile (IN)
Code: (dl )
1
2
3
4
5
6
Herzlich Willkommen,
login: xy
password:
9999999999-> set vrouter trust-vr
9999999999(trust-vr)-> save
^------unknown keyword save


Script
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#!/usr/bin/perl

use strict;
use warnings;
use Net::Telnet::Netscreen;

my $path = "/root/Desktop/RIP";
my $host = "9999999999";
my $wan = "1.1.1.1";
my $inlog = "$path/log/".$host."-".$wan."_in.stat";
my $outlog = "$path/log/".$host."-".$wan."_out.stat";

my $session = Net::Telnet::Netscreen->new(
Host => $wan,
Timeout => 90,
Input_log => $inlog,
Output_log => $outlog,
) or die Net::Telnet::Netscreen::error();


$session->login('xy', 'zzzzz') or die $session->error;

my $set_router = "set vrouter trust-vr";
my $unset_protocol = "unset protocol rip";
my $yes = "y";
my $exit = "exit";
my $save = "save";

$session->prompt('/9999999999->/');
$session->cmd($set_router) or die $session->error;
$session->prompt('/9999999999\(trust-vr\)->/');
$session->cmd($unset_protocol) or die $session->error;
$session->waitfor('/deleting RIP instance, are you sure\? y\/\[n\] /') or die $session->error;
$session->cmd($yes) or die $session->error;
$session->cmd($exit) or die $session->error;
$session->cmd($save) or die $session->error;
$session->cmd($exit) or die $session->error;
$session->close or die $session->error;
\n\n

<!--EDIT|krusty|1138364564-->
krusty
 2006-01-27 16:21
#62353 #62353
User since
2006-01-27
91 Artikel
BenutzerIn
[default_avatar]
funzt immer noch nicht. Mal sehen vielleicht haben gibt es übers WE neue Eingebung. Danke an alle die bisher geholfen haben. :rock:
renee
 2006-01-28 02:27
#62354 #62354
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Da kann ich jetzt auch nicht mehr helfen. Ich habe hier auch nichts zum Testen...
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
krusty
 2006-01-28 11:12
#62355 #62355
User since
2006-01-27
91 Artikel
BenutzerIn
[default_avatar]
Schade, trotzdem vielen Dank für deine Bemühungen. Meinst du man könnte anstatt per Telnet auch per SSh auf die Router zugreifen, in Zusammenhang mit dem Perl Script? Ich weis, das der SSH Zugriff erlaubt ist. Vielleicht muss ich auch nur das ganz normale Net::Telnet Modul verwenden. Muss ich einfach mal ausprobieren. Im Internet habe ich schon ein paar Scripte gefunden, die so einen Zugriff auf Cisco Router durchführen, also muss es doch auch mit Netscreen Routern gehen. Verstehe ich nicht wirklich. Naja, vielleicht hat ja noch jemand anderes eine Idee was ich noch probieren könnte.
<< |< 1 2 3 >| >> 28 Einträge, 3 Seiten



View all threads created 2006-01-27 10:47.