Learning Python 3 Network Programming for Network Engineers course will help students to learn network programming and network automation. This course will teach students how to begin programming Cisco networks in just 20 minutes.
The course is designed for network engineers. Instructor won’t ramble on about programming in the abstract and keep you from automating networks. Instructor will demonstrate how to get started with network programming quickly and easily using GNS3, Cisco IOS, and Python. Currently, udemy is offering Learning Python 3 Network Programming for Network Engineers for up to 85% off i.e. INR 455 (INR 2,799).
Who all can opt for this course?
- Engineers in networks
- Network designers
- Students who are interested in network automation topic
- Anyone who wants to learn about network programmability
- Anyone interested in learning how to automate networks using Python programming
Course Highlights
Key Highlights | Details |
---|---|
Registration Link | Apply Now! |
Price | INR 399 ( |
Duration | 12 Hours |
Rating | 4.7/5 |
Student Enrollment | 270,825 students |
Instructor | David Bombal https://www.linkedin.com/in/davidbombal |
Topics Covered | NAPALM, BGP, Netmiko scripts, Python theory |
Course Level | Intermediate |
Total Student Reviews | 8,080 |
Learning Outcomes
- Study network programming with Python 3 and GNS3
- Discover Python’s capabilities for automating network device configuration
- Discover how to automate your network with NAPALM
- For SSH connections to routers and switches, use Netmiko
- Get started in 20 minutes with our quick start guide for Telnet and SSH
- Become familiar with network script scaling
Course Content
S.No. | Module (Duration) | Topics |
---|---|---|
1. | Introduction (09 minutes) | Introduction |
Answering your questions | ||
Udemy Tips and Tricks | ||
2. | Lab Setup (02 hours 48 minutes) | Important – please read |
GNS 2.2 GUI Install | ||
GNS3 2.2 VM Install | ||
GNS3 IOS images | ||
CML (VIRL 2.0) Install Part 1 | ||
CML (VIRL 2.0) Install Part 2 | ||
EVE-NG Installation | ||
EVE-NG Cisco Images | ||
DevNet: Free CML | ||
3. | Quick Start Guide to Network Automation (01 hour 28 minutes) | Quick Start 1: GNS3 Lab Setup and IDEs |
Quick Start 2: Telnet Script creation | ||
Quick Start 3: Telnet Script Test | ||
Quick Start 4: Telnet to a switch and create VLANs | ||
Quick Start 5: Loops | ||
Quick Start 6: PEP8: Python Style Guide | ||
Quick Start 7: Configure switch VLANs using loops | ||
Quick start 8: Create a multiple switch network | ||
Quick Start 9: Open a file of switch IP addresses | ||
Quick Start 10: Configure multiple switch with a loop | ||
Quick Start 11: Loops within loops | ||
Quick Start 12: Backup Network Device Configurations | ||
4. | Netmiko: Use SSH for Network Automation (50 minutes) | Netmiko Part 1: Introduction |
Netmiko Part 2: Enable SSH on switches in network | ||
Netmiko Part 3: Your first Netmiko SSH Script | ||
Netmiko Part 4: Script for multiple switches | ||
Netmiko Part 5: Run script and configure multiple devices | ||
Netmiko Part 6: File of multiple Cisco commands | ||
Netmiko Part 7: Program multiple switches with file of commands | ||
Netmiko Part 8: Script to program entire network | ||
Netmiko Part 9: Run script to program entire network | ||
5. | NAPALM (26 minutes) | NAPALM Introduction (P75_12) |
NAPALM Python 3 versus 2.7 | ||
Ubuntu versus Network Automation Container | ||
Install NAPALM (P68_13) | ||
NAPALM connect to switch 1 (P68_14) | ||
JSON and more commands (P68_16) | ||
Mac address table, ARP cache (P68_17) | ||
6. | NAPALM and BGP (20 minutes) | Use NAPALM to retrieve BGP neighbor information: Part 1 (P75_1) |
Use NAPALM to retrieve BGP neighbor information: Part 2 (P75_2) | ||
Use NAPALM to retrieve BGP neighbor information: Part 3 (P75_3) | ||
NAPALM: Multiple BGP neighbors (P75_4) | ||
NAPALM and bigger BGP Network Part 1 (P75_5) | ||
NAPALM and bigger BGP network Part 2 (P75_5b) | ||
7. | Use NAPALM for device configuration audit and changes (16 minutes) | Use NAPALM to configure Access lists (P75_6) |
Check if ACL already exists and add if missing (P75_7) | ||
Use NAPALM for auditing device configs (P75_8) | ||
Use NAPALM to add multiple config files (P75_9) | ||
NAPALM: Multiple config files, multiple devices (P75_10) | ||
8. | Iteration Examples: Netmiko scripts (43 minutes) | Netmiko Iteration: Script Overview |
Netmiko Iteration (Script 1): Basic Script | ||
Netmiko Iteration (Script 2): Open a file of commands | ||
Netmiko Iteration (Script 3): Configure multiple devices using a file of devices | ||
Netmiko Iteration (Script 4): Remove passwords from script | ||
Netmiko Iteration (Script 5): Except (Error) Handling | ||
Netmiko Iteration (Script 6): Determine device types and run specific device typ | ||
Netmiko Iteration (Script 7): Iterate device type script | ||
9. | Netmiko Scaling (30 minutes) | Part 1: Encrypted Password File |
Part 2: Netmiko Sequential Part 1 | ||
Part 3: Netmiko Sequential Part 2 | ||
Part 4: Netmiko Multithreading | ||
Part 5: Netmiko Thread Pools | ||
10. | Python Theory (13 minutes) | Theory topics – very short (P62_14_15) |
Keep learning (P61_26) | ||
2.7 and 3 setup (P61_27) | ||
2.7 and 3 examples (P61_28) | ||
Basic Hello World Scripts (P61_29_30) | ||
11. | Python Theory: Objects, Variables and Data Types (24 minutes) | Python Objects (P61_1) |
Python Objects Part 2 (P61_2) | ||
Python Variables (P61_3) | ||
Python Variables Part 2 (P61_4_5) | ||
Python Variables Part 3 (P61_6) | ||
Python Variables Part 4 (P61_7_8) | ||
Data Types (P61_9) | ||
Data Type testing (P61_10) | ||
12. | Python Theory: Numbers (26 minutes) | Introduction (P61_19) |
Numeric Types (P61_11) | ||
Int and Float (P61_12) | ||
Operators (P61_14) | ||
Operators Part 2 (P61_15_16) | ||
Operators (P61_17_18) | ||
bin hex oct (P61_20) | ||
binary decimal octal number examples (P62_1) | ||
int calculation (P62_2) | ||
Floats (P62_3) | ||
13. | Python Theory: Strings (45 minutes) | strings (P62_4) |
strings (GT 06-8-17 7_8) | ||
convert to a string using str() (P62_10) | ||
escape special character meaning with \ (P62_12) | ||
strings (P62_9) | ||
string concatenation with + (P62_13) | ||
multiplication operator * (P62_16) | ||
string offsets – extract characters with [] (P62_17) | ||
string slice _ slicing (P62_string) | ||
string slice _ slicing 2 (P62_1string) | ||
string slice _ slicing 3 (P62_2string) | ||
lower upper (P73_11) | ||
startswith endswith (P73_12) | ||
strip lstrip rstrip (P73_13) | ||
isdigit (P73_14) | ||
count (P73_15) | ||
Old Style text using % (P66_24) | ||
Strings: New way to do text using {} (P73_16) | ||
dir (P73_9) | ||
14. | Get version information from a switch (56 minutes) | Get show version from switch (P65_14) |
Telnet and string offset (P65_16) | ||
Show version using len (P65_17) | ||
Split 1 (P65_18_21) | ||
Split 2 (P73_18) | ||
List and join (P73_17) | ||
List and len – use Interface example (P73_25) | ||
Index introduction(P66_1) | ||
Real switch get version using index and slice (P66_2_3) | ||
Python3 telnet to switch (P66_4) | ||
Count (P66_6) | ||
Use find to get information from a real switch (P66_10) | ||
Python3 Telnet versus Python2 – Find version of software (P66_11) | ||
find not found (P66_12) | ||
String methods – upper (P66_13) | ||
String methods – startswith and endswith (P66_14) | ||
String methods – strip (P66_15) | ||
String methods – split demo (P66_16) | ||
String methods – Join (P66_17_18) | ||
String methods – is it in string? (P66_19) | ||
String concatenation (P66_20) | ||
Capitalize, upper, lower, swap (P66_23) | ||
15. | Python Theory: Comparisons (11 minutes) | Boolean comparisons |
Boolean Truth Table | ||
Boolean Truth Table Demo | ||
false conditions | ||
16. | Python Theory: Lists (34 minutes) | Lists versus tuples |
lists | ||
create a list using split | ||
lists in lists | ||
lists versus tuples – documentation | ||
list merge and extendC | ||
List methods | ||
lists insert and delete | ||
list pop index and in | ||
reverse sort | ||
len copy list | ||
17. | Python Theory: Tuples (06 minutes) | tuples |
Tuples and Sequences v2 | ||
18. | Python Theory: Code Structures (04 minutes) | Comments in Code (P72_2) |
Line Continuation (P72_3) | ||
19. | Python Theory: if / else / elseif logic (19 minutes) | if logic |
physical router demonstration | ||
esleif | ||
20. | Python Theory: While Loops (15 minutes) | while loop |
infinite while loop with break | ||
infinite while loop with continue | ||
while loop with a list | ||
while loop with else | ||
21. | Python Theory: For Loops (07 minutes) | for loops |
for loop with dictionary | ||
for loop with if and lists | ||
22. | Python Theory: Ranges (07 minutes) | Ranges 1 |
Ranges 2 | ||
23. | Python Theory: Dictionaries (15 minutes) | Dictionary Theory (P70_17) |
Dictionary Demo (P70_18) | ||
Combine Dictionaries (P70_19) | ||
Dictionaries: Clear and check (P70_20) | ||
Dictionaries: Add values (P70_21) | ||
24. | Python Theory: Functions (24 minutes) | Functions Intro |
Functions Intro Part 2 | ||
Functions Part 3 | ||
Functions – Netmiko and Router | ||
Functions – Netmiko and Router | ||
Function 6 – Named keyword arguments (Netmiko) |
Resources Required
- Knowledge of Networking Basics (CCNA Level)
- Basic knowledge of GNS3
Featured Review
Spyros K. (5/5) : You are amazing, thank you for sharing your knowledge and keep up with the good work, it really help us!
Pros
- Robert Herron (5/5) : Mr. Bombal is just one of the best at what he does.
- Akhil NR (5/5) : This is the one of the best course that i have ever attended online.
- Christopher Moss (5/5) : Excellent course for anyone looking to gain python skills for networking!
- Stephendeb Butler (5/5) : David is an excellent teacher and presents the course content in a structured manner.
Cons
- Kom Phatak (1/5) : I am not sure whether the lab setup would work even after purchasing CML as Network Automation container facility is not there in CML labs.
- Nathaniel Draper (1/5) : Without VIRL images you are basically left behind and nothing makes sense.
- Kom Phatak (1/5) : Wasted a lot of time with VMware and GNS3 lab setup.
- Eric Meinders (1/5) : I spent 2 weeks downloading different VMs, trying to get GNS3 to work (or just to recognize the various VMs), then trying EVE-NG which took 2 days to just get set up and inevitably failed because of the images.
About the Author
The instructor of this course is David Bombal who is a CCIE #11023, over 15 years of network training experience. With 4.7 Instructor Rating and 109,091 Reviews on Udemy, he/she offers 47 Courses and has taught 1,093,842 Students so far.
- David Bombal (CCIE #11023 Emeritus) is one of a select group of Cisco Engineers that successfully complete their CCIE lab exams on the first try
- He passed the Cisco Certified Internetwork Expert Routing and Switching exam in January 2003
- David earned his CCSI #22787 certification as a Cisco Certified Systems Instructor many years ago! He has been instructing Cisco courses for more than 15 years and has provided instructor-led training on a wide range of Cisco topics, from CCNA to CCIE, in numerous nations across the world
- David is an extremely active user of social media, and he has amassed over 500,000 subscribers on YouTube and more than 1,000 free video posts
Comparison Table
Parameters | Python Network Programming for Network Engineers (Python 3) | Python 3 | Ultimate Guide | Python-Introduction to Data Science and Machine learning A-Z |
---|---|---|---|
Offers | INR 455 ( | INR 455 ( | INR 455 ( |
Duration | 13 hours | 13 hours | 7.5 hours |
Rating | 4.7 /5 | 4.1 /5 | 4.1 /5 |
Student Enrollments | 270,825 | 234,978 | 259,925 |
Instructors | David Bombal | Josh Werner | Yassin Marco |
Register Here | Apply Now! | Apply Now! | Apply Now! |
Leave feedback about this