Python for Network Automation

Duration

35 hours or 5 classroom days

Course Overview

This is a demo and hands on driven course for learning Python for Network Automation, taught by a network and python professional. Maximize your networking skill set by learning to script solutions to tedious and complex tasks. Use Python to interact with APIs, opening Telnet and SSH sessions, work with files and popular data structures, automate filling out web forms, and learn to interact with switches and routers across the most popular network vendors.

Class is a combination of lecture, demonstration, and hands-on labs. Students are invited to share their own relevant Python and Ansible scripts with the instructor to ensure class subjects are as relevant as possible.

Download Detailed Outline

Python for Network Automation

Lecture and Lab

5 Day Course

Course Overview

This course is driven by demonstration and reinforced by hands-on labs for learning Python for Network Automation. Maximize your networking skill set by learning to script solutions to tedious, complex and oftentimes overwhelming networking tasks.

What You’ll Learn
Automate front end interfaces, interact with APIs, open Telnet and SSH sessions, read and write data out of popular file types (including Excel), transform data between popular data structures like JSON and YAML, and most importantly, learn to interact with switches and routers across the most popular network vendors using multiple Python libraries.

  1. Reviewing Python Essentials
    • Version Controlling Code
    • Up and running with Python (installing on various platforms)
    • Lists
    • Dictionaries
    • File Input and Output
    • Functions
    • Methods
    • Review of the Standard Library
    • Using pip and pypi.org
  1. Python and Data translation
    • JSON
      • Reading from files
      • Reading from API
    • YAML
      • Reading from files
    • CSV
      • Reading from files
    • Excel
      • Using pyexcel library
      • Using pandas library
  1. Python and RESTful APIs
    • RESTful APIs decoded
    • Reading attachments
    • API keying
    • Passing credentials securely
    • Standard Library Solution
    • 3rd party library solutions
  1. Automating SMTP and Extended SMTP (Email)
    • SMTP
    • Extended SMTP
    • Automating Email solutions
    • Setting headers and creating a body
    • Attachments
    • Google Gmail considerations
    • Microsoft considerations
  1. Completing Webforms with Python
    • Web Scraping
    • Automating front-ends with code
    • Selenium for Automation
    • Completing webforms
    • Filling in data with data from open files
    • How to select ‘buttons’
    • How to make ‘clicks’
  1. Python and Telnet
    • RFC 854 - Telnet Protocol
    • Standard Library Solution
  1. Python and SSH
    • Standard Library Solution
    • Paramiko
      • SSH Agents
      • Key exchange and authorization
      • Securing dealing with passwords
      • Configuration
      • SFTP
    • Passing commands and capturing responses
    • Parsing remote logs
  1. Automating Switches and Routers with Python
    • Netmiko
    • Push / Pull Configuration
    • Retrieve information about devices
    • Manage the devices configuration
    • Connecting and Running a Command on a Networking Device
    • Enable & Global Config Mode
    • Configure a Networking Device from a File
    • Configuration Backup using Netmiko
    • VLAN & VXLAN management
    • BGP & OSPF Management
    • Solutions for HSRP, VRRP, and GLBP
  1. Automating Networks with Python NAPALM
    • Installation
    • Tutorials
    • Validating deployments
    • Supported Devices
    • Command Line Tool
    • NetworkDriver
    • YANG
    • napalm-logs
    • Integrations
  1. Python and Network Captures
    • Wireshark
    • TCPDump
    • Decoding network captures with Python
    • *.pcap files
    • *.pcap-ng files
    • Parsing network captures
    • Regular Expression Library
  1. Optimizations and Security
    • Multiprocessing and Multithreading
    • Examples of running in parallel
    • Cost and Benefit Considerations
    • Secure hashes and digests
    • MD5, SHA, and OpenSSL Options
    • Encrypting content
    • Considerations for credentials
    • Securely passing input
  1. Overview of Ansible (optional)
    • Relationship of Ansible and Python
    • Overview and Installing
    • Where YAML fits
    • Modules for Cisco, Juniper, Arista, and other major vendors
      • shell, raw, copy, file, apt, service, cli_command, cli_config
    • Constructing the playbook
    • Applications of Python versus Ansible
    • Writing an Ansible module with Python

Labs

  • Lab 01 - Using vim
  • Lab 02 - Making and Syncing a Github accoun includes: Network Engineers, Network Architects, System Admins
python3_tutorial

Enroll

Self-paced: $ 495 - COMING SOON USD

  • COMING SOON
  • Digital course materials
  • Includes 1 year access to videos
  • 60 day access to hands on labs

Live Instructor via the web: $ 2195 USD

  • Live Instructor Led Webinar
  • A teacher to guide you
  • Plus all the self-paced items

Bring us Onsite:

  • Contact us for onsite quotes

Next Public Course Offerings:

  • February 25 - March 01, 2019
  • May 20-24, 2019
  • Testimonials

    Different plans for everyone

    Choose the pricing that fits your business needs

    Live Instructor via the Web
    $ 2195
  • Live Instructor Led Webinar
  • A teacher to guide you
  • Plus all the self-paced items
  • Buy Instructor Led

    Onsite
    Contact Us
  • Instructor led class
  • Hands-on lab access
  • Plus all the self-paced items
  • Contact Us