There are currently no items in your shopping cart.

User Panel

Forgot your password?.

Udemy Master Network Automation with Python for Network Engineers

Video Introducing this tutorial

Course Introduction :
Why Network Automation with Python? Why Now?
IMPORTANT. Please read!
Quick inside. Course Overview
IMPORTANT FOR BEGINNERS: How to Learn Python Programming
How to Get Better and Faster Support? JOIN OUR ONLINE COMMUNITY!
Getting Course Resources
Quiz for Basic Python Programming

Setup the Environment: Python, PyCharm, GNS3, Cisco IOU and IOS :
A Quick Note
Download and Install the Required Software
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?

Working with Text Files in Python :
Opening and Reading Files
Reading Files: Tell, Seek and Cursors
The With Keyword
Opening and Reading Text Files using seek() and read()
Coding Exercise Solution
Reading Files into a List
Writing to Text Files
Reading Files into a List
Coding Exercise Solution
Writing Text Files
Coding Exercise Solution
Coding Section - Working with Text Files
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

Hands-On Challenges - Working With Files :
Hands-On Challenges - Working With Text Files
Hands-On Challenges - Working With CSV Files

Data Serialization and Deserialization in Python (Pickle and JSON) :
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)

Network Automation with Paramiko (SSH) :
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

Hands-On Challenges - Network Automation with Paramiko :
Hands-On Challenges - Paramiko

Network Automation with Netmiko (SSH) :
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
Hands-On Challenges - Network Automation with Netmiko
Hands-On Challenges - Netmiko

Building Concurrent Applications Using Async IO :
Python Concurrency Ecosystem
Implementing Async IO
Building an Asynchronous Web Scraper
Running Shell Commands (Subprocesses) Asynchronously
AsyncSSH: Asynchronous SSH
AsyncSSH: Running Multiple Clients

[Extra] - Running Arista vEOS and Juniper vSRX in GNS3 :
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

Network Automation with Napalm :
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

Network Automation with Telnet :
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

Hands-On Challenges - Network Automation with Telnet :
Hands-On Challenges - Telnet

Network Automation Using Serial Connections :
Serial Communication Basics. Connecting to a Console Port
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

Useful Python Modules :
High-level File Operations: The Shutil Module
Running System Commands: The Os Module
Running System Commands: The Subprocess Module

[Extra] - SSH Public Key Authentication (Cisco IOS & Linux) :
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

[Extra] - Ansible - Automate for Everyone :
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

[Extra] - Ansible Playbooks :
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

[Python Programming] - Python Basics :
Quick Note for Beginners
Dynamic vs. Static Typing
Built-in Types
Numbers and Math Operators
Comparison and Identity Operators. Mutability vs. Immutability
Boolean Variables
Boolean Operators
Coding - Python Basics
[Python Programming] - Strings in Python
Intro to Strings
Get User Input
Type Casting
String Indexing and Operations
String Slicing
String Formatting (F-Strings)
Recap - Printing Strings
String Methods
Coding - Strings in Python

[Python Programming] - Program Flow Control :
If Elif and Else Statements
For Loops
Ranges In-depth
For and Continue Statement
For and Break Statement
While Loops
While and continue Statement
While and break Statement
Coding - Program Flow Control

[Python Programming] - Lists and Tuples in Python :
Intro to Lists
List Operations
List Methods Part 1: Append, Extend, Insert, Copy
List Methods Part 2: Clear, Pop, Index, Count
List Methods Part 3: Sort, Max, Min and Sum
Coding - Lists in Python
Intro to Tuples
Tuple Operations
Tuple Methods
Tuples vs. Lists
Coding - Tuples in Python

[Python Programming] - Sets, Frozensets and Dictionaries in Python :
Intro to Sets
Set Methods Part 1: Add, Clear, Copy, Remove, Discard, Pop
Set Methods Part 2: Difference, Symmetric Difference, Union, Intersection
Coding - Sets and Frozensets in Python
Intro to Dictionaries
Working with Dictionaries
Dictionary Operations and Methods
Coding - Dictionaries in Python

[Python Programming] - Functions in Python :
Intro to Functions
The return Keyword
Functions Arguments: Positional, Default, Keyword, *args and **kwargs
Scopes and Namespaces
Lambda Expressions
Coding - Functions and Lambda Expressions in Python
The Special Constant None

[Python Programming] -Errors and Exception Handling :
Intro to Exceptions
Exception Handling: Try...Except...Else...Finally
Coding - Errors and Exception Handling

[Python Programming] - Object Oriented Programming Basics :
Intro to Object Oriented Programming
Defining Classes and Objects
The __init__ Method
Instance Attributes and Class Attributes
Magic Methods

Course Completion :
BONUS: Special Thank You Gift!