Appendix A. External Software Packages

This appendix discusses several of the external software packages discussed throughout the book. Because this is primarily a Cisco book, and we have not focused on any particular software products, this section is restricted to freely distributed software. There are also commercial products that fulfill the same functions as some of these packages (particularly for SNMP) that you may prefer to use.

A.1. Perl

According to the Perl web site:

Perl is a high-level programming language with an eclectic heritage written by Larry Wall and a cast of thousands. It derives from the ubiquitous C programming language and to a lesser extent from sed, awk, the Unix shell, and at least a dozen other tools and languages. Perl’s process, file, and text manipulation facilities make it particularly well-suited for tasks involving quick prototyping, system utilities, software tools, system management tasks, database access, graphical programming, networking, and world wide web programming.

Many of the scripts written in Perl these days tend to involve dynamically generating web pages. But all of the scripts in this book use Perl at the command line of either a Unix or Windows computer.

We frequently use Perl for scripting network administration functions because it is an extremely powerful and flexible language, particularly for requirements involving pattern matching. This makes it perfect for scanning log files, as well as for spawning dynamic queries and formatting the output into a useful report.

Perl is available for both Unix and Windows systems. This is important because, while the engineers who run most of the world’s larger networks use Unix, smaller organizations frequently don’t have any Unix expertise. So it is not uncommon to see Windows computers managing smaller networks.

Perl’s free and open distribution policy means that there is usually a good port available, even if you use a different system. And, most important for organizations on tight budgets, it’s free.

The scripts in this book were written and tested with a variety of different releases of Perl Version 5. However, we deliberately wrote the scripts to be as portable as possible, so they should run without alteration in most versions of the language.

The official Perl web page is http://www.perl.com/. This site has a wealth of information to help people who program in Perl, including many helpful ideas for beginners.

You can download the most recent source code for Perl from this web site, which also has compiled versions for a variety of platforms. The following URL will direct you to the download area: http://www.perl.com/pub/a/language/info/software.html.

The Perl web site also has extensive documentation that is quite well-written and easy to follow at http://www.perl.com/pub/q/documentation.

There are also several excellent books on Perl that you may find helpful. Programming Perl, by Larry Wall, Tom Christiansen and Jon Orwant (O’Reilly) is an excellent introduction to the language and its features. We also recommend Perl In a Nutshell, by Ellen Siever, Stephen Spainhour and Nathan Patwardhan (O’Reilly). And, if you are interested in seeing some of the other things that you can do with this language, have a look at Perl Cookbook, by Tom Christiansen and Nathan Torkington (O’Reilly).

A.2. Expect

Expect is another scripting language that helps solve a different type of problem. Where Perl’s strength is in pattern matching, Expect provides a way to automate interactive applications. We usually use Expect to imitate user sessions on a router to automate command-line tasks.

The Expect program is able to send one or more lines of output (such as router commands) and capture the results. It can also react to whatever the router sends it in return. This could be as simple as sending a user ID and waiting for the password prompt, or you could use this feature to check for various error conditions and react appropriately.

We often write scripts in Expect to automate boring, repetitive tasks. Computers are good at these tasks; people aren’t. People make typos and get bored, or blink and miss key pieces of information. Also, because Expect can react immediately to the router’s responses, the script can generally execute a series of commands very quickly. We think it’s better to spend our time doing something productive while the computer is logging into all of our routers to do show. Expect lets us do this.

Expect is free to download, distribute, and use for any purpose. There are both Unix and Windows versions, and there are even companies doing commercial support for Expect. We wrote and tested all of the scripts in this book using Expect Version 5.31.2 on a Unix platform.

You can download Expect from the official web page at http://expect.nist.gov/. This site also has useful documentation and example scripts. For more information, we highly recommend Exploring Expect, by Don Libes (O’Reilly).

A.3. NET-SNMP

NET-SNMP is a free open source SNMP package that is based on the earlier UCD-SNMP and CMU-SNMP packages developed at University of California at Davis, and Carnegie Mellon University, respectively. The current version supports SNMP Versions 1, 2c, and 3. It is available for both Windows and Unix platforms.

This package includes a complete suite of SNMP programs. It includes SNMP agent and server software, as well as the command-line utilities needed for interacting with SNMP devices to extract information or change settings that we used in our scripts. In fact, we used only a small subset of the NET-SNMP suite of applications in this book.

We wrote and tested all of the scripts in this book using NET-SNMP Version 4.2.

The official NET-SNMP web page is http://www.net-snmp.org/, which is mirrored at http://net-snmp.sourceforge.net/. This site contains documentation and other useful information about the package. You can download the software via FTP from ftp://ftp.net-snmp.org/pub/sourceforge/net-snmp/.

Unfortunately, we are not aware of any books written specifically about NET-SNMP. However, Essential SNMP, by Douglas Mauro and Kevin Schmidt (O’Reilly), does a good job of covering SNMP in general, and includes some discussion of NET-SNMP as well.

A.4. PuTTY

PuTTY is a free implementation of the Telnet and SSH protocols for Windows. Its current version supports Telnet, SSHv1, SSHv2, Secure copy, Secure FTP, and rlogin. A client-only version of each protocol is available for the Windows platform.

PuTTY boasts an impressive set of features. Its SSH client is robust and feature-rich, and the Telnet support is far superior to the standard Telnet client that ships with Windows.

The official PuTTY web site is http://www.chiark.greenend.org.uk/~sgtatham/putty/. This site contains documentation and other useful information about the package. You can download the software via FTP from http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html.

A.5. OpenSSH

OpenSSH is a free version of the SSH protocol suite for Unix and Unix-like systems. Its current version supports SSHv1, SSHv2, Secure copy, and Secure FTP. Not only does OpenSSH provide SSH clients, it also includes the server-side software. OpenSSH does not currently support Windows-based systems.

OpenSSH initially started out as an SSH suite for the OpenBSD project. People quickly noticed that this powerful suite was secure, and most importantly, free. This led to the eventual porting across the various Unix flavors. In fact, many Unix projects today ship OpenSSH as part of their base system. We used the OpenSSH suite extensively throughout the writing of this book.

The official OpenSSH web site is http://www.openssh.com/. This site contains documentation and other useful information about the suite. You can download the suite of tools via FTP from http://www.openssh.com/portable.htm.

A.6. Ethereal

Ethereal is a free network protocol analyzer for both Unix and Windows. It is a powerful analyzer that contains many useful features, including the ability to read network traces from virtually any other analyzer. It also boasts a rather impressive list of supported protocols that rivals most of the other available analyzers. Best of all, you can read its traces on most popular operating systems.

Ethereal includes a graphical interface and a text-based mode called Tethereal. Throughout this book, we used the CLI version to illustrate the behavior of various protocols. We highly recommend using this protocol analyzer.

The official Ethereal web site is http://www.ethereal.com/. This site contains documentation and other useful information about Ethereal. You can download the program via FTP from http://www.ethereal.com/download.html.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.143.4.181