4.64 out of 5
4015 reviews on Udemy

Python 3 Network Programming – Build 5 Network Applications

Learn Python 3 from scratch! Build your own network scripts and upgrade your Network Engineering skills! Updated 2020.
Mihai Catalin Teodosiu, Python Developer
25,394 students enrolled
English [Auto] More
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.

Why would you take this course?

Hi! My name is Mihai. I’ve been a Network Engineer since 2008, having the privilege of working for 3 major corporations and configuring, maintaining and testing multi-vendor network environments. At the same time, I managed to obtain several well-known certifications, such as CCNA, CCDA, JNCIA and CCNP, which complemented the skills I was getting from my job and increased the number of job offers I was receiving to my LinkedIn inbox.

But the thing that simply jumpstarted my career was learning the Python programming language and implementing it in some of my daily tasks and processes. I’ve been a self-taught guy for most of my adult life and, since I lacked the time to read endless, boring programming books, I chose to learn by watching video tutorials and “getting my hands dirty” with code. Unfortunately, at that time I was unable to find a complete, coherent programming course for network engineers, so I had to put together various pieces of information scattered across Google and YouTube.

Almost two years later, after I had the chance to practice my new Python skills intensively, performing various tasks on network devices and automating hundreds of network tests, I decided to create this course for you – the network professional who knows that getting a certification just isn’t enough anymore in today’s job market. The ability to write scripts and automate certain tasks is one of the primary skills that the big employers are looking for.

This course simply enables you to save time and efforts whilst acquiring these in-demand skills and upgrading your career.

Join thousands of successful network engineers who have decided to learn Python using this 100% hands-on course! 

Without further ado, I’ll let you read more about the contents of the course down below and I’ll hopefully see you in the first lecture.

10+ hours of Python 3 content designed for Network Engineers

I am updating the course frequently with new videos and code

I am answering all your questions, usually in less than 24 hours

Full Python 3 applications, quizzes and notebooks are included

Downloadable Python 3 cheat sheet and 200+ pages PDF e-book are included

Udemy Bestselling Instructor with over 3000 ⭐⭐⭐⭐⭐ reviews

Over 70.000 satisfied students across several e-learning platforms

Certificate of Completion is Included

“Have finished 35% of the course, so far it’s the best  Python-for-network-engineer course I have ever attended, fundamental  topics are well demonstrated and explained, I strongly recommend this  course to any network engineers who want to master Python in a relatively short period of time.” by Parry Wang

What others have to say about my Python courses?

Before you read what I have to say, see what my students are saying about my courses:

“What an incredible value and learning experience!” by Sean A.

“Excellent material. Kudos to a great instructor with a vast level of creativity.” by Anthony W.

“I can say this man is going on smoothly and perfectly, explaining in the most empirical/foundational way.” by Kolapo A.


What’s this course all about?

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.

During this course you will learn Python concepts which are relevant to your networking job and build some amazing network tools:

  • Introduction – What’s This Course All About?

  • Python 3 – Basics

  • Python 3 – Strings

  • Python 3 – Numbers and Booleans

  • Python 3 – Lists

  • Python 3 – Sets

  • Python 3 – Tuples

  • Python 3 – Ranges

  • Python 3 – Dictionaries

  • Python 3 – Conditionals, Loops and Exceptions

  • Python 3 – Functions and Modules

  • Python 3 – File Operations

  • Python 3 – Regular Expressions

  • Python 3 – Classes and Objects

  • Python 3 – Advanced Concepts and Tools

  • Python 3 – Download the Cheat Sheet

  • Python 3 – Download the E-Book

  • Setting Up the Working Environment

  • Network Application #1 – Reading / Writing Device Configuration via SSH

  • Network Application #2 – Building an Interactive Subnet Calculator

  • Network Application #3 – Extracting Network Parameters & Building Graphs

  • Network Application #4 – Building a Basic Network Packet Sniffer

  • Network Application #5 – Config File Management and E-mail Notifications

  • [BONUS] Running Python Code via Remote Servers

  • Final Section – Get Your Certificate and Let’s Connect on Social Media!


Sounds unbelievable given your current programming experience? Well, it’s true! How?

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.


Is this course regularly updated?

  • Update: Jan 15th, 2020 – 5 new videos on Regular Expressions

  • Update: July 29th, 2019 – 3 new videos answering some FAQs in the Q&A area

  • Update: June 12th, 2019 – 2 new videos; small fixes and updates

  • Update: May 17th, 2019 – Updated the Python 3 Cheat Sheet PDF and course FAQ

  • Update: February 11th, 2019 – Running Python Code via Remote Servers

  • Major Update: December 12th, 2018 – Re-filmed the network apps part of the course, upgrading to Python 3 and optimizing the code.

  • Major Update: November 8th, 2018 – Re-filmed the first 10 sections of the course, upgraded to Python 3 and improved the video quality to 1080p Full HD.

  • Course Launch: May 19th, 2015


What others have to say about this course?

“I have been programming since 1978 and wanted to learn python. I have had no java or OOP experience, and I tried several ‘paper’ tutorials but got little out of them. The first part of this course is a steady walk through the Python language at just the right speed. The instructor seems to touch all the basis in a logical and methodical way while providing examples and explanations. I can only conclude the instructor is a professional educator who spent considerable time structuring and organizing the course. The result is evident. THIS IS A GREAT WAY TO LEARN PYTHON!” by Larry Laswell

