Mô tả

***Fully updated for 2023*** This Network Automation with Python course also covers every major general Python Programming topic and is a perfect match for both beginners and experienced developers!

Course Updates:

  • Update: November 2022- Updates to be 2023 ready

  • Update: September 2020 - Manual Captions (Subtitles) in English added

  • Update: June 2020 - NEW Section: Async IO in Python (async/await, aiohttp, aiofiles, asyncssh)

  • Update: May 2020 - Network Automation with Telnet re-recorded entirely

  • Update: April 2020 - Network Automation with Netmiko (SSH) re-recorded entirely

  • Update: March 2020 - Network Automation with Paramiko (SSH) re-recorded entirely

  • Update: April and May 2020 - Tens of NEW Coding Challenges with Solutions for real-world network automation tasks

  • Update: October 2019 - NEW Section: Data Serialization and Deserialization in Python (Pickle, JSON, and REST APIs)

  • Update: June 2019 - NEW Sections on General Python Programming: Strings, Lists, Tuples, Sets, Dictionaries, Functions, Flow Control, Working with Files, and many more

Welcome to this Python hands-on course for learning Network Automation and Programmability with Python in a Cisco or Multivendor Environment, taught by a DevOps Engineer and Professional Trainer.

Boost your Python Network Programming Skills by learning one of the hottest topics in the Networking Industry in 2022 and become one of the best Network Engineers!

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.

Just starting out with Python Programming, Network Automation, or Network Programming using Python and have the desire to learn the future of Network Programmability in a practical way? Perfect. Then, this course is the right one for you. You'll boost your career with hands-on Network Programming Skills!

Or maybe you've already tried to learn Network Automation with Python by yourself and now you want to put all pieces together? I'm here to help you, this course has everything you need to know to automate network configurations with Python.

Most examples in this course are for Cisco IOS, but they can also be used in a multivendor environment (Juniper, Arista, HP, Linux) with no or little changes. This is a vendor-neutral course and teaches you Python from scratch.

You'll have lifetime access and you can return and look for a specific Python library or example anytime you want. And let's not forget, if you don't like the course, you are covered by a 30-day money-back guarantee, full refund, no questions asked!

You'll have access to all Slides and Python Scripts (ready to be used) from this course.


TESTIMONIALS

★★★★★ "This course was much better than I expected. It's high-quality Python Programming in the area of network automation and the instructor is really experienced. Thank you!" by Joseph Heinrich

★★★★★ "Wow! This is an amazing course on network automation and python. It goes directly to the point. The Netmiko section is the best. I'm just waiting to test this at my work. Thank you!" by D. Schmidt

★★★★★ "This is without doubt the best course on Network Automation with Python out there!" by Muhammad Ali


There are many courses on Python Programming and Network Automation or Network Programming with Python. Why should you learn from me?

  • I'm a Practitioner and an Enthusiast. Welcome to the real world! I have almost 20 years of experience as a Network Engineer and Programmer. Since I started with Networking, Linux Systems, and Programming, I've been using or studying technology almost on a daily basis. I also have a bunch of Cisco certifications: CCNP Routing & Switching, CCNP Security, CCNP Service Provider, Cisco Certified Instructor, etc

  • I'm an Educator and I know how to make a Syllabus. For the last 10 years, I've trained thousands of people on Linux, Networking, Security, Ethical Hacking, or Programming.

  • You'll learn not only Network Automation but also general Python Programming. After this course, you'll MASTER all the Python 3 key concepts.

