8lbyetsmqlygqv4ar7xm

Python Network Programming - Part 1: Build 7 Python Apps

   Watch Promo   Enroll in Course

14 Hours of Training

Learn Python From Scratch! Go from zero programming to building great network apps with Python. Full Python Apps Inside!


* Course Went Live: May 2015. Last Update: December 2016 *

* Full Apps, Quizzes, Coding Exercises and Final Project are included *


Do you want to become a Python Developer without having to spend a lot of money on books and boring theoretical courses?

Are you a network professional who wants to start automating network tasks?

Or maybe you're seeking a raise or even a career change?

Join thousands of successful students who have decided to learn Python, upgrade their networking skills and boost their careers using this 100% hands-on course!

"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



  • Thousands of satisfied students are enrolled in my Python Network Programming Courses across the Web
  • Last week over 300 students have joined my courses
  • The average rating is above 4.5 / 5 from hundreds of reviews

Save Time and Money by Writing Your Own Python Programs to Automate Daily Network Tasks. Bonus, You Might Even Get a Raise or a Better Job with These New Skills!

Python (2.7.3) programming course aimed not only at network professionals, but at anyone having little or no experience in coding and a great desire to start learning Python from scratch. This hands-on training takes you from "Hello World!" to complex network applications in less than 15 hours.

"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 5 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


"As always for learning programming language I would always recommend going through a well rated tutorial video lecture series than going through a 1000 page text. A well designed course can impart knowledge at a much faster rate and with less effort from the listener. Of course the course has to fantastically designed. And this course is just that, that lectures are easy to comprehend, the concepts are thoroughly learnt using simple & effective examples. So I highly recommend this course." by Musarrat Rahman

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

Python App#1: Subnet calculator.
Python App#2: Configuring multiple devices concurrently via SSH and Telnet.
Python App#3: DHCP client simulator for testing a DHCP server.
Python App#4: Collecting information from routers and storing it in a MySQL database.
Python App#5: OSPF network discovery via SNMP. Building the OSPF topology.
Python App#6: Basic network sniffer.
Python App#7: Configuration file comparator.

"I've been doing many Python courses, but till now this is the best by far. Very self paced, Mihai explains each step in a very simple manner that any beginner could understand. The courses approach for me is the best. Very oriented to real application development. Very good, would recommend to anyone beginning in python." by Felipe


Update May 1, 2016: Massive course refresh. Improved Linux VM. New content. New sections. Python 3.x section added. Other fixes based on student feedback. The "Python2 vs. 3" Debate: FAQ (Added: Aug 27, 2016). Update Oct 12, 2016: Added: Video lecture: Asking For Help.

Update Dec 17, 2015: Added: 3 new quizzes in the "Bonus Python Tools & Resources" section | FAQ lecture in Section 1

Update Dec 4, 2015: Added: Video lecture: Web Access Basics with Python: requests

Update Nov 1, 2015: Added: Video lectures: Sockets: Server and Sockets: Client | Text and Code Samples: Socket Server Code and Socket Client Code, both in text and .py formats.

Update Oct 27, 2015: Quick Insight To Get You Warmed Up!

Update Oct 19, 2015: Added: Text lecture for troubleshooting VirtualBox and GNS3 | Text lecture: Let's Stay In Touch!

Update Sep 24, 2015: Added: Application #7 - Configuration file comparator

Update Sep 23, 2015: Added: Application #6 - Basic network sniffer

Update Sep 18, 2015: Added: Video lecture: Decorators

Update Sep 2, 2015: Added: Video lecture: Itertools

Update Aug 7, 2015: Added: VirtualBox and Virtual Machines - Short Guide

Update Aug 1, 2015: Added: Video lecture: Python Iterators and Generators | Document: Running a VirtualBox VM within GNS3 v1.X

Update July 29, 2015: Added: Flow diagram for each application | Video lecture: How To Install a New Python Module | New quizzes.

Update July 29, 2015: Added: Project for building a small Python network application

Update July 29, 2015: Added two documents with 100 Python exercises and answers.

"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


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

First, you will learn and practice every Python 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.

"I find this course very useful for beginners in programming or for those who especially want to learn Python/networking. I think a new language is learned more practicing, and this course has many practical examples with clear explanations." by Mihaela Dvornic

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

"There is no major prerequisite and the material is hand-on from the go. Besides new lectures are being uploaded in response to suggestions and discussions." by Zafar Iqbal

Equipped with working files, network topologies and Python code samples ( in .txt and .py formats), you will be able to work alongside me on each lecture and each application. I will provide a virtual machine with all the Python modules already installed and also the full code for each application, so you can save time and start coding and testing on the spot.

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

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

"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:

- Once enrolled, you have unlimited, LIFETIME ACCESS to the course!

- You will have instant and FREE ACCESS to any updates I'll add to the course.

- You will have my FULL SUPPORT regarding any issues or suggestions related to the course.

- Check out the curriculum and FREE PREVIEW lectures for a quick insight.

"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


Enroll now and hop on the Python network programming train. Let's get started!


