Cisco Device Automation Using Perl Scripts (DAPS)

Cisco Device Automation Using Perl Scripts (DAPS)

Course Information

Technology : Routing & Metro Ethernet

Duration : 4 Days Course

Review : 1 Star2 Stars3 Stars4 Stars5 Stars (1 votes, average: 5.00 out of 5)
  • Cisco Device Automation Using Perl Scripts (DAPS)

    Upcoming Dates

    Course Details


    This instructor-led course introduces you to the fundamentals of Cisco® device automation using Perl scripts. Through a combination of lecture and hands-on labs, you will gain an understanding of how to use the Perl scripting language to monitor, provision, upgrade, and test Cisco network devices running Cisco IOS® Software.

    The course is designed to allow the students to build upon their work as they progress through each section. This leaves students with completely functional scripts that they can continue using after the course for the basis of their own scripts.


    Upon completing this course, the learner will be able to meet these overall objectives:

    • Explain how Perl scripts are used to automate repetitive tasks in a large-scale networked environment
    • Write Perl scripts that access Cisco networking devices using Telnet, Secure Shell (SSH) Protocol, and Simple Network Management Protocol (SNMP)
    • Access and manage Cisco devices using Perl scripts connected using a remote terminal server
    • Write Perl scripts to monitor devices using Internet Control Message Protocol (ICMP), SNMP, remote ping, or IP service-level agreement (SLA)
    • Parse command line output
    • Make use of Perl modules
    • Perform configuration management on Cisco devices using Perl scripting
    • Perform operating system upgrades on devices running Cisco IOS Software using Perl scripting


    Course Outline

    • Module 1: Introduction to Perl Scripting and Using the Basic Constructs
      • Coding style and best practices
      • Building a base script and making it executable
      • Using Perl modules and command line arguments
    • Module 2: Basic Expect and Debugging
      • Using Expect
      • Expect debugging
      • Expect loops
    • Module 3: Using a Script to Access Cisco Devices with SSH and Telnet
      • Using SSH and Telnet with Expect
      • Spawn connection, login, and disconnection
      • Run commands
    • Module 4: Parsing Command Output
      • Using programming loops such as while and foreach
      • Using given/when
      • Using split
      • Using regular expressions
      • Waiting for desired output and timeouts
    • Module 5: Access Devices Using a Terminal Server and Handling Paging
      • Using a terminal server
      • Performing enhanced error recovery
      • Handling terminal length, width, and paging issues
      • Exiting the terminal connection
    • Module 6: Using SNMP
      • Using the SNMP module
    • Module 7: Configuration Management and Cisco IOS Software Upgrades
      • Saving device configurations
      • Changing configurations
      • Comparing configurations
      • Upgrading Cisco IOS Software images

    Lab Outline

    A hands-on lab for each major topic is included in this course. Each lab builds upon the previous lab work as the course progresses throughout the four days. The lab outline is as follows:

    • Lab 1: Logging into the System and Setting up the Student Directory
    • Lab 2: Creating the Base Script
    • Lab 3: Creating and Debugging an Expect Script
    • Lab 4: Using Expect with Telnet and SSH
    • Lab 5: Parsing Command Output
    • Lab 6: Building a Script with the Ability to Connect to a Device via Another Device
    • Lab 7: Accessing Devices with a Terminal Server
    • Lab 8: Using SNMP to Gather Statistics
    • Lab 9: Using Proxy Pint and TFTP Backup with SNMP
    • Lab10: Performing Configuration Management
    • Lab 11: Performing Cisco IOS Software Upgrades

    Target Audience

    This course is for technical professionals who need to know how to automate networks built using Cisco routers and switches.
    The following are considered the primary audience for this course:

    • Technical support personnel
    • Network engineers


    The following are the prerequisites for this course:

    • Have a basic to intermediate understanding of Perl.
    • Have a basic to intermediate understanding of UNIX.
    • This course uses Perl and UNIX but is not meant as an introduction to either technology. Students should already be familiar with these technologies.

    Course Schedule