The topics covered in this Python Network Programming course are:

  • Working with Files in Python (text, csv, json, yaml)

  • Data Serialization and Deserialization (Pickle and JSON)

  • Bytes and String Objects in Python 3. Encoding, Decoding

  • Advanced Python Concepts: Multiprocessing and Multithreading with real-life examples

  • The standard Telnet Python Library. How to create your own Class based on telnetlib to simply the configuration automation

  • Paramiko Library. How to use SSH to automate the configuration of Cisco, Linux, or other Devices

  • How to create your own Python module based on Paramiko to simplify the development work

  • Netmiko. Automate the configuration of Cisco, Arista, and Linux using Netmiko

  • Netmiko best practices and real-life examples for backup configuration of multiple devices

  • Building Concurrent Applications using Async IO (async/await, aiohttp, aiofiles, asyncssh)

  • The NAPALM Library - Network Automation and Programmability Abstraction Layer with Multivendor support

  • How to use NAPALM to retrieve information about devices and protocols and manage the devices’ configuration

  • What is Ansible and what are its components: Modules, Tasks, Plays, Playbooks, etc

  • How to execute Ad-Hoc commands against networking devices and servers using Ansible

  • Ansible modules: command, shell, raw, copy, file, apt, service, ios_command, ios_config etc

  • How to use create and run Ansible Playbooks against Networking Devices (Cisco, Arista, etc) and Linux Servers

  • Ansible Vault

  • Automation of networking device configuration through a serial connection. Pyserial Python module

  • Improvement of the pyserial module

  • How to set up the Python Development Environment: PyCharm, GNS3, Cisco IOS, Arista vEOS, Juniper vSRX

  • Arista vEOS installation in GNS3 and basic configuration

  • Juniper vSRX installation in GNS3 and basic configuration

The topics covered in the General Python Programming sections are:

  • Variables

  • Operators

  • Built-in Types

  • Strings in Python

  • Lists in Python

  • Tuples in Python

  • Sets and Frozensets in Python

  • Dictionaries in Python

  • Flow Control

  • User-defined Functions

  • Errors and Exception Handling

  • OOP (Object Oriented Programming)

Every topic includes many live examples in Python. This course will show you the best practices for developing production-ready Python Networking Automation scripts for Cisco and multi-vendor environments.

Bạn sẽ học được gì

You will MASTER all the Python 3 key concepts starting from scratch. No prior Python or programming knowledge is required.

Learn how to automate the configuration of networking devices with Python 3 in a multi-vendor environment.

Learn network programmability with Python, GNS3 and Ansible.

Learn and apply advanced Python concepts like Multiprocessing and Threading in Network Automation.

See real-world examples of automation scripts with Python for Cisco IOS, Arista EOS or Linux.

Understand how to use Telnet and SSH with Python for network automation.

Learn how to use and improve Paramiko and Netmiko for the automation of common administration tasks with Python.

Automate and troubleshoot network configurations with Ansible.

You will be able to use Ansible, manage Ansible inventory files, tasks, modules for Linux and networking devices, playbooks, vaults and YAML Files.

Use NAPALM Python library in a multi-vendor environment.

Learn how to configure networking devices with Python using a Serial Console Connection.

Improve the existing Python modules and create your own modules for network automation.

You will ultimately gain real-life skills for a good Network or DevOps Engineer.

You will learn general Python Programming in depth.

