The ‘Master Network Automation with Python for Network Engineers’ course will teach you how to use and improve Paramiko and Netmiko for the automation of common administration tasks with Python and also helps you to master all the Python 3 key concepts starting from scratch.
This course is based on Python 3 and doesn’t require prior Python Programming knowledge. Everything is included in the course and you’ll also learn in-depth general Python Programming. The course is usually available for INR 2,799 on Udemy but you can click on the link and get the ‘Master Network Automation with Python for Network Engineers’ for INR 499.
Who all can opt for this course?
- Engineers in networks
- Network designers
- SysAdmins
- Engineers in DevOps
- CCNA, CCNP, and CCIE are all credentials issued by Cisco
- Anyone with an interest in Python-based network programming and automation
Course Highlights
Key Highlights | Details |
---|---|
Registration Link | Apply Now! |
Price | INR 499 ( |
Duration | 22 Hours |
Rating | 4.7/5 |
Student Enrollment | 21,706 students |
Instructor | Andrei Dumitrescu https://www.linkedin.com/in/andreidumitrescu |
Topics Covered | SSH, Python, Netmiko, NAPALM, Telnet, Ansible, Cisco |
Course Level | Intermediate |
Total Student Reviews | 2,769 |
Learning Outcomes
- Starting from scratch, you will MASTER all of the core principles of Python 3
- Discover how to use Python 3 in a multi-vendor environment to automate networking device configuration
- Python, GNS3, and Ansible can be used to learn network programming
- In order to automate networks, you should learn and use advanced Python concepts like multiprocessing and threading
- View practical examples of automation scripts written in Python for Linux, Cisco IOS, and Arista EOS
- Learn how to automate networks using Python and Telnet and SSH
- Learn how to use Python to automate typical administrative activities with Paramiko and Netmiko
- Use Ansible to automate and troubleshoot network configurations
- You will be able to handle YAML files, playbooks, vaults, tasks, modules for Linux and networking devices, and Ansible inventory files
- Utilize the NAPALM Python library in a setting with several vendors
- Discover how to use a serial console connection to setup networking devices using Python
- Enhance the current Python network automation modules and make your own
- At the end, you’ll acquire practical abilities needed to become a proficient network or devops engineer
- You will gain in-depth knowledge of general Python programming
Course Content
S.No. | Module (Duration) | Topics |
---|---|---|
1. | Course Introduction (15 minutes) | Why Network Automation with Python? Why Now? |
IMPORTANT. Please read! | ||
Quick inside. Course Overview | ||
IMPORTANT FOR BEGINNERS: How to Learn Python Programming | ||
Join Our Online Community! | ||
Getting Course Resources | ||
Quiz for Basic Python Programming | ||
2. | Setup the Environment: Python, PyCharm, GNS3, Cisco IOU and IOS (59 minutes) | A Quick Note |
Download and Install the Required Software | ||
Python Installation | ||
Installing Python 3 on Windows | ||
Installing Python 3 on Linux and Mac | ||
Installing PyCharm IDE on Windows | ||
Installing PyCharm IDE on Linux and Mac | ||
Running Python Scripts using PyCharm | ||
Running Python Scripts using the Command Line | ||
Where do I get Cisco IOS, Juniper vSRX or Arista vEOS Images | ||
Just a few Words about Windows Installation | ||
Installing GNS3 on Windows 10 | ||
Running Cisco IOU Images in GNS3 on Windows 10 | ||
Connecting to Cisco IOU Images Running in GNS3 from Window 10 | ||
Installing GNS3 and Running Cisco IOU on Linux | ||
What if it still doesn’t work? This is the solution! | ||
3. | Working with Text Files in Python (01 hour 18 minutes) | Intro |
Opening and Reading Files | ||
Absolute and Relative Paths | ||
Reading Files: Tell, Seek and Cursors | ||
The with Statement | ||
Reading Files into a List | ||
Writing to Text Files | ||
Project: File Processing | ||
Quiz for File Processing | ||
Reading CSV Files | ||
Writing CSV Files | ||
Using CSV Custom Delimiters | ||
Using CSV Dialects | ||
Coding Section – Working with CSV Files | ||
Assignment: File Processing | ||
Assignment Answer 1: File Processing | ||
Assignment Answer 2 (CSV Module): File Processing | ||
4. | Hands-On Challenges – Working With Files (03 minutes) | Hands-On Challenges – Working With Text Files |
Hands-On Challenges – Working With CSV Files | ||
5. | Data Serialization and Deserialization in Python (Pickle and JSON) (31 minutes) | Intro to Data Serialization |
Pickle Data Serialization and Deserialization | ||
Coding – Pickle | ||
JSON Data Serialization | ||
JSON Data Deserialization | ||
Coding – JSON | ||
Assignment: JSON and Requests/REST API | ||
Assignment Answer: JSON and Requests/REST API | ||
Coding Challenge: Simplify Serialization | ||
Coding Challenge Solution: Simplify Serialization | ||
Coding Challenge – JSON and Requests/REST API | ||
Coding Challenge Solution – JSON and Requests/REST API | ||
Test Your Knowledge: Data Serialization (JSON & Pickle) | ||
6. | Network Automation with Paramiko (SSH) (01 hour 49 minutes) | The Lab Environment |
Intro to Paramiko | ||
Extra: Enable SSH on Cisco Devices | ||
Connecting to Networking Devices using Paramiko | ||
Using **kwargs and Arguments Unpacking | ||
Running Commands on Cisco Devices | ||
Securing the Passwords Using getpass | ||
Automating the Configuration (OSPF) of Multiple Cisco Routers | ||
Running Commands on Linux – Method 1 | ||
Running Commands on Linux as a Non-privileged User – Method 2 | ||
Running Commands on Linux as root – Method 2 | ||
Paramiko Refactoring. Creating myparamiko Module | ||
Running Commands Using myparamiko on Cisco IOS | ||
Importing myparamiko Module | ||
Backup the Configuration of a Single Cisco Device | ||
Automating the Backup Configuration of Multiple Cisco Devices | ||
Implementing Multithreading (Python and Paramiko) | ||
Assignment: Interactive User Creation on Linux with Paramiko | ||
Assignment Answer: Interactive User Creation on Linux with Paramiko | ||
Quiz for Paramiko | ||
Secure Copying Files with SCP and Paramiko from Python | ||
7. | Hands-On Challenges – Network Automation with Paramiko (04 minutes) | Hands-On Challenges – Paramiko |
8. | Network Automation with Netmiko (SSH) (01 hour 41 minutes) | The Lab Environment |
Intro to Netmiko. Netmiko vs. Paramiko | ||
Connecting and Running a Command on a Networking Devices | ||
Netmiko Prompt. Enable & Global Config Mode | ||
Running Multiple Commands on a Networking Device | ||
Configuring a Networking Device from a File | ||
Configuring Multiple Networking Devices from Multiple Files | ||
Automating the Backup of Multiple Cisco Devices Using Netmiko | ||
Netmiko Without Multithreading | ||
Implementing Multithreading (Python and Netmiko | ||
Netmiko and Linux | ||
Troubleshooting Netmiko | ||
Preparing the Router for SCP | ||
Copy files to Networking Devices using SCP and Netmiko | ||
Quiz for Netmiko | ||
Assignment: Check Interface Status and Enable it if it’s Disabled | ||
Assignment Answer: Check Interface Status and Enable it if it’s Disabled | ||
9. | Hands-On Challenges – Network Automation with Netmiko (04 minutes) | Hands-On Challenges – Netmiko |
10. | Building Concurrent Applications Using Async IO (59 minutes) | Python Concurrency Ecosystem |
Implementing Async IO | ||
Coding – Implementing Async IO | ||
Building an Asynchronous Web Scraper | ||
Coding – Building an Async Web Scraper | ||
Running Shell Commands (Subprocesses) Asynchronously | ||
Coding – Running Shell Commands | ||
AsyncSSH: Asynchronous SSH | ||
AsyncSSH: Running Multiple Clients | ||
Coding – AsyncSSH (Multiple Clients) | ||
11. | [Appendix] – Running Arista vEOS and Juniper vSRX in GNS3 (25 minutes) | How to Run Arista vEOS in GNS3 |
How to Run Juniper vSRX in GNS3 | ||
Juniper vSRX Basic Configuration | ||
Arista vEOS Basic Configuration | ||
Configure Arista EOS Switches | ||
Netmiko in a Multivendor Environment: Cisco & Arista Configuration | ||
12. | Network Automation with Napalm (44 minutes) | Intro to Napalm |
Installing Napalm. Connecting to a Device | ||
Displaying Information | ||
Retrieving Information (facts, interfaces, arp table etc) | ||
Checking Connectivity Between Devices (napalm_ping) | ||
Configuration Management | ||
Merging Configurations | ||
Configuration Rollback | ||
13. | Network Automation with Telnet (01 hour 00 minutes) | Bytes Objects, Encoding and Decoding |
Telnet Protocol Basics. Configure and Connect to Cisco Devices | ||
Connecting to Network Devices with Telnet from Python | ||
Configuring Multiple Devices (Network Automation) | ||
Securing the Passwords Using getpass | ||
Telnet Enhancement (Refactoring) Using Object Oriented Programming | ||
Testing the Custom Telnet Class. Configure Loopback Interfaces and OSPF | ||
Configuring Multiple Devices Using the Custom Telnet Class | ||
Improving the Custom Telnet Class | ||
14. | Hands-On Challenges – Network Automation with Telnet (03 minutes) | Hands-On Challenges – Telnet |
15. | Network Automation Using Serial Connections (40 minutes) | Serial Communication Basics. Connecting to a Console Port |
Simulating a Serial Connection with Linux and GNS3 | ||
Open a Serial Connection to a Device Console Port | ||
Configure Cisco Devices using Serial Connections | ||
Pyserial Refactoring. Creating Our Own myserial Module | ||
Module Enhancement. Initially Configuration of a Cisco Device | ||
Initial Configuration Automation From a File | ||
Quiz for Serial Connections | ||
16. | [Appendix] Useful Python Modules (32 minutes) | System-specific Parameters and Functions: The Sys Module |
Script’s Arguments: sys.argv | ||
High-level File Operations: The Shutil Module | ||
Running System Commands: The Os Module | ||
Running System Commands: The Subprocess Module | ||
17. | [Appendix] – SSH Public Key Authentication (Cisco IOS & Linux) (40 minutes) | SSH Public Key Authentication Overview |
Generating SSH Key Pair on Windows | ||
What about MacOS? | ||
Generating SSH Key Pair on Linux | ||
Configuring SSH Public Key Authentication on Cisco IOS – Part 1 [Windows] | ||
Configuring SSH Public Key Authentication on Cisco IOS – Part 2 [Linux] | ||
Configuring SSH Public Key Authentication on Linux | ||
18. | [Appendix] – Ansible – Automate for Everyone (50 minutes) | About This Section |
What is Ansible | ||
Ansible Components | ||
Installing Ansible | ||
Inventory and ansible.cfg Files | ||
Intro to Ad-Hoc Commands | ||
Ad-Hoc Commands Part 1: command, shell, raw Modules | ||
Ad-Hoc Commands Part 2: setup, file, copy Modules | ||
Ad-Hoc Commands Part 3: apt and service Modules | ||
Ad-Hoc Commands Examples | ||
19. | [Appendix] – Ansible Playbooks (01 hour 33 minutes) | YAML Files |
Quizz for YAML | ||
Ansible Resources | ||
Intro to Ansible Playbooks | ||
ios_command Modul | ||
Saving Output to a File | ||
network_cli vs local. Privileged Exec Commands in Playbooks | ||
Behavioral Inventory Parameters | ||
Behavioral Inventory Parameters in Playbooks and Inventory Files | ||
ios_config Module | ||
ios_config Module parents Argument | ||
Backup running-config Using ios_config Module | ||
Ansible Loops: Create Linux Users | ||
Arista eos_config Module | ||
Playbook with Multiple Plays for a Multivendor Topology (Cisco & Arista) | ||
Ansible Vault | ||
20. | [Python Programming] – Python Basics (53 minutes) | Quick Note for Beginners |
Python Installation | ||
Running Python Code in a Cloud IDE | ||
Variables | ||
Test Your Knowledge: Variables | ||
Comments | ||
Constants | ||
Test Your Knowledge: Comments and Constants | ||
Dynamic vs. Static Typing | ||
Built-in Types | ||
Numbers and Math Operators | ||
Test Your Knowledge: Built-in Types, Numbers, Math Operators | ||
Assignment Operators | ||
Comparison Operators | ||
Identity Operators. Mutability vs. Immutability | ||
Test Your Knowledge: Assignment, Comparison and Identity Operators | ||
21. | [Python Programming] – Strings in Python (01 hour 07 minutes) | Intro to Strings |
Get User Input | ||
Converting Types | ||
Test Your Knowledge: String Basics, User Input and Conversions | ||
String Indexing | ||
Concatenating and Repeating Strings | ||
Test Your Knowledge: String Indexing, Concatenating and Repeating | ||
String Slicing | ||
Test Your Knowledge: String Slicing | ||
Formatting Strings: f-strings | ||
Test Your Knowledge: Formatting Strings | ||
Intro to String Methods | ||
Useful String Methods | ||
Test Your Knowledge: String Methods | ||
22. | [Python Programming] – Program Flow Control (41 minutes) | Conditional Statements |
Indentation | ||
Nested if/elif/else Statements | ||
Test Your Knowledge: Conditional Statements and Indentation | ||
Boolean Variables | ||
Logical (Boolean) Operators: AND and OR | ||
Logical (Boolean) Operators: NOT | ||
Test Your Knowledge: Booleans | ||
23. | [Python Programming] Python Loops (01 hour 02 minutes) | For Loops |
Debugging Your Code: Step Through Your Program | ||
Ranges | ||
Loops and Ranges | ||
For, continue and pass Statements | ||
For, else and break Statements | ||
While Loops | ||
While and continue Statements | ||
While and break Statements | ||
Walrus Operator | ||
24. | [Python Programming] – Lists and Tuples in Python (01 hour 18 minutes) | Intro to Lists |
Test Your Knowledge: Intro to Lists | ||
List Concatenation, Append and Extend | ||
List Slicing and Iteration | ||
Test Your Knowledge: List Concatenation, Iteration, Slicing | ||
Python List Gotchas | ||
List Methods Part 1: Append, Extend, Insert, Copy, Clear, Pop, Remove | ||
List Methods Part 2: Clear, Pop, Index, Count | ||
String to List and List to String: Split and Join | ||
Test Your Knowledge: List Methods | ||
Project: Extract IPv4, IPv6 and MAC Addresses | ||
Intro to Tuples | ||
Tuple Operations | ||
Tuple Methods | ||
Tuples vs. Lists | ||
Test Your Knowledge: Tuples | ||
25. | [Python Programming] – Sets, Frozensets and Dictionaries in Python (01 hour 08 minutes) | Intro to Sets |
Set Methods Part 1: Add, Remove, Discard, Pop, Clear, Copy | ||
Test Your Knowledge: Intro to Sets and Set Methods | ||
Set Methods Part 2: Union, Intersection, Difference, Symmetric Difference | ||
Fronzensets | ||
Test Your Knowledge: Set Operations and Frozensets | ||
Intro to Dictionaries | ||
Working with Dictionaries | ||
Test Your Knowledge: Working with Dictionaries | ||
Dictionary Operations and Methods – Part 1 | ||
Dictionary Operations and Methods – Part 2 | ||
Test Your Knowledge: Dictionary Operations and Methods | ||
Dictionary and Set Comprehensions | ||
26. | [Python Programming] – Functions in Python (01 hour 02 minutes) | Intro to Functions |
Positional and Keyword Arguments | ||
Default Argument | ||
The return Statement | ||
Variable-length Arguments: *args | ||
Variable-length Arguments: **kwargs | ||
Test Your Knowledge: Intro to Functions, Return Keyword and Arguments | ||
Scopes and Namespaces | ||
One More Word about Scopes and Namespaces | ||
Test Your Knowledge: Scopes and Namespaces | ||
Lambda Expressions | ||
Test Your Knowledge: Lambda Expressions | ||
27. | [Python Programming] -Errors and Exception Handling (34 minutes) | Intro to Exceptions |
Exceptions Handling: Try…Except…Else…Finally | ||
Built-in Exceptions and Best Practices | ||
Test Your Knowledge: Errors and Exceptions Handling | ||
Project: Test Network Connection | ||
28. | [Python Programming] – Object Oriented Programming Basics (45 minutes) | Intro to Object Oriented Programming |
OOP Demonstration: The Turtle | ||
Defining Classes and Objects | ||
The __init__ Method | ||
Test Your Knowledge: OOP Basics | ||
Instance Attributes and Class Attributes | ||
Magic Methods | ||
Test Your Knowledge: OOP Attributes and Magic Methods | ||
29. | BONUS SECTION (57 seconds) | BONUS: THANK YOU GIFT! |
Resources Required
- No prior Python experience is necessary
- A part on general Python programming is also present
- understanding of networking fundamentals (TCP/IP Stack, Cisco CCNA Level)
- A computer running Linux, MacOS, or Windows, with at least 4 GB of Memory
- No expensive software is needed
- Python 3, PyCharm, GNS3, VirtualBox, Linux, and other free software will all be used
- To run into GNS3 or practise all the principles on actual Cisco devices, the learner should obtain Cisco IOS Images (from Cisco’s official website – contract required)
- Basic understanding of GNS3 and how to run Cisco Images
Featured Review
Calvert Edwards (5/5) : One of the best courses I have taken on Python here on Udemy. It includes exercises, solutions, and scripts for you to download on each topic.
Pros
- Mohammad Alam (5/5) : One of the best course to learn python for network automation.
- Joe Ploehn (5/5) : This is an excellent course that goes into detail on using Python to accomplish network engineering tasks.
- Patrice Tshibumbu (3/5) : I am looking into to improve my Python for Network skills, this course is perfect fro me.
- Mark Garcia (5/5) : great work! I already know how to use python and ansible and hoping to improve my skills using this video.
Cons
- John Ference (1/5) : I got almost through section 2 before running into several setup procedures that are outdated
- Gustavo Martinez B (2/5) : I was excited about the title of this training, but it seems like very basic list of best practices for Network automation from 10 years ago.
- Anonymized U. (2/5) : Yet nothing productive about networking. at this point asking review is not good option.
About the Author
The instructor of this course is Andrei Dumitrescu who is a DevOps Engineer and Professional Trainer. With 4.6 Instructor Rating and 12,928 Reviews on Udemy, Instructor offers 10 Courses and has taught 91,520 Students so far.
- Andrei Dumitrescu have over 15 years of experience as a network and software engineer, which is the standard background of a devops engineer
- Andrei Dumitrescu co-founded Crystal Mind Academy, a Cisco Academy and business training facility in Romania, with the goal of educating students in cutting-edge technology
- In the fields of programming, information security, and operating systems, Andrei Dumitrescu has made contributions to education
- More than 200,000 students have taken part in offline or online training courses at Crystal Mind Academy during the past 15 years
- For numerous training programmes, including Cisco CCNA, CCNA Security, CCNP, Linux Administration, Information Security, Python Programming, Network Automation with Python, or Blockchain Programming (Ethereum/Solidity), which have been successfully attended by thousands over the years, Andrei Dumitrescu has created documentation, labs, and case studies
Comparison Table
Parameters | Master Network Automation with Python for Network Engineers | Python Network Programming Complete Masterclass | Python for Network Engineers: Netmiko, NAPALM, pyntc, Telnet |
---|---|---|---|
Offers | INR 455 ( | INR 455 ( | INR 455 ( |
Duration | 23 hours | 16 hours | 14 hours |
Rating | 4.7/5 | 4.5/5 | 4.8/5 |
Student Enrollments | 21,706 | 33,057 | 14,639 |
Instructors | Andrei Dumitrescu | Mihai Catalin Teodosiu | David Bombal |
Register Here | Apply Now! | Apply Now! | Apply Now! |
Leave feedback about this