Program networks using Python version 3. Learn network programmability with this practical GNS3 and Cisco course
☑ Learn network programmability with GNS3 and Python version 3
☑ Learn how to automate the configuration of network devices with Python
☑ Learn how to leverage NAPALM for network automation
☑ Use Netmiko for SSH connections to routers and switches
☑ Quick start guide using Telnet and SSH – get started in 20 minutes!
☑ Learn how to scale your network scripts
Learn Network Programmability and Network Automation using GNS3 and Python version 3.
This course is based on Python 3.
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 within 20 minutes.
This course was created for network engineers. There are too many other Python courses out there that try to make network engineers software developers. Instead of teaching network automation, they teach you Python theory. This course is different.
This course is practical. I won’t talk about programming in abstract terms and make you wait before you can start automating networks. I will show you how you can quickly and easily start network programming by using GNS3, Cisco IOS and Python.
You will see demonstrations of the configuration of both Cisco routers and switches in GNS3. For example, how to configure multiple VLANs on a multiple switches, or how to configure OSPF on a router and more.
This course shows you practical examples of using Python to programmatically configure Cisco network devices rather then just talking about it.
The days of configuring Cisco networks only with the command line interface (CLI) are drawing to a close. You need to add network programmability using Python and APIs to your skill set.
Learn how to automate networks using:
– Telnet
– SSH
– Paramiko
– Netmiko
– NAPALM
Tools such as NAPALM and Netmiko make it easy to configure and interact with network devices using an API such as NETCONF or using SSH. Don’t reinvent the wheel. Use the tools available to you to quickly and easily automate your networks.
Some comments about the course:
“Knowing the material from just the first video would have saved me hours of work and rework in the past.”
“It’s the easiest, most fun, and most valuable course I’ve completed yet on Python Programming for Networking. Love it! Thanks again David!!!”
“Excellent course on Network Programming using Python with lot’s of practical network configuration examples.”
“Great way of explanation.Nice video and inspiring words! Thank you so much David. You are genius.”
“I’ve been doing network automation for a while, even so, I’ve learned new things through this course. The instructor start from a basic example, adding improvements in each step. It’s a skill that’s worth it.”
“A must for all network engineers who want to learn python!!! I had very “very” basic programming skills, and couldn’t just get the bridge between network and programming (mainly Python – since that’s where the hype is now), this course was amazing, I have never been glued to a training course since I can remember. The couple of things I loved the most about this course: 1- David’s clear voice. 2- Real world application, not only will David interduce different real-world practical modules that you can import and use, but he shows you how to apply them on ios devices.”
“Excellent course on Network Programming using Python with lot’s of practical network configuration examples. High quality content.”
English
Language
Introduction
Introduction
GNS3 Setup
GNS3 2.1 Install Part 1: Components and software requirements
GNS3 2.1 Install Part 2: GUI install
GNS3 2.1 Install Part 3: Troubleshooting GNS3 installation issues Windows 10
GNS3 2.1 Install Part 4: Basic GNS3 Network (your first network)
GNS3 2.1 Install Part 5: Where do I get Cisco IOS images?
GNS3 2.1 Install Part 6: Cisco IOS network using Dynamips
GNS3 2.1 Install Part 7: GNS3 VM, VIRL and switching
GNS3 2.1 Install Part 8: GNS3 VM, VMware 14 issues
GNS3 2.1 Install Part 9: Cisco VIRL IOSv import into GNS3
GNS3 2.1 Install Part 10: Cisco VIRL and Dynamips network!
Quick Start Guide to Network Automation
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 addresess
Quick Start 10: Configure multiple switch with a loop
Quick Start 11: Loops within loops
Quick Start 12: Backup Network Device Configurations
Netmiko: Use SSH for Network Automation
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
NAPALM
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)
NAPALM and BGP
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)
Use NAPALM for device configuration audit and changes
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)
Iteration Examples: Netmiko scripts
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
Netmiko Scaling
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
Python Theory
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)
Python Theory: Objects, Variables and Data Types
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)
Python Theory: Numbers
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)
Python Theory: Strings
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)
Get version information from a switch
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)
Python Theory: Comparisons
Boolean comparisons
Boolean Truth Table
Boolean Truth Table Demo
false conditions
Python Theory: Lists
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
Python Theory: Tuples
tuples
Tuples and Sequences v2
Python Theory: Code Structures
Comments in Code (P72_2)
Line Continuation (P72_3)
Python Theory: if / else / elseif logic
if logic
physical router demonstration
esleif
Python Theory: While Loops
while loop
infinite while loop with break
infinite while loop with continue
while loop with a list
while loop with else
Python Theory: For Loops
for loops
for loop with dictionary
for loop with if and lists
Python Theory: Ranges
Ranges 1
Ranges 2
Python Theory: Dictionaries
Dictionary Theory (P70_17)
Dictionary Demo (P70_18)
Combine Dictionaries (P70_19)
Dictionaries: Clear and check (P70_20)
Dictionaries: Add values (P70_21)
Python Theory: Functions
Functions Intro
Functions Intro Part 2
Functions Part 3
Functions – Netmiko and Router
Functions – Netmiko and Router
Function 6 – Named keyword arguments (Netmiko)