Python 3 Network Programming – Build 5 Network Applications

Python 3 Network Programming – Build 5 Network Applications
Python 3 Network Programming – Build 5 Network Applications
English | MP4 | AVC 1280×720 | AAC 44KHz 2ch | 10.5 Hours | 4.55 GB

Learn Python 3 from scratch! Build your own network scripts and upgrade your Network Engineering skills! Updated 2019.

Python Network Programming (version 3.7) course aimed not only at network professionals, but at anyone having little or no experience in coding or network automation and a great desire to start learning Python from scratch. This hands-on Python Network Programming training takes you from “Hello World!” to building complex network applications in no time.

First, you will learn and practice every Python 3 key concept, which is explained in one or more video lectures, followed by a short quiz. Each video is filled with relevant examples, in a learn-by-doing fashion and the quizzes will help you consolidate the main ideas behind each Python topic.

After laying the foundation (and also exploring some advanced Python topics), you will dive right into the real-life network scenarios and apply your knowledge to build 5 great network tools using the power of Python.

Equipped with working files, cheat sheets and Python code samples, you will be able to work alongside me on each lecture and each application. I will provide the full code for each application, so you can save time and start coding and testing on the spot.

We will use emulated Arista vEOS switches in VirtualBox to test our Python apps in a network environment, so you can see the actual results of running your Python code.

I encourage you to learn Python, an amazingly beginner-friendly programming language and take your network engineering job to a higher level of automation.

What you’ll learn

  • Master all the Python 3 key concepts starting from scratch. No prior Python knowledge is required!
  • Apply your new Python 3 skills to build various tools for network interaction and make your job easier.
  • Use Python 3 for connecting via SSH to any network device and reading/writing configuration from multiple devices simultaneously.
  • Use Python 3 for establishing SSH sessions to network devices, extract parameters like the CPU utilization and build real-time graphs for performance monitoring.
  • Use Python 3 for building an interactive subnet calculator with a user menu. The tool will return the network and broadcast addresses, the number of valid hosts per subnet, the wildcard
  • mask and will generate random IP addresses from the subnet.
  • Use Python 3 for building a basic packet sniffer, capturing and analyzing network packets (ARP, ICMP, BOOTP) and saving packet data to a log file.
  • Use Python 3 for building a configuration change management tool that will extract the running config of a network device at specific time intervals, will compare it to the previous version,
  • detect and highlight all the changes and send the network admin a nice and clean report via e-mail on a daily basis.
  • Use Python 3 and specialized modules and commands to connect to and query network devices via an intermediary, remote Linux server.
  • Get the full Python 3 code of 5 amazing network applications and customize each of them according to your networking needs.
  • Get many other useful, free resources to enhance your learning experience: quizzes, notebooks (code samples), cheat sheet (syntax summary and examples), e-book (syntax guide).
  • Get my full support for any question or issue. Udemy provides you with a 30-day money-back guarantee, full refund, no questions asked and a Certificate of Completion.
  • Ask for a raise at your current job or apply for a better position using the network automation skills gained from this course.
Table of Contents

Introduction – What’s This Course All About
1 What Will You Learn What Benefits You Get From Taking This Course
2 Quick Introductory Note
3 How to Ask Good Questions on Udemy
4 FAQ – Check This First If You Run Into Any Issues

[Python 101] Python 3 – Basics
5 How to Install Python 3
6 Python 3 Basics – Keywords
7 Python 3 – Data Types
8 Python 3 Basics – Quiz
9 Installing Python 3 on Windows, Linux and MacOS
10 The Python Interpreter
11 Python 3 Basics – Scripts
12 Python 3 Basics – User Input
13 Notebook – User Input
14 User Input – Quiz
15 Python 3 Basics – Variables
16 Notebook – Variables

[Python 101] Python 3 – Strings
17 Python 3 Strings – Introduction
18 Python 3 Strings – Methods
19 Python 3 Strings – Operators & Formatting
20 Python 3 Strings – Slices
21 Notebook – Strings
22 Strings – Quiz

[Python 101] Python 3 – Numbers and Booleans
23 Python 3 Numbers – Math Operators
24 Notebook – Numbers and Math Operators
25 Numbers – Quiz
26 Python 3 Booleans – Logical Operators
27 Notebook – Booleans and Logical Operators
28 Booleans – Quiz

[Python 101] Python 3 – Lists
29 Python 3 Lists – Introduction
30 Python 3 Lists – Methods
31 Python 3 Lists – Slices
32 Notebook – Lists
33 Lists – Quiz

