Beefy Boxes and Bandwidth Generously Provided by pair Networks
Pathologically Eclectic Rubbish Lister
 
PerlMonks  

Re: Problem with telnet and paging

by VinsWorldcom (Prior)
on Dec 19, 2012 at 13:09 UTC ( [id://1009563]=note: print w/replies, xml ) Need Help??


in reply to Problem with telnet and paging

With your example "sh ver" command I immediately think Cisco and when I connect to Cisco routers (using Net::Telnet::Cisco by the way, which in turn uses Net::Telnet), I always issue "terminal length 0" as the first command. That disables paging and then long output like 'show ver', 'show run', etc... always work for me.

Replies are listed 'Best First'.
Re^2: Problem with telnet and paging
by anton (Initiate) on Dec 19, 2012 at 19:03 UTC
    Hi.

    Thank you all for your replies. I've looked into the solution with expect - though I don't have the package and the box I'm running the script on is very limited.

    The software is indeed Cisco, but my other switches/routes are a different kind (huawei, etc) and they do not have any support for terminal length.

    Perhaps my best option would be to use a basic i/o socket, and just read for the '--More--'-line and send a space, or whatnot?

    Thanks in advance.

      this works for me on my CISCO's... may be it's the lines...

      $telnet->prompt('/\w+# $/'); $telnet->waitfor($telnet->prompt);
      that make it work... Don't know, just figuring this out myself...
      usage: ./program.pl 10.10.10.77 z.out

      #!/usr/bin/perl use strict; use warnings; use Net::Telnet; my $uri = shift @ARGV or die "IP address needed \n Usage: ./runssh 10. +10.10.77 outputfile"; my $a = shift @ARGV or die "output file needed \n usage: ./runssh 10.1 +0.10.77 outputfile"; my $telnet = new Net::Telnet (Timeout=>15 #,Input_log => "received_data.txt" ,Input_log => $a ); $telnet->open($uri); $telnet->waitfor('/login: /i'); $telnet->print('Place_the_login_here'); $telnet->waitfor('/Password: /i'); $telnet->print('Place_the password_here'); print "Login is successful \n"; $telnet->prompt('/\w+# $/'); $telnet->waitfor($telnet->prompt); $telnet->cmd("terminal length 0"); $telnet->cmd("show interface brief"); $telnet->cmd("sh int desc"); $telnet->cmd("sh flogi data"); $telnet->cmd("sh zone act"); $telnet->waitfor($telnet->prompt); my $out = $telnet->print('exit'); print $out; $telnet->close(); my $fname = "received_data.txt"; open (my $fh, "<", $fname) or die "Can't open"; while (<$fh>) { print if /ip prefix-list/; }

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://1009563]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others making s'mores by the fire in the courtyard of the Monastery: (6)
As of 2024-04-18 12:23 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found