Python Programming for Network Engineers

Purchase Options:

New Video Series: Do you want to advance your skills further as a network engineer? Do you want to learn how to build a script to generate a configuration file? Do you want to learn how to write a script to telnet to the network devices to run show commands or apply configuration commands? Or do you want to learn how to build a network monitoring solution to check for faults and performance on the devices? In this video series you will learn how to build these applications using Python.

Do you want to advance your skills further as a network engineer? Do you want to learn how to build a script to generate a configuration file? Do you want to learn how to write a script to telnet to the network devices to run show commands or apply configuration commands? Or do you want to learn how to build a network monitoring solution to check for faults and performance on the devices? In this video series you will learn how to build these applications using Python.

This training series consist of four main sections:

  • Basics (~3:30 hours)  – In this coarse I will teach you the very basics of Python by going through all the different components and discussing it one-by-one showing many different examples. I will discuss such topics like variables, loops, lists, dictionaries, to working with files.

From there we will build out three different network applications using Python.

  1. Application 1: Network Configuration (~6 hours) – In the first application, we will build a network configuration builder which will create a configuration template. This configuration will be dynamically built based on several parameters that will list the networks, prefixes, hardware to even the features that will be used. With that information, we can run our script to build a full working configuration file that we can apply to our network devices.
  2. Application 2: Network Implementation (2 hours) – In the second application, I will show you how to program Python to telnet into network devices (e.g. routers, switches, firewalls) to run show commands or apply configuration commands. Or applying a full working configuration file based on a configuration template (from the Network Configuration builder app) that you have created.
  3. Application 3: Network Monitoring (~3:30 hours) – In the last application, I will show you how to build a simple web-based network monitoring (NMS) solution using Python. It will confirm if the network devices is reachable. Plus, it will gather other monitoring details such as the hardware model, software version, serial number, to even the interfaces themselves. For the interfaces we can gather its general status including its traffic rate and any errors received.

Even though Python is supported on Windows, Mac OS, and Linux platforms, we will primarily use Mac OS and Ubuntu (Linux) to build our Python applications. They provide a stronger tool-set (e.g. snmpwalk) and have several network related Python modules (e.g. pexpect) we can import into our script. Please read our FAQ for this series for more details.

As you can tell there will be a lot of content we will cover in this series. There is over 15 hours of content where I will teach you the basics of Python and the different components. Then we will build out three practical applications that you can use and build upon in your own environment.

The video content consist of MP4 1080P HD quality videos.

Video Series (MP4; 1080p): ~15 hours

  1. Basics (~3:30 hours) – 21 files
    • Introduction
    • Installation (Mac OS, Windows)
    • How to Use Python
    • Coding Practices
    • Paths
    • Comments
    • Print
    • Math Operations
    • Variables
    • Lists
    • Dictionaries
    • Conditions
    • Loops
    • Functions
    • Modules
    • Working with Files
    • Errors
    • Exceptions
    • User Input
    • Arguments
    • Final Points
  2. Application 1: Network Configuration (~6 hours) – 22 files
    • Introduction
    • Overview and Demonstration of Application
    • Sketch
    • Building the Network Configuration Application step-by-step
  3. Application 2: Network Implementation (2 hours) – 8 files
    • Introduction
    • Overview and Demonstration of Application
    • Sketch
    • Building the Network Implementation Application step-by-step
  4. Application 3: Network Monitoring (~3:30 hours) – 17 files
    • Introduction
    • Overview and Demonstration of Application
    • Monitoring Resources
    • Sketch
    • Building the Network Monitoring Application step-by-step

 

Q: What Python version will be taught?

We will primarily use Python 2.7 to discuss the basics and build our network applications. But we will also cover Python 3.0 and how it is slightly different.

Q: What OS platforms are supported for Python?

Python Programming is supported on Windows, Mac OS, and Linux platforms.

Q: What are the Prerequisites for this coarse?

Networking: It is recommended to have a basic networking background with a CCENT/CCNA or higher as we discuss Cisco network configuration syntax to SNMP.

Linux / Mac OS: it is strongly recommended to have a basic understanding of Linux-based systems (e.g. Mac OS, Ubuntu) and how to use it. We will be building many of our Python scripts (Implementation and Monitoring) on a Mac OS / Linux (Ubuntu) system. They provide a stronger tool-set (e.g. snmpwalk) and have several network related Python modules (e.g. pexpect) we can import into our script compared to Microsoft Window platforms.

Q: Is there a recommended video player for viewing the MP4 video files in this series?

Yes, it is recommended to use the popular “VLC player” or “Apple’s QuickTime” for viewing the video content in this series.

IMG_7397Michel Thomatis, CCIE #6778 (15 year) – Chief Network Architect & Lead Trainer

Michel has spent the last 18 years as a network engineer/architect.  As a 15-year CCIE, Michel loves the opportunity to provide training in a wide-array of network technologies. He formerly worked at Cisco, as well as in government, banking, and non-profit organizations. He has published the “Network Design Cookbook” and a science fiction novel called “The Dark End”.  He has also published various iOS applications (virtual Network Engineer, Circlefalls) that can be found on Apple’s iOS App Store.  Other software development experience includes python and SDN.  Currently, Michel is the owner, Chief Network Architect and Lead Trainer at RouteHub Group, LLC.