Autoplay
Autocomplete
Previous Lesson
Complete and Continue
Python 3 Network Programming - Build 5 Network Applications
Python 3 - Basics
Welcome! Glad to have you on board!
Just starting out in programming? Read this!
How to Install Python 3 in Windows
How to Install Python 3 in macOS
UPDATE! Python Versions
Installing Python 3 on Windows, Linux and MacOS
The Python Interpreter & IDLE in Windows
The Python Interpreter & IDLE in macOS
Python 3 Basics - Scripts in Windows
UPDATE! Saving a Python script in Notepad++
Python 3 Basics - Scripts in macOS
Python 3 - Reasons for the 'No such file or directory' error (or similar)
Python 3 Basics - User Input
Notebook - User Input
Python 3 Basics - Variables
Notebook - Variables
Python 3 Basics - Keywords
Python 3 - Data Types
Python 3 - Strings
Why learn all the Python topics below before building the network apps?
Python 3 Strings - Introduction
Python 3 Strings - Methods
Python 3 Strings - Operators & Formatting
Python 3 Strings - Formatting Using F-strings
Python 3 Strings - Slices
Python 3 Strings - Slicing Using a Step
Notebook - Strings
Python 3 - Numbers and Booleans
Python 3 Numbers - Math Operators
Notebook - Numbers and Math Operators
Python 3 Booleans - Logical Operators
Notebook - Booleans and Logical Operators
Python 3 - Lists
Python 3 Lists - Introduction
Python 3 Lists - Methods
Python 3 Lists - Slices
Notebook - Lists
Python 3 - Sets
Python 3 Sets - Introduction
Python 3 Sets - Methods
Python 3 Sets - Frozensets
Notebook - Sets and Frozensets
Python 3 - Tuples
Python 3 Tuples - Introduction
Python 3 Tuples - Tuples vs. Lists
Python 3 Tuples - Methods
Notebook - Tuples
Python 3 - Ranges
Python 3 Ranges - Introduction
Python 3 Ranges - Methods
Notebook - Ranges
Python 3 - Dictionaries
Python 3 Dictionaries - Introduction
Python 3 Dictionaries - Methods
Python 3 - Conversions Between Data Types
Notebook - Dictionaries and Conversions Between Data Types
Python 3 - Conditionals, Loops and Exceptions
Python 3 Conditionals - If / Elif / Else
Notebook - If / Elif / Else Conditionals
Python 3 Loops - For / For-Else
Notebook - For / For-Else Loops
Python 3 Loops - While / While-Else
Notebook - While / While-Else Loops
Python 3 Nesting - If / For / While
Notebook - Nesting
Python 3 - Break / Continue / Pass
Notebook - Break / Continue / Pass
Python 3 - Exceptions
Python 3 - Try / Except / Else / Finally
Notebook - Try / Except / Else / Finally
Python 3 - Functions and Modules
Python 3 Functions - Basics
Python 3 Functions - Arguments
Notebook - Functions - Basics
Python 3 Functions - Namespaces
Python 3 Modules - Importing
Python 3 Modules - Helpful Functions: dir() and help()
Notebook - Modules and Importing
Python 3 Modules - Installing a Non-Default Module in Windows
Python 3 Modules - Installing a Non-Default Module in macOS
Python 3 - File Operations
Python 3 Files - Opening & Reading
Python 3 Files - Quick Note for Windows Users
Python 3 Files - Additional Way of Avoiding the Unicode Error
Python 3 Files - Writing & Appending
Python 3 Files - Closing. The "with" Method
Python 3 Files - Access Modes Summary
Notebook - File Operations
Python 3 - Regular Expressions
Python 3 Regex - match() & search()
Python 3 Regex - findall() & sub()
Python 3 Regex - Regular Expressions Summary
Notebook - Regular Expressions
Bonus Video: Special Sequences
Bonus Video: Sets of Characters
Bonus Video: OR in Regular Expressions
Bonus Video: split() & subn()
Bonus Video: Additional Regex Syntax Elements
Bonus Video: AttributeError: 'NoneType' object has no attribute
Python 3 - Classes and Objects
Python 3 Classes - Objects
Python 3 Classes - Inheritance
Notebook - Classes and Objects
Python 3 - Other Advanced Concepts
Python 3 - List / Set / Dictionary Comprehensions
Notebook - List / Set / Dictionary Comprehensions
Python 3 - Lambda Functions
Notebook - Lambda Functions
Python 3 - map() and filter()
Notebook - map() and filter()
Python 3 - Iterators and Generators
Notebook - Iterators and Generators
Python 3 - Itertools
Notebook - Itertools
Python 3 - Decorators
Notebook - Decorators
Python 3 - Threading Basics
Notebook - Threading Basics
Python 3 - Coding Best Practices
Python 3 - Download the Cheat Sheet
Download the Python 3 Cheat Sheet
Python 3 - Download the E-Book
Download the Python 3 E-Book
Setting Up the Working Environment
Network Setup Overview
Installing the Virtualization Software
Installing the Virtualization Software on Windows, Linux, MacOS
Downloading & Installing the Network Device VM
Note about Arista vEOS versions
Signing Up to the Arista Software Download Portal
Importing the VM & Tweaking the VM Settings
UPDATE! vEOS First Boot and the ZeroTouch Feature
Connecting the Local PC to the Devices in Windows
Connecting the Local PC to the Devices in macOS
Necessary Switch/Router Configuration
Checking the SSH Configuration and Testing the Connectivity
UPDATE! Putty asking for Host Key / Password
Any Connection Issues? Check Out This Troubleshooting Checklist!
Network Application #1 - Reading / Writing Device Configuration via SSH
Planning the Application
Checking IP File Validity
Logical Flow Diagram
Notebook - Checking IP File Validity
Checking IP Address Validity
Notebook - Checking IP Address Validity
Checking IP Address Reachability
Notebook - Checking IP Address Reachability
Note about pinging in Windows vs. Mac OS / Linux
Checking Username/Password File Validity
Notebook - Checking Username/Password File Validity
Checking Command File Validity
Notebook - Checking Command File Validity
Establishing the SSH Connection
Notebook - Establishing the SSH Connection
Enabling Simultaneous SSH Connections
Notebook - Enabling Simultaneous SSH Connections
Putting Everything Together
Download the Code - Network Application and Modules
Reading Device Configuration
Extracting Network Parameters
Configuring Multiple Devices Simultaneously
Network Application #2 - Building an Interactive Subnet Calculator
What Are We Going to Build?
Planning the Application
Logical Flow Diagram
Checking IP Address and Subnet Mask Validity
Notebook - Checking IP Address and Subnet Mask Validity
Converting to Binary. Calculate Hosts per Subnet. Wildcard Masks
Notebook - Converting to Binary. Calculate Hosts per Subnet. Wildcard Masks
Converting to Binary. Find the Network and Broadcast Addresses
Notebook - Converting to Binary. Find the Network and Broadcast Addresses
Random IP Address Generation Algorithm
Notebook - Random IP Address Generation Algorithm
Testing the Application
Download the Full Application Code
Network Application #3 - Extracting Network Parameters & Building Graphs
Planning the Application
Logical Flow Diagram
Connecting to the Network Device via SSH
Notebook - Configuring the Arista Switch for SSH Connectivity
Extracting the CPU Utilization Value and Saving It to a Text File
Notebook - Extracting the CPU Utilization Value and Saving It to a Text File
Polling the Switch Every 10 Seconds
Notebook - Polling the Switch Every 10 Seconds
Matplotlib - Building the Switch CPU Utilization Graph
Notebook - Matplotlib - Building the Switch CPU Utilization Graph
Testing the Application
Download the Full Code - Network Application, Graph Building Script and Modules
Network Application #4 - Building a Basic Network Packet Sniffer
Planning the Application
Logical Flow Diagram
Setting Up a Linux VM in VirtualBox
Notebook - Downloading the Linux VM
Configuring the Linux VM
Notebook - Configuring the Linux VM - Make Sure You Follow These Steps
Meeting Scapy
Notebook - Meeting Scapy
Importing the Necessary Modules
Notebook - Importing the Necessary Modules
Asking the User for Input: Interface, Number of Packets, Interval, Protocol
Notebook - Asking the User for Input
Extracting Parameters from Packets and Writing to a Log File
Notebook - Extracting Parameters from Packets and Writing to a Log File
Testing the Application - Running the Sniffer and Filtering Packets by Protocol
Notebook - Running the Sniffer
Download the Full Application Code
Network Application #5 - Config File Management and E-mail Notifications
Planning the Application
Logical Flow Diagram
Importing the Modules and Defining the Necessary Parameters
Notebook - Installing Necessary Modules and Official Documentation
Notebook - Importing the Modules and Defining the Necessary Parameters
Connecting to the Arista Switch via SSH using Netmiko
Notebook - Connecting to the Arista Switch via SSH Using Netmiko
Handling the Configuration Files and Extracting the Configuration Changes
Notebook - Extracting the Configuration Changes
Sending E-mails to the Network Admin with Device Configuration Changes
Notebook - Sending E-mails to the Network Admin
Creating a Schedule for Sending E-mails on a Daily Basis in Linux
Notebook - Creating a Schedule for Sending E-mails
Testing the Application
Download the Full Application Code
[BONUS] Running Python Code via Remote Servers
Running CLI Commands via a Remote Server
Running a Local Python Script via a Remote Server
Running a Remote Python Script via a Remote Server
Notebook - Running Python Code via Remote Servers
Final Section
Bonus Lecture
Polling the Switch Every 10 Seconds
Lesson content locked
If you're already enrolled,
you'll need to login
.
Enroll in Course to Unlock