Booking options
£93.99
£93.99
On-Demand course
12 hours 44 minutes
All levels
This course is an excellent resource to learn network programming using Python. With the help of practical examples, you will learn how to automate networks with Telnet, Secure Shell (SSH), Paramiko, Netmiko, and Network Automation and Programmability Abstraction Layer with Multivendor support (NAPALM).
The days of configuring Cisco networks only with the command-line interface (CLI) are ending. Do you want to program networks using Python, but not sure where to start? Well, this course will show you how you can start programming Cisco networks using Python within 20 minutes. The course begins by explaining the steps for setting up the lab and takes you through the concepts of network automation. Once you are ready with the environment and the basics, you will dive into automating networks. You will learn how to automate networks using Telnet, Secure Shell (SSH), Paramiko, Netmiko, and Network Automation and Programmability Abstraction Layer with Multivendor support (NAPALM). In the rest of the course, you will learn the various concepts of Python needed to automate the configuration of network devices. By the end of this course, you will be able to program networks and network devices using Python 3 and Graphical Network Simulator-3 (GNS3). All code files are available here: https://github.com/packtpublishing/python-network-programming-for-network-engineers-python-3-
Use Telnet to create VLANs
Enable Secure Shell (SSH) on switches in a network
Distinguish between Ubuntu and network automation container
Use Network Automation and Programmability Abstraction Layer with Multivendor support (NAPALM) for device configuration audit and changes
Become familiar with Netmiko scripts
Get to grips with the concepts of Python
This course is for network engineers, network architects, and for those who are looking to apply Python programming to network automation. Basic understanding of networking knowledge (CCNA) and Graphical Network Simulator-3 (GNS3) is needed to get started with this course.
This is a self-paced course to understand how Graphical Network Simulator-3 (GNS3) and Python 3 are used for network automation. Step-by-step explanation, real-world examples, and practical activities will keep you interested and engaged through the learning process.
Learn how to leverage Network Automation and Programmability Abstraction Layer with Multivendor support (NAPALM) for network automation * Get ready to program networks using Graphical Network Simulator-3 (GNS3) and Python 3 * Uncover tips and techniques to scale your network scripts
https://github.com/packtpublishing/python-network-programming-for-network-engineers-python-3-
David Bombal (CCIE #11023 Emeritus) passed his Cisco Certified Internetwork Expert Routing and Switching exam in January 2003 and is one of a small percentage of Cisco engineers that pass their CCIE labs on their first attempt. David was qualified as a Cisco Certified Systems Instructor (CCSI #22787) many years ago! He has been conducting Cisco courses for over 15 years and has delivered instructor-led courses in various countries around the world covering a wide range of Cisco topics from CCNA to CCIE. He has also personally developed Cisco engineer utilities, such as the VPN Config Generator, software, training materials, eBooks, videos and other products, which are used throughout the world. David has designed, implemented, and managed networks ranging from single sites to those that span 50 countries.
1. Introduction
This section provides an introduction to the course.
1. Introduction This video introduces you to the course. |
2. Lab Setup
This section explains the lab setup.
1. Installing the Graphical Network Simulator (GNS3) 2.2 Graphical User Interface (GUI) This video demonstrates how to install the GNS3 2.2 GUI. |
2. Installing the Graphical Network Simulator-3 (GNS3) 2.2 Virtual Machine This video explains how to install the GNS3 2.2 GUI. |
3. Graphical Network Simulator-3 (GNS3) IOS Images This video focuses on GNS3 IOS images. |
4. Installing Continuous Machine Learning (CML) Virtual Internet Routing Lab (VIRL 2.0) - Part 1 This is the first part of the two-part video that shows how to install CML VIRL 2.0. |
5. Installing Continuous Machine Learning (CML) Virtual Internet Routing Lab (VIRL 2.0) - Part 2 This is the second part of the two-part video that demonstrates how to install CML VIRL 2.0. |
6. Installing Emulated Virtual Environment (EVE)-New Generation (NG) This video explains how to install EVE-NG. |
7. Emulated Virtual Environment (EVE)-New Generation (NG) Cisco Images This video focuses on EVE-NG Cisco images. |
8. DevNet: Free Continuous Machine Learning (CML) This video explains DevNet: Free CML. |
3. Quick Start Guide to Network Automation
This section provides a quick guide to network automation.
1. Quick Start 1: Setting up the Graphical Network Simulator-3 (GNS3) Lab and Integrated Development Environments (IDEs) This video demonstrates how to set up the GNS3 lab and IDEs. |
2. Quick Start 2: Creating a Telnet Script This video explains how to create a Telnet script. |
3. Quick Start 3: Testing a Telnet Script This video shows how to test a Telnet script. |
4. Quick Start 4: Telnet to a Switch and Create VLANs This video explains Telnet to a switch and create VLANs |
5. Quick Start 5: Loops This video focuses on loops. |
6. Quick Start 6: PEP8: Python Style Guide This video explains the Python style guide. |
7. Quick Start 7: Configuring Switch Virtual LANs (VLANs) Using Loops This video demonstrates how to configure switch VLANs using loops. |
8. Quick Start 8: Creating a Multiple Switch Network This video explains how to create a multiple switch network. |
9. Quick Start 9: Opening a File of Switch Internet Protocol (IP) Addresses This video shows how to open a file of switch IP addresses. |
10. Quick Start 10: Configuring Multiple Switches with a Loop This video demonstrates how to configure multiple switches with a loop. |
11. Quick Start 11: Loops within Loops This video explains loops within loops. |
12. Quick Start 12: Backup Network Device Configurations This video focuses on backup network device configurations. |
4. Netmiko: Using Secure Shell (SSH) for Network Automation
This section shows how to use SSH for network automation.
1. Netmiko Part 1: Introduction This video provides an introduction to the course. |
2. Netmiko Part 2: Enabling Secure Shell (SSH) on Switches in the Network This video demonstrates how to enable SSH on switches in the network. |
3. Netmiko Part 3: Your First Netmiko Secure Shell (SSH) Script This video helps to write your first Netmiko SSH Script. |
4. Netmiko Part 4: Scripting for Multiple Switches This video explains how to script for multiple switches. |
5. Netmiko Part 5: Running a Script and Configuring Multiple Devices This video shows how to run a script and configure multiple devices. |
6. Netmiko Part 6: File of Multiple Cisco Commands This video presents a file of multiple Cisco commands. |
7. Netmiko Part 7: Programming Multiple Switches with File of Commands This video demonstrates how to program multiple switches with the file of commands. |
8. Netmiko Part 8: Scripting to Program an Entire Network This video explains how to script to program an entire network. |
9. Netmiko Part 9: Running a Script to Program an Entire Network This video shows how to run a script to program an entire network. |
5. Network Automation and Programmability Abstraction Layer with Multivendor support (NAPALM)
This section introduces you to Network Automation and Programmability Abstraction Layer with Multivendor support (NAPALM).
1. Network Automation and Programmability Abstraction Layer with Multivendor Support (NAPALM) Introduction This video introduces you to NAPALM. |
2. Network Automation and Programmability Abstraction Layer with Multivendor Support (NAPALM) Python 3 versus Python 2.7 This video explains the difference between NAPALM Python 3 and Python 2.7. |
3. Installing Network Automation and Programmability Abstraction Layer with Multivendor Support (NAPALM) This video demonstrates how to install NAPALM. |
4. Network Automation and Programmability Abstraction Layer with Multivendor Support (NAPALM) Connect to Switch 1 (P68_14) This video NAPALM explains how to connect to switch 1 . |
5. JSON and More Commands This video focuses on JSON and some more commands. |
6. Media Access Control (MAC) Address Table and Address Resolution Protocol (ARP) Cache This video focuses on MAC address table and an ARP cache. |
6. Network Automation and Programmability Abstraction Layer with Multivendor (NAPALM) and Border Gateway Protocol (BGP)
This section introduces you to NAPALM and BGP.
1. Using Network Automation and Programmability Abstraction Layer with Multivendor Support (NAPALM) to Retrieve Border Gateway Protocol (BGP) Neighbor Information - Part 1 This is the first part of the three-part video that demonstrates how to use NAPALM to retrieve BGP neighbor information. |
2. Use Network Automation and Programmability Abstraction Layer with Multivendor Support (NAPALM) to retrieve Border Gateway Protocol (BGP) Neighbor Information - Part 2 This is the second part of the three-part video that explains how to use NAPALM to retrieve BGP neighbor information. |
3. Use Network Automation and Programmability Abstraction Layer with Multivendor Support (NAPALM) to Retrieve Border Gateway Protocol (BGP) Neighbor Information - Part 3 This is the third part of the three-part video that shows how to use NAPALM to retrieve BGP neighbor information. |
4. Network Automation and Programmability Abstraction Layer with Multivendor Support (NAPALM): Multiple Border Gateway Protocol (BGP) Neighbors This video focuses on multiple BGP neighbors. |
5. Network Automation and Programmability Abstraction Layer with Multivendor Support (NAPALM) and Bigger Border Gateway Protocol (BGP) Network - Part 1 This is the first part of the two-part video that focuses on NAPALM and bigger BGP network. |
6. Network Automation and Programmability Abstraction Layer with Multivendor Support (NAPALM) and Bigger Border Gateway Protocol (BGP) Network - Part 2 This is the second part of the two-part video that explains NAPALM and bigger BGP network. |
7. Using Network Automation and Programmability Abstraction Layer with Multivendor Support (NAPALM) for Device Configuration Audit and Changes
This section explains how to use NAPALM for device configuration audit and changes.
1. Using Network Automation and Programmability Abstraction Layer with Multivendor Support (NAPALM) to Configure Access Lists This video demonstrates how to use NAPALM to configure access lists. |
2. Checking if Access Control List (ACL) Already Exists and Adding if Missing This video explains how to check if ACL already exists and add it if missing. |
3. Using Network Automation and Programmability Abstraction Layer with Multivendor Support (NAPALM) for Auditing Device Configurations This video shows how to use NAPALM for auditing device configurations. |
4. Using Network Automation and Programmability Abstraction Layer with Multivendor Support (NAPALM) to Add Multiple Configuration Files This video demonstrates how to use NAPALM to add multiple configuration files. |
5. Network Automation and Programmability Abstraction Layer with Multivendor Support (NAPALM): Multiple Configuration Files and Multiple Devices This video focuses on multiple configuration files and multiple devices. |
8. Iteration Examples: Netmiko Scripts
This section introduces you to Netmiko scripts.
1. Netmiko Iteration: Script Overview This video presents an overview of Netmiko scripts. |
2. Netmiko Iteration (Script 1): Basic Script This video focuses on a basic script. |
3. Netmiko Iteration (Script 2): Opening a File of Commands This video demonstrates how to open a file of commands. |
4. Netmiko Iteration (Script 3): Configuring Multiple Devices Using a File of Devices This video explains how to configure multiple devices using a file of devices. |
5. Netmiko Iteration (Script 4): Removing Passwords from the Script This video shows how to remove passwords from the script. |
6. Netmiko Iteration (Script 5): Handling Exceptions (Error) This video demonstrates how to handle exceptions. |
7. Netmiko Iteration (Script 6): Determining Device Types and Running a Specific Device Type This video explains how to determine device types and run a specific device type. |
8. Netmiko Iteration (Script 7): Iterating Device Typescript This video shows how to iterate device typescript. |
9. Netmiko Scaling
This section focuses on Netmiko scaling.
1. Part 1: Encrypted Password File This video focuses on encrypted password files. |
2. Part 2: Netmiko Sequential - Part 1 This is the first part of the four-part video that focuses on Netmiko sequential. |
3. Part 3: Netmiko Sequential Part 2 This is the second part of the four-part video that explains Netmiko sequential. |
4. Part 4: Netmiko Multithreading This is the fourth part of the four-part video that focuses on Netmiko multithreading. |
5. Part 5: Netmiko Thread Pools This is the fifth part of the four-part video that explains Netmiko thread pools. |
10. Python Theory
This video introduces you to Python theory.
1. Theory Topics - Very Short This video explains Python theory |
2. Keep Learning This video explains more about Python Language. |
3. Setting up Python 2.7 and 3 This video demonstrates how to set up Python 2.7 and Python 3. |
4. Python 2.7 and 3 Examples This video explains Python 2.7 and Python 3 with examples. |
5. Basic Hello World Scripts This video focuses on basic Hello World scripts. |
11. Python Theory: Objects, Variables, and Data Types
This section introduces you to objects, variables, and data types.
1. Python Objects - Part 1 This is the first part of the two-part video that explains Python objects. |
2. Python Objects - Part 2 This is the second part of the two-part video that focuses on Python objects. |
3. Python Variables - Part 1 This is the first part of the four-part video that explains Python variables. |
4. Python Variables - Part 2 This is the second part of the four-part video that focuses on Python variables. |
5. Python Variables - Part 3 This is the third part of the four-part video that highlights the concept of Python variables. |
6. Python Variables - Part 4 This is the fourth part of the four-part video that introduces you to Python variables. |
7. Data Types This video explains data types. |
8. Testing Data Types This video demonstrates how to test data types. |
12. Python Theory: Numbers
This section explains the number data type in Python.
1. Introduction This video provides an introduction to numbers. |
2. Numeric Types This video explains numeric types. |
3. Integer (Int) and Float Data Types This video introduces you to int and float data types. |
4. Operators - Part 1 This is the first part of the three-part video that provides an introduction to operators. |
5. Operators - Part 2 This is the second part of the three-part video that explains operators. |
6. Operators - Part 3 This is the third part of the three-part video that focuses on operators. |
7. Binary, Hexadecimal, and Octal This video introduces you to the binary, hexadecimal, and octal number systems. |
8. Binary, Decimal, and Octal Number Examples This video explains the binary, decimal, and octal number systems with examples. |
9. Integer (int) Calculation This video focuses on int calculation. |
10. Floats This video explains floats. |
13. Python Theory: Strings
This section introduces you to strings.
1. Strings This video explains strings. |
2. Strings This video focuses on strings. |
3. Converting to a String Using the str() Function This video demonstrates how to convert to a string using the str() function. |
4. Escape Special Character Meaning with \ This video explains escape special character meaning with the help of \. |
5. Strings This video explains the concept of strings. |
6. String Concatenation with the Addition (+) Operator This video explains string concatenation with the addition (+) operator. |
7. Multiplication (*) Operator This video introduces you to the multiplication (*) operator. |
8. String Offsets - Extract Characters with [] This video explains string offsets, focusing on how to extract characters with []. |
9. string slice _ slicing This video explains slice string |
10. string slice _ slicing 2 This video is a continuation to string slice. |
11. string slice _ slicing 3 This video further explains string slicing. |
12. lower upper This video explains lower and upper method to set the case to lower and upper case |
13. startswith endswith Methods This video explains the startswith and endswith methods in strings. |
14. Strip lstrip() and rstrip() Methods This video explains the lstrip() and rstrip() methods. |
15. isdigit() Method This video focuses on the isdigit() method. |
16. count() Method This video introduces you to the count() method. |
17. Old Style Text Using % The video explains the old style text using %. |
18. Strings: New Way to Do Text Using {} This video explains a new way using {}. |
19. dir() Method (P73_9) This video focuses on the dir() method. |
14. Getting Version Information from a Switch
This section explains how to get version information from a switch.
1. Getting Show Version from Switch This video demonstrates how to use the show version command on a switch. |
2. Telnet and String Offset This video explains Telnet and string offset. |
3. Showing Version Using the len() Method This video demonstrates how to show version using the len() method. |
4. Split Functions - Part 1 This is the first part of the two-part video that introduces you to split functions. |
5. Split Functions - Part 2 This is the first part of the two-part video that focuses on split functions. |
6. list() and join() Methods This video explains the list() and join() methods. |
7. List and len - use Interface example This video explains List and length - using Interface example. |
8. Index Introduction This video introduces you to index. |
9. Real Switch Get Version Using Index and Slice This video explains Real switch get version using index and slice. |
10. Python 3 Telnet to Switch This video focuses on Python 3 Telnet to switch. |
11. count() Method This video explains the count() method. |
12. Using the find() Method to Get Information from a Real Switch This video demonstrates how to use the find() method to get information from a real switch. |
13. Python 3 Telnet versus Python 2 - Finding the Version of the Software This video explains how to find the version of the software. |
14. Find not Found This video explains find not found. |
15. String Methods - upper() Method This video introduces you to the upper() method. |
16. String Methods - startswith() and endswith() Methods This video focuses on the startswith() and endswith() methods. |
17. String Methods - strip() Method This video explains the strip() method. |
18. String Methods - split() Method This video introduces you to the split() method. |
19. String Methods - join() Method This video focuses on the join() method. |
20. String Methods - Is It in a String? This video explains the various string methods. |
21. String Concatenation This video explains string concatenation. |
22. Capitalize, Upper, Lower, and Swap This video introduces you to the capitalize, upper, lower, and swap functions. |
15. Python Theory: Comparisons
This section focuses on comparisons.
1. Boolean Comparisons This video explains Boolean comparisons. |
2. Boolean Truth Table This video focuses on the Boolean truth table. |
3. Boolean Truth Table Demo This video provides a demonstration of the Boolean truth table. |
4. False Conditions This video explains false conditions. |
16. Python Theory: Lists
This section introduces you to lists.
1. Lists versus Tuples This video illustrates the difference between lists and tuples. |
2. Lists This video explains lists. |
3. Creating a List Using Split This video demonstrates how to create a list using split. |
4. Lists in Lists This video explains lists in lists. |
5. Lists versus Tuples - Documentation This video provides the documentation based on the difference between lists and tuples. |
6. list(), merge(), and extend() Methods This video introduces you to the list(), merge(), and extend() methods. |
7. List Methods This video explains list methods. |
8. lists insert and delete This video explains how to insert and delete lists. |
9. list pop index and in This video explains List pop index |
10. Reverse Sort This video introduces you to reverse sort. |
11. len copy list This video explains how to capture the length of a list |
17. Python Theory: Tuples
This section introduces you to tuples.
1. Tuples This video explains tuples. |
2. Tuples and Sequences This video focuses on tuples and sequences. |
18. Python Theory: Code Structures
This section introduces you to code structures.
1. Comments in Code This video explains how to add comments in code. |
2. Line Continuation This video focuses on line continuation. |
19. Python Theory: If/Else/Else-if Logic
This section introduces you to if/else/else-if logic.
1. If Logic This video focuses on if logic. |
2. Physical Router Demonstration This video provides a demonstration of the physical router. |
3. Else-if Logic This video focuses on else-if logic. |
20. Python Theory: While Loops
This section introduces you to while loops.
1. While Loop This video explains while loops. |
2. Infinite While Loop with Break This video focuses on infinite while loop with break. |
3. Infinite While Loop with Continue This video explains infinite while loop with continue. |
4. While Loop with a List This video introduces you to while loop with a list. |
5. While Loop with Else This video focuses on while loop with else. |
21. Python Theory: For Loop
This section introduces you to for loops.
1. For Loop This video explains the concept of for loops. |
2. For Loop with Dictionary This video focuses on for loop with a dictionary. |
3. For Loop with If and Lists This Video explains for loop with if and lists. |
22. Python Theory: Ranges
This section introduces you to ranges.
1. Ranges - Part 1 This is the first part of the two-part video that explains ranges. |
2. Ranges - Part 2 This is the second part of the two-part video that focuses on ranges. |
23. Python Theory: Dictionaries
This section introduces you to dictionaries in Python.
1. Dictionary Theory This video highlights the concept of a dictionary. |
2. Dictionary Demonstration This video provides a demonstration of a dictionary. |
3. Combining Dictionaries This video demonstrates how to combine dictionaries. |
4. Dictionaries: Clear and Check This video focuses on clear and check. |
5. Dictionaries: Adding values This video explains how to add values. |
24. Python Theory: Functions
This section introduces you to functions in Python.
1. Functions Introduction - Part 1 This is the first part of the three-part video that provides an introduction to functions. |
2. Functions Introduction - Part 2 This is the second part of the three-part video that focuses on functions. |
3. Functions - Part 3 This is the third part of the three-part video that introduces you to functions. |
4. Functions - Netmiko and Router This video explains Netmiko and router. |
5. Functions - Netmiko and Router (continued) This video explains more about Netmiko and router. |
6. Function 6 - Named Keyword Arguments (Netmiko) This video introduces you to named keyword arguments. |