[Python 101] Python 3 – Sets
34 Python 3 Sets – Introduction
35 Python 3 Sets – Methods
36 Python 3 Sets – Frozensets
37 Notebook – Sets and Frozensets
38 Sets – Quiz

[Python 101] Python 3 – Tuples
39 Python 3 Tuples – Introduction
40 Python 3 Tuples – Methods
41 Notebook – Tuples
42 Tuples – Quiz

[Python 101] Python 3 – Ranges
43 Python 3 Ranges – Introduction
44 Python 3 Ranges – Methods
45 Notebook – Ranges
46 Ranges – Quiz

[Python 101] Python 3 – Dictionaries
47 Python 3 Dictionaries – Introduction
48 Python 3 Dictionaries – Methods
49 Python 3 – Conversions Between Data Types
50 Notebook – Dictionaries and Conversions Between Data Types
51 Dictionaries – Quiz

[Python 101] Python 3 – Conditionals, Loops and Exceptions
52 Python 3 Conditionals – If Elif Else
53 Notebook – Break Continue Pass
54 Python 3 – Exceptions
55 Python 3 – Try Except Else Finally
56 Notebook – Try Except Else Finally
57 Conditionals and Loops – Quiz
58 Notebook – If Elif Else Conditionals
59 Python 3 Loops – For For-Else
60 Notebook – For For-Else Loops
61 Python 3 Loops – While While-Else
62 Notebook – While While-Else Loops
63 Python 3 Nesting – If For While
64 Notebook – Nesting
65 Python 3 – Break Continue Pass

[Python 101] Python 3 – Functions and Modules
66 Python 3 Functions – Basics
67 Python 3 Functions – Arguments
68 Notebook – Functions – Basics
69 Python 3 Functions – Namespaces
70 Python 3 Modules – Importing
71 Python 3 Modules – Helpful Functions dir() and help()
72 Python 3 Modules – Installing a Non-Default Module
73 Notebook – Modules and Importing
74 Functions – Quiz

[Python 101] Python 3 – File Operations
75 Python 3 Files – Opening & Reading
76 Python 3 Files – Writing & Appending
77 Python 3 Files – Closing. The with Method
78 Python 3 Files – Access Modes Summary
79 Notebook – File Operations
80 File Operations – Quiz

[Python 101] Python 3 – Regular Expressions
81 Python 3 Regex – match() & search()
82 Python 3 Regex – findall() & sub()
83 Python 3 Regex – Regular Expressions Summary
84 Notebook – Regular Expressions
85 Regular Expressions – Quiz

[Python 101] Python 3 – Classes and Objects
86 Python 3 Classes – Objects
87 Python 3 Classes – Inheritance
88 Notebook – Classes and Objects
89 Classes – Quiz

[Python 101] Python 3 – Advanced Concepts and Tools
90 Python 3 – List Set Dictionary Comprehensions
91 Notebook – Itertools
92 Python 3 – Decorators
93 Notebook – Decorators
94 Python 3 – Threading Basics
95 Notebook – Threading Basics
96 Python 3 – Coding Best Practices
97 Advanced Concepts and Tools – Quiz
98 Notebook – List Set Dictionary Comprehensions
99 Python 3 – Lambda Functions
100 Notebook – Lambda Functions
101 Python 3 – map() and filter()
102 Notebook – map() and filter()
103 Python 3 – Iterators and Generators
104 Notebook – Iterators and Generators
105 Python 3 – Itertools

[Python 101] Python 3 – Download the Cheat Sheet
106 Python 3 – Cheat Sheet

[Python 101] Python 3 – Download the E-Book
107 Python 3 – 200+ Pages E-Book

[APP] Setting Up the Working Environment
108 Network Setup Overview
109 Any Connection Issues Check Out This Troubleshooting Checklist!
110 Installing the Virtualization Software
111 Installing the Virtualization Software on Windows, Linux, MacOS
112 Downloading & Installing the Network Device VM
113 Signing Up to the Arista Software Download Portal
114 Importing the VM & Tweaking the VM Settings
115 Connecting the Local PC to the Devices
116 Checking the SSH Configuration and Testing the Connectivity
117 Necessary SwitchRouter Configuration

