405456 f655 8

Python Network Programming - Part 1: Build 7 Python Apps

Learn to Write Powerful Code by Building Apps from Scratch

   Watch Promo

Over 15000 satisfied students have enrolled in this highly-rated Python courses across the Web. Why? This course will teach you essential Python concepts that are extremely relevant in any tech career, not to mention perfect for building amazing network tools. Follow along with the below hands-on projects, and you’ll solidify the concepts and skills to confidently code with Python.

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

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. 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 7 great network tools. Equipped with working files, network topologies and Python code samples (in .pdf 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.

  • Learn & practice every Python key concept w/ 12 hours & 103 lectures
  • Follow each lesson w/ a short quiz that helps consolidate the main ideas
  • Dive right into real-life network scenarios & apply your knowledge to build 7 great network tools
  • Utilize the provided virtual machine w/ all Python modules installed & full source code included

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.

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'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

"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

"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

Your 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!

Class 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're committed to providing the best online learning experience on the Web! If you experience an issue, contact us within 7 days and we'll be happy to help.

Get started now!