Yêu cầu

  • No prior Python knowledge is required. There is a general Python programming section included.
  • Basic knowledge of networking concepts (TCP/IP Stack, Cisco CCNA Level).
  • A Linux, Mac or Windows Machine with an Internet connection and at least 4 GB of RAM.
  • No paid software required. Only free software will be used: Python 3, PyCharm, GNS3, VirtualBox, Linux, etc.
  • Cisco IOS Images should be acquired by the student (from Cisco's official website - contract required) to run into GNS3 or practice all the concepts on real Cisco devices.
  • Basic Knowledge of GNS3 and how to run Cisco Images, although I'll provide you with the necessary setup information.

Nội dung khoá học

29 sections

Course Introduction

7 lectures
Why Network Automation with Python? Why Now?
02:17
IMPORTANT. Please read!
01:04
Quick inside. Course Overview
09:57
IMPORTANT FOR BEGINNERS: How to Learn Python Programming
01:07
Join Our Online Community!
00:25
Getting Course Resources
00:22
Quiz for Basic Python Programming
10 questions

Setup the Environment: Python, PyCharm, GNS3, Cisco IOU and IOS

19 lectures
A Quick Note
00:54
Download and Install the Required Software
02:52
Python Installation
02:10
Installing Python 3 on Windows
02:49
Installing Python 3 on Linux and Mac
01:19
Installing PyCharm IDE on Windows
03:22
Installing PyCharm IDE on Linux and Mac
00:59
Running Python Scripts using PyCharm
05:41
Running Python Scripts using the Command Line
03:52
Where do I get Cisco IOS, Juniper vSRX or Arista vEOS Images
01:26
Just a few Words about Windows Installation
00:37
Installing GNS3 on Windows 10
11:18
Running Cisco IOU Images in GNS3 on Windows 10
11:17
Connecting to Cisco IOU Images Running in GNS3 from Window 10
07:24
Installing GNS3 and Running Cisco IOU on Linux
02:22
What if it still doesn't work? This is the solution!
00:45
Intro to GitHub Copilot
03:48
GitHub Copilot: A Powerful Tool for Experienced Coders
05:26
Setting Up GitHub Copilot in PyCharm
07:14

Working with Text Files in Python

17 lectures
Intro
01:48
Opening and Reading Files
05:29
Absolute and Relative Paths
11:01
Reading Files: Tell, Seek and Cursors
06:36
The with Statement
03:28
Reading Files into a List
05:53
Writing to Text Files
07:08
Project: File Processing
06:21
Quiz for File Processing
5 questions
Reading CSV Files
07:04
Writing CSV Files
05:53
Using CSV Custom Delimiters
02:45
Using CSV Dialects
04:51
Coding Section - Working with CSV Files
01:11
Assignment: File Processing
02:12
Assignment Answer 1: File Processing
03:56
Assignment Answer 2 (CSV Module): File Processing
02:29

Hands-On Challenges - Working With Files

2 lectures
Hands-On Challenges - Working With Text Files
03:09
Hands-On Challenges - Working With CSV Files
00:36

Data Serialization and Deserialization in Python (Pickle and JSON)

13 lectures
Intro to Data Serialization
03:29
Pickle Data Serialization and Deserialization
06:21
Coding - Pickle
00:15
JSON Data Serialization
06:29
JSON Data Deserialization
05:36
Coding - JSON
00:26
Assignment: JSON and Requests/REST API
01:46
Assignment Answer: JSON and Requests/REST API
03:54
Coding Challenge: Simplify Serialization
00:59
Coding Challenge Solution: Simplify Serialization
00:36
Coding Challenge - JSON and Requests/REST API
00:38
Coding Challenge Solution - JSON and Requests/REST API
00:34
Test Your Knowledge: Data Serialization (JSON & Pickle)
7 questions

Network Automation with Paramiko (SSH)

21 lectures
The Lab Environment
00:33
Intro to Paramiko
04:44
Extra: Enable SSH on Cisco Devices
04:49
Connecting to Networking Devices using Paramiko
09:01
Using **kwargs and Arguments Unpacking
03:38
Running Commands on Cisco Devices
07:03
Securing the Passwords Using getpass
03:36
Automating the Configuration (OSPF) of Multiple Cisco Routers
08:03
Running Commands on Linux - Method 1
05:22
Running Commands on Linux as a Non-privileged User - Method 2
05:03
Running Commands on Linux as root - Method 2
04:00
Paramiko Refactoring. Creating myparamiko Module
06:43
Running Commands Using myparamiko on Cisco IOS
04:50
Importing myparamiko Module
08:11
Backup the Configuration of a Single Cisco Device
09:52
Automating the Backup Configuration of Multiple Cisco Devices
02:39
Implementing Multithreading (Python and Paramiko)
06:42
Assignment: Interactive User Creation on Linux with Paramiko
00:51
Assignment Answer: Interactive User Creation on Linux with Paramiko
04:20
Quiz for Paramiko
4 questions
Secure Copying Files with SCP and Paramiko from Python
09:27

Hands-On Challenges - Network Automation with Paramiko

1 lectures
Hands-On Challenges - Paramiko
04:12

Network Automation with Netmiko (SSH)

17 lectures
The Lab Environment
00:36
Intro to Netmiko. Netmiko vs. Paramiko
04:38
Connecting and Running a Command on a Networking Devices
07:49
Netmiko Prompt. Enable & Global Config Mode
08:30
Running Multiple Commands on a Networking Device
10:33
Configuring a Networking Device from a File
04:40
Configuring Multiple Networking Devices from Multiple Files
07:40
Automating the Backup of Multiple Cisco Devices Using Netmiko
10:37
Netmiko Without Multithreading
04:43
Implementing Multithreading (Python and Netmiko
06:54
Netmiko and Linux
07:50
Troubleshooting Netmiko
04:11
Preparing the Router for SCP
07:22
Copy files to Networking Devices using SCP and Netmiko
04:40
Quiz for Netmiko
5 questions
Assignment: Check Interface Status and Enable it if it's Disabled
00:48
Assignment Answer: Check Interface Status and Enable it if it's Disabled
09:50

Hands-On Challenges - Network Automation with Netmiko

1 lectures
Hands-On Challenges - Netmiko
04:18

Building Concurrent Applications Using Async IO

10 lectures
Python Concurrency Ecosystem
04:19
Implementing Async IO
13:42
Coding - Implementing Async IO
00:39
Building an Asynchronous Web Scraper
09:57
Coding - Building an Async Web Scraper
00:49
Running Shell Commands (Subprocesses) Asynchronously
08:07
Coding - Running Shell Commands
00:39
AsyncSSH: Asynchronous SSH
10:32
AsyncSSH: Running Multiple Clients
09:20
Coding - AsyncSSH (Multiple Clients)
01:02

[Appendix] - Running Arista vEOS and Juniper vSRX in GNS3

6 lectures
How to Run Arista vEOS in GNS3
02:25
How to Run Juniper vSRX in GNS3
01:25
Juniper vSRX Basic Configuration
01:38
Arista vEOS Basic Configuration
01:58
Configure Arista EOS Switches
08:21
Netmiko in a Multivendor Environment: Cisco & Arista Configuration
09:50

Network Automation with Napalm

8 lectures
Intro to Napalm
02:54
Installing Napalm. Connecting to a Device
05:50
Displaying Information
05:25
Retrieving Information (facts, interfaces, arp table etc)
07:45
Checking Connectivity Between Devices (napalm_ping)
05:46
Configuration Management
07:11
Merging Configurations
06:51
Configuration Rollback
02:31

Network Automation with Telnet

9 lectures
Bytes Objects, Encoding and Decoding
07:03
Telnet Protocol Basics. Configure and Connect to Cisco Devices
05:38
Connecting to Network Devices with Telnet from Python
10:28
Configuring Multiple Devices (Network Automation)
08:50
Securing the Passwords Using getpass
04:10
Telnet Enhancement (Refactoring) Using Object Oriented Programming
09:24
Testing the Custom Telnet Class. Configure Loopback Interfaces and OSPF
07:20
Configuring Multiple Devices Using the Custom Telnet Class
04:42
Improving the Custom Telnet Class
03:18

Hands-On Challenges - Network Automation with Telnet

1 lectures
Hands-On Challenges - Telnet
03:03

Network Automation Using Serial Connections

8 lectures
Serial Communication Basics. Connecting to a Console Port
04:53
Simulating a Serial Connection with Linux and GNS3
00:49
Open a Serial Connection to a Device Console Port
03:52
Configure Cisco Devices using Serial Connections
07:10
Pyserial Refactoring. Creating Our Own myserial Module
10:21
Module Enhancement. Initially Configuration of a Cisco Device
08:37
Initial Configuration Automation From a File
04:30
Quiz for Serial Connections
5 questions

[Appendix] Useful Python Modules

5 lectures
System-specific Parameters and Functions: The Sys Module
07:18
Script's Arguments: sys.argv
08:18
High-level File Operations: The Shutil Module
07:42
Running System Commands: The Os Module
03:41
Running System Commands: The Subprocess Module
05:03

[Appendix] - SSH Public Key Authentication (Cisco IOS & Linux)

7 lectures
SSH Public Key Authentication Overview
04:25
Generating SSH Key Pair on Windows
04:58
What about MacOS?
00:09
Generating SSH Key Pair on Linux
03:58
Configuring SSH Public Key Authentication on Cisco IOS - Part 1 [Windows]
10:12
Configuring SSH Public Key Authentication on Cisco IOS - Part 2 [Linux]
05:15
Configuring SSH Public Key Authentication on Linux
11:29

[Appendix] - Ansible - Automate for Everyone

10 lectures
About This Section
00:13
What is Ansible
02:14
Ansible Components
03:06
Installing Ansible
04:11
Inventory and ansible.cfg Files
11:31
Intro to Ad-Hoc Commands
03:04
Ad-Hoc Commands Part 1: command, shell, raw Modules
08:11
Ad-Hoc Commands Part 2: setup, file, copy Modules
06:07
Ad-Hoc Commands Part 3: apt and service Modules
09:46
Ad-Hoc Commands Examples
02:05

[Appendix] - Ansible Playbooks

16 lectures
YAML Files
06:07
Quizz for YAML
4 questions
Ansible Resources
00:21
Intro to Ansible Playbooks
08:08
ios_command Modul
06:04
Saving Output to a File
03:50
network_cli vs local. Privileged Exec Commands in Playbooks
08:03
Behavioral Inventory Parameters
02:27
Behavioral Inventory Parameters in Playbooks and Inventory Files
10:51
ios_config Module
05:44
ios_config Module parents Argument
04:16
Backup running-config Using ios_config Module
02:25
Ansible Loops: Create Linux Users
10:11
Arista eos_config Module
09:33
Playbook with Multiple Plays for a Multivendor Topology (Cisco & Arista)
07:55
Ansible Vault
08:01

[Python Programming] - Python Basics

16 lectures
Quick Note for Beginners
00:18
Python Installation
02:10
Running Python Code in a Cloud IDE
03:29
Variables
06:01
Test Your Knowledge: Variables
4 questions
Comments
04:08
Constants
02:03
Test Your Knowledge: Comments and Constants
6 questions
Dynamic vs. Static Typing
04:25
Built-in Types
04:17
Numbers and Math Operators
08:32
Test Your Knowledge: Built-in Types, Numbers, Math Operators
17 questions
Assignment Operators
09:02
Comparison Operators
03:43
Identity Operators. Mutability vs. Immutability
05:34
Test Your Knowledge: Assignment, Comparison and Identity Operators
7 questions

[Python Programming] - Strings in Python

14 lectures
Intro to Strings
10:01
Get User Input
04:58
Converting Types
08:57
Test Your Knowledge: String Basics, User Input and Conversions
11 questions
String Indexing
05:37
Concatenating and Repeating Strings
04:39
Test Your Knowledge: String Indexing, Concatenating and Repeating
5 questions
String Slicing
06:12
Test Your Knowledge: String Slicing
7 questions
Formatting Strings: f-strings
07:48
Test Your Knowledge: Formatting Strings
8 questions
Intro to String Methods
06:34
Useful String Methods
12:52
Test Your Knowledge: String Methods
13 questions

[Python Programming] - Program Flow Control

8 lectures
Conditional Statements
06:37
Indentation
06:03
Nested if/elif/else Statements
08:33
Test Your Knowledge: Conditional Statements and Indentation
8 questions
Boolean Variables
08:32
Logical (Boolean) Operators: AND and OR
06:14
Logical (Boolean) Operators: NOT
05:08
Test Your Knowledge: Booleans
11 questions

[Python Programming] Python Loops

10 lectures
For Loops
07:45
Debugging Your Code: Step Through Your Program
06:52
Ranges
06:19
Loops and Ranges
06:04
For, continue and pass Statements
04:18
For, else and break Statements
07:45
While Loops
05:49
While and continue Statements
04:05
While and break Statements
05:35
Walrus Operator
07:46

[Python Programming] - Lists and Tuples in Python

16 lectures
Intro to Lists
07:54
Test Your Knowledge: Intro to Lists
5 questions
List Concatenation, Append and Extend
04:33
List Slicing and Iteration
07:14
Test Your Knowledge: List Concatenation, Iteration, Slicing
12 questions
Python List Gotchas
08:01
List Methods Part 1: Append, Extend, Insert, Copy, Clear, Pop, Remove
10:02
List Methods Part 2: Clear, Pop, Index, Count
09:41
String to List and List to String: Split and Join
03:31
Test Your Knowledge: List Methods
10 questions
Project: Extract IPv4, IPv6 and MAC Addresses
07:16
Intro to Tuples
05:08
Tuple Operations
04:03
Tuple Methods
05:16
Tuples vs. Lists
05:47
Test Your Knowledge: Tuples
8 questions

[Python Programming] - Sets, Frozensets and Dictionaries in Python

13 lectures
Intro to Sets
10:00
Set Methods Part 1: Add, Remove, Discard, Pop, Clear, Copy
07:13
Test Your Knowledge: Intro to Sets and Set Methods
9 questions
Set Methods Part 2: Union, Intersection, Difference, Symmetric Difference
08:20
Fronzensets
05:13
Test Your Knowledge: Set Operations and Frozensets
8 questions
Intro to Dictionaries
04:11
Working with Dictionaries
10:27
Test Your Knowledge: Working with Dictionaries
10 questions
Dictionary Operations and Methods - Part 1
03:52
Dictionary Operations and Methods - Part 2
09:52
Test Your Knowledge: Dictionary Operations and Methods
9 questions
Dictionary and Set Comprehensions
09:03

[Python Programming] - Functions in Python

12 lectures
Intro to Functions
04:32
Positional and Keyword Arguments
09:14
Default Argument
05:35
The return Statement
08:15
Variable-length Arguments: *args
05:26
Variable-length Arguments: **kwargs
04:50
Test Your Knowledge: Intro to Functions, Return Keyword and Arguments
10 questions
Scopes and Namespaces
12:23
One More Word about Scopes and Namespaces
03:43
Test Your Knowledge: Scopes and Namespaces
5 questions
Lambda Expressions
08:41
Test Your Knowledge: Lambda Expressions
3 questions

[Python Programming] -Errors and Exception Handling

5 lectures
Intro to Exceptions
05:44
Exceptions Handling: Try...Except...Else...Finally
09:51
Built-in Exceptions and Best Practices
09:37
Test Your Knowledge: Errors and Exceptions Handling
5 questions
Project: Test Network Connection
09:08

[Python Programming] - Object Oriented Programming Basics

8 lectures
Intro to Object Oriented Programming
05:45
OOP Demonstration: The Turtle
12:48
Defining Classes and Objects
03:30
The __init__ Method
07:45
Test Your Knowledge: OOP Basics
7 questions
Instance Attributes and Class Attributes
06:06
Magic Methods
09:09
Test Your Knowledge: OOP Attributes and Magic Methods
7 questions

BONUS SECTION

2 lectures
Congratulations
00:40
BONUS: THANK YOU GIFT!
01:06

Đánh giá của học viên

Chưa có đánh giá
Course Rating
5
0%
4
0%
3
0%
2
0%
1
0%

Bình luận khách hàng

Viết Bình Luận

Bạn đánh giá khoá học này thế nào?

image

Đăng ký get khoá học Udemy - Unica - Gitiho giá chỉ 50k!

Get khoá học giá rẻ ngay trước khi bị fix.