[APP] Network Application #1 – Reading Writing Device Configuration via SSH
118 Planning the Application
119 Notebook – Checking UsernamePassword File Validity
120 Checking Command File Validity
121 Notebook – Checking Command File Validity
122 Establishing the SSH Connection
123 Notebook – Establishing the SSH Connection
124 Enabling Simultaneous SSH Connections
125 Notebook – Enabling Simultaneous SSH Connections
126 Putting Everything Together
127 Download the Full Code – Network Application and Modules
128 Reading Device Configuration
129 Logical Flow Diagram
130 Extracting Network Parameters
131 Configuring Multiple Devices Simultaneously
132 Checking IP File Validity
133 Notebook – Checking IP File Validity
134 Checking IP Address Validity
135 Notebook – Checking IP Address Validity
136 Checking IP Address Reachability
137 Notebook – Checking IP Address Reachability
138 Checking UsernamePassword File Validity

[APP] Network Application #2 – Building an Interactive Subnet Calculator
139 What Are We Going to Build
140 Random IP Address Generation Algorithm
141 Notebook – Random IP Address Generation Algorithm
142 Testing the Application
143 Download the Full Application Code
144 Planning the Application
145 Logical Flow Diagram
146 Checking IP Address and Subnet Mask Validity
147 Notebook – Checking IP Address and Subnet Mask Validity
148 Converting to Binary. Calculate Hosts per Subnet. Wildcard Masks
149 Notebook – Converting to Binary. Calculate Hosts per Subnet. Wildcard Masks
150 Converting to Binary. Find the Network and Broadcast Addresses
151 Notebook – Converting to Binary. Find the Network and Broadcast Addresses

[APP] Network Application #3 – Extracting Network Parameters & Building Graphs
152 Planning the Application
153 Notebook – Matplotlib – Building the Switch CPU Utilization Graph
154 Testing the Application
155 Download the Full Code – Network Application, Graph Building Script and Modules
156 Logical Flow Diagram
157 Connecting to the Network Device via SSH
158 Notebook – Configuring the Arista Switch for SSH Connectivity
159 Extracting the CPU Utilization Value and Saving It to a Text File
160 Notebook – Extracting the CPU Utilization Value and Saving It to a Text File
161 Polling the Switch Every 10 Seconds
162 Notebook – Polling the Switch Every 10 Seconds
163 Matplotlib – Building the Switch CPU Utilization Graph

[APP] Network Application #4 – Building a Basic Network Packet Sniffer
164 Planning the Application
165 Notebook – Importing the Necessary Modules
166 Asking the User for Input Interface, Number of Packets, Interval, Protocol
167 Notebook – Asking the User for Input
168 Extracting Parameters from Packets and Writing to a Log File
169 Notebook – Extracting Parameters from Packets and Writing to a Log File
170 Testing the Application – Running the Sniffer and Filtering Packets by Protocol
171 Notebook – Running the Sniffer
172 Download the Full Application Code
173 Logical Flow Diagram
174 Setting Up a Linux VM in VirtualBox
175 Notebook – Downloading the Linux VM
176 Configuring the Linux VM
177 Notebook – Configuring the Linux VM – Make Sure You Follow These Steps
178 Meeting Scapy
179 Notebook – Meeting Scapy
180 Importing the Necessary Modules

[APP] Network Application #5 – Config File Management and E-mail Notifications
181 Planning the Application
182 Sending E-mails to the Network Admin with Device Configuration Changes
183 Notebook – Sending E-mails to the Network Admin
184 Creating a Schedule for Sending E-mails on a Daily Basis in Linux
185 Notebook – Creating a Schedule for Sending E-mails
186 Testing the Application
187 Download the Full Application Code
188 Logical Flow Diagram
189 Importing the Modules and Defining the Necessary Parameters
190 Notebook – Installing Necessary Modules and Official Documentation
191 Notebook – Importing the Modules and Defining the Necessary Parameters
192 Connecting to the Arista Switch via SSH using Netmiko
193 Notebook – Connecting to the Arista Switch via SSH Using Netmiko
194 Handling the Configuration Files and Extracting the Configuration Changes
195 Notebook – Extracting the Configuration Changes

[BONUS] Running Python Code via Remote Servers
196 Running CLI Commands via a Remote Server
197 Running a Local Python Script via a Remote Server
198 Running a Remote Python Script via a Remote Server
199 Notebook – Running Python Code via Remote Servers

Final Section – Get Your Certificate and Let’s Connect on Social Media!
200 Final Thoughts
201 How to Get Your Certificate of Course Completion
202 Bonus Lecture