Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl Monk, Perl Meditation
 
PerlMonks  

comment on

( [id://3333]=superdoc: print w/replies, xml ) Need Help??
This might seem a bit off topic in Perlmonks, but I find life with Cisco is much easier using an Expect script called clogin that is part of the Rancid package, from http://www.shrubbery.net/rancid/.

To use it, you need to install Expect; not Perl's Expect.pm, but the TCL-centric language Expect that was originally from http://expect.nist.gov/. Be sure to install Shrubbery's patched Expect; otherwise you are likely to experience processes that hang once in a blue moon for no obvious reason. It will use the built in telnet and/or ssh commands on your system.

Clogin's configuration file is manna from heaven if your devices are the typical motley mix of different generations of equipment: some accepting telnet only, some accepting ssh only, some wanting user name and password, some wanting just the enable password twice, and some that want to autoenable (you get the # enable prompt as soon as you are logged in.)

If you just need to issue a single command, or a canned string of commands from the command line,

    clogin -c "show clock; show version" cisco2500a

is sufficient, once you have set up a ~/.cloginrc file to specify the characteristics of your routers. You can of course use open $fh, "clogin ...|" to read the output with a Perl script.

If you have to look at the output of some of the commands in order to decide what the next command should be, I think that using Perl's Expect.pm to spawn clogin is far less painless painful than anything else I've seen. You just let clogin do the tedious grunt work of getting logged in and getting an enable prompt, so you can concentrate on the task at hand. (Update: fixed "less painful". Thanks, rodion!)


In reply to Re: Net::Telnet on routers and switches by quester
in thread Net::Telnet on routers and switches by pbwiz1970

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":



  • Are you posting in the right place? Check out Where do I post X? to know for sure.
  • Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
    <code> <a> <b> <big> <blockquote> <br /> <dd> <dl> <dt> <em> <font> <h1> <h2> <h3> <h4> <h5> <h6> <hr /> <i> <li> <nbsp> <ol> <p> <small> <strike> <strong> <sub> <sup> <table> <td> <th> <tr> <tt> <u> <ul>
  • Snippets of code should be wrapped in <code> tags not <pre> tags. In fact, <pre> tags should generally be avoided. If they must be used, extreme care should be taken to ensure that their contents do not have long lines (<70 chars), in order to prevent horizontal scrolling (and possible janitor intervention).
  • Want more info? How to link or How to display code and escape characters are good places to start.
Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others chanting in the Monastery: (5)
As of 2024-04-23 23:05 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found