What am I going to get out of this course?

  • Over 137 lectures and 15 hours of content!
  • Master all the Python key concepts starting from scratch.
  • Use Python for connecting via Telnet to any network device.
  • Use Python for connecting via SSH to any network device.
  • Use Python for querying SNMP objects on any network device.
  • Use Python for querying, populating and updating a MySQL database.
  • Use Python for capturing, decoding and analyzing network packets.
  • Use Python for building customized network packets and send them to a network device.
  • Apply Python skills to build various tools for network interaction. Basic Linux skills are preferred.
  • Create Python apps to automate daily networking tasks like configuring devices, collecting information about the network, network discovery or testing by client simulations.
  • Get the full code of 7 great Python network applications and customize them according to your needs.
  • Learn how to easily convert Python 2.x code to Python 3.x in Windows and Linux.
  • Regular course updates: new lectures, applications and documents.
  • Ask for a raise or apply for a better job using the skills gained from this course.


Note: You need to find yourself a Cisco IOS image (from Cisco's official website - contract required) to load into GNS3 or practice all the concepts on real network devices you have at your job/home.


"I find this course very useful for beginners in programming or for those who especially want to learn Python/networking. I think a new language is learned more practicing, and this course has many practical examples with clear explanations."

- Mihaela Dvornic

"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."

- Costin-Alin Neacsu

Your GNS3 Academy Instructor


Mihai Catalin Teodosiu
Mihai Catalin Teodosiu

Hi! My name is Mihai. I have a degree in Telecommunications and Information Technology from University Politehnica of Bucharest, Romania and also the CCNP, CCNA, CCDA, JNCIA and ISTQB CTFL certifications.


I worked as a Network Quality Assurance Engineer since 2010, testing the OS for Nortel/Avaya L3 switches.

# 6+ years experience in the Networking and Testing/Quality Assurance industries.

# Certified professional: Cisco, Juniper and International Software Testing Qualifications Board certifications.

# Teaching courses on Udemy, GNS3 Academy and other e-learning platforms.

# Thousands of satisfied students, 4.5 / 5 average course rating.

# Thousands of followers on LinkedIn, Twitter, Facebook and Blogger.


See what my students are saying about the kind of courses I created:

"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.


In early 2014 I decided to start learning a programming language that can make my daily work easier and also boost my networking career. This is when I discovered that Python, being a great language for beginners, can help me write some scripts that connect to network devices and perform various tasks I was doing manually, thus saving a lot of time. Also, working as a tester, I used Python to automate a lot of network tests, about 250, in a short period of time, again reducing my workload.

For all the above reasons and because there is a lot of Python material out there on the Internet that may seem discouraging for you as a beginner, I decided to build courses that take you from zero programming knowledge to advanced topics, all in a hands-on fashion.


In March 2015 I started working on my first course, "Python Network Programming - Part 1: Build 7 Python Apps", without really knowing what is online education all about and with no prior teaching experience, either online or offline. I just wanted to try it for some reason, despite a lot of mental obstacles, a full time job and zero experience in teaching people.

I worked a lot on this first course, with countless hours of researching, recording and editing, but there was something that kept me going further. In May 2015 my course was approved by Udemy and was an instant success, despite my low expectations. Gradually, the course became a bestseller on other e-learning platforms, as well. One example I'm very proud of is the GNS3 Academy.

In April 2016, I finished working on Part 2 of the Python Network Programming series, called "Multivendor Environment", after about three months of researching, testing, summarizing, simplifying, recording, editing and structuring the course content.

Finally, in September 2016, I released Part 3 of this amazing course series, called "Python Network Programming - Part 3: Scapy & Security Tools", which in my opinion is very interesting and exciting for anyone wanting to enter the world of network security in a 100% hands-on fashion.

I am really putting a lot of energy and effort into each of my courses and I am always trying (and succeeding) to pay special attention to the smallest details and provide a lot of value to my students.

I really think my courses will get better and better, both by learning from my mistakes and carefully listening to the feedback I get from my students.


So, check out my courses and stay tuned for more!


GNS3 Academy Curriculum


  S9: Python Classes (Object-Oriented Programming) Basics
Available in days
days after you enroll
  S18: Application #6 - Basic Network Sniffer
Available in days
days after you enroll
  S19: Application #7 - Configuration File Comparator
Available in days
days after you enroll

Frequently Asked Questions


When does the course start and finish?
The course starts now and never ends! It is a completely self-paced online course - you decide when you start and when you finish.
How long do I have access to the course?
How does lifetime access sound? After enrolling, you have unlimited access to this course for as long as you like - across any and all devices you own.
What if I am unhappy with the course?
We would never want you to be unhappy! If you are unsatisfied with your purchase, contact us in the first 30 days and we will give you a full refund.
Is this a theoretical course or will I work with Python code to manage network devices?
During this course you will learn Python concepts which are relevant to your networking job and build some amazing network tools: Python App#1: Subnet calculator. Python App#2: Configuring multiple network devices concurrently via SSH or Telnet. Python App#3: DHCP client simulator for testing a DHCP server in the local network. Python App#4: Collecting information from routers and storing it in a MySQL database. Python App#5: OSPF network discovery via SNMP. Building the OSPF topology. Python App#6: Basic network sniffer. Python App#7: Configuration file comparator.
Will I get the full code for each network application in the course?

Yes. Both in .txt and .py formats.

Will I have free access to any future updates to the course?

You will have instant and free access to any updates I'll add to the course.

Do I have to install Linux, Python, MySQL and all the necessary modules before starting the course?

No. I will provide you with a link from where you can download a virtual machine with all of them included and ready to be imported into VirtualBox. Also, I will provide all the VirtualBox installation, configuration, GNS3 integration and troubleshooting info in Section 2 of the course.

Get started now!