“I’ve tried learning from the books & multiple videos – most were too basic to make a practical app. Some books were too thick and made me sleep. But still none of the materials had the perfect balance like this course where all the basics were covered, instructions were concise, and Mihai walks you through how to create 7 practical apps step by step. I’ve also tried reading some advanced python book which didn’t make sense because it was too advanced. Let me tell you, this is hands down “that course that takes you up to beyond the basics” to bridge you to the advance topics. Right now I’m hitting the advanced topics and it finally makes sense…” by Joon Park

“Usually I’m not doing courses review but this time I will make an exception. During time I took a lot of trainings but very few provided by Udemy proved as having the right approach in teaching the audience. I will mark this one as being one of my personal top three best trainings as content’s quality, technical explanations, and additional learning materials perspective. Long story short this course is a very simple, straight forward way of learning Python for managing IT networks.” by Johnny Stanescu

“This is a great course for network engineers who would like to start automating their tasks. Geared towards beginners, this course teaches the fundamentals of programming and applying those concepts to networking. There is a lot of fluff about python on the internet, however the instructor managed to put together the necessary information to start automating the network. A working knowledge of TCP/IP is needed to get the most out of this course. Should you understand every lecture, you will be ready to start writing your own scripts according to your needs. In particular, I loved the use of scapy, an amazing tool which should be in the arsenal of anyone working with TCP/IP.” by Costin-Alin Neacsu

“I’ve seen the blueprint and some demo videos and I was convinced right away. Without a doubt, it’s one of the best trainings a network engineer can have. It gives you actual valuable and marketable skills that you can use in your daily job. Mihai explains the topics really well, with practical examples making it a fun way to learn. Highly recommended.” by Vlad Vlaicu


Important information before you enroll!

  • In case you find the course useless for your career, don’t forget you are covered by a 30-day money back guarantee, full refund, no questions asked.

  • Once enrolled, you have unlimited, 24/7, lifetime access to the course (unless you choose to drop the course during the first 30 days).

  • You will have instant and free access to any updates I’ll add to the course – video lectures, additional resources, exercises or new code.

  • You will benefit from my full support regarding any question you might have and your course colleagues will help you, as well. This is not just a programming course, it’s an amazing learning community!

  • Check out the promo video at the top of this page and some of the free preview videos in the curriculum to get a taste of my teaching style and methods before making your decision!

“I would firstly thank you for making this course . Secondly, i did like the approach. You understand the mindset of the beginner. I would recommend this course for all those who want to consider using Python for network automation.” by Pramod Ramu

Enroll NOW and hop on the Python 3 Network Programming train. Let’s get started!

Introduction - What's This Course All About?

What Will You Learn? What Benefits You Get From Taking This Course?
Just starting out in programming? Read this!
Quick Introductory Note
Watching the Course at the Best Resolution Possible
How to Ask Good Questions on Udemy
Getting an Enhanced Learning Experience
Course FAQ

[Python 101] Python 3 - Basics

How to Install Python 3 on Windows
How to Install Python 3 on macOS
UPDATE! Python Versions
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
User Input - Quiz
Python 3 Basics - Variables
Notebook - Variables
Python 3 Basics - Keywords
Python 3 - Data Types
Python 3 Basics - Quiz

[Python 101] 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
Strings - Quiz

[Python 101] Python 3 - Numbers and Booleans

Python 3 Numbers - Math Operators
Notebook - Numbers and Math Operators
Numbers - Quiz
Python 3 Booleans - Logical Operators
Notebook - Booleans and Logical Operators
Booleans - Quiz

[Python 101] Python 3 - Lists

Python 3 Lists - Introduction
Python 3 Lists - Methods
Python 3 Lists - Slices
Notebook - Lists
Lists - Quiz

[Python 101] Python 3 - Sets

Python 3 Sets - Introduction
Python 3 Sets - Methods
Python 3 Sets - Frozensets
Notebook - Sets and Frozensets
Sets - Quiz

[Python 101] Python 3 - Tuples

Python 3 Tuples - Introduction
Python 3 Tuples - Tuples vs. Lists
Python 3 Tuples - Methods
Notebook - Tuples
Tuples - Quiz

[Python 101] Python 3 - Ranges

Python 3 Ranges - Introduction
Python 3 Ranges - Methods
Notebook - Ranges
Ranges - Quiz

[Python 101] Python 3 - Dictionaries

Python 3 Dictionaries - Introduction
Python 3 Dictionaries - Methods
Python 3 - Conversions Between Data Types
Notebook - Dictionaries and Conversions Between Data Types
Dictionaries - Quiz

[Python 101] 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
Conditionals and Loops - Quiz

[Python 101] 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
Functions - Quiz

[Python 101] Python 3 - File Operations

Python 3 Files - Opening & Reading
You can view and review the lecture materials indefinitely, like an on-demand channel.
Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don't have an internet connection, some instructors also let their students download course lectures. That's up to the instructor though, so make sure you get on their good side!
4.6 out of 5
4015 Ratings

Detailed Rating

Stars 5
Stars 4
Stars 3
Stars 2
Stars 1


11 hours on-demand video
89 articles
Full lifetime access
Access on mobile and TV
Certificate of Completion