Python Network Programming - Part 1: Build 7 Python Apps

Learn Python From Scratch! Go from zero programming to building great network apps with Python. Full Python Apps Inside!
4.4 (726 ratings) Instead of using a simple lifetime average, Udemy calculates a
course's star rating by considering a number of different factors
such as the number of ratings, the age of ratings, and the
likelihood of fraudulent ratings.
8,495 students enrolled
$19
$50
62% off
Take This Course
  • Lectures 158
  • Length 13.5 hours
  • Skill Level All Levels
  • Languages English
  • Includes Lifetime access
    30 day money back guarantee!
    Available on iOS and Android
    Certificate of Completion
Wishlisted Wishlist

How taking a course works

Discover

Find online courses made by experts from around the world.

Learn

Take your courses with you and learn anywhere, anytime.

Master

Learn and practice real-world skills and achieve your goals.

About This Course

Published 5/2015 English

Course Description

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

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


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.

---

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 using Python?

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 Python courses
  • The average rating is above 4.5 / 5


"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

---

Update Oct 12, 2016: Added: Video lecture: Asking For Help

Update Aug 27, 2016: Added: The "Python 2 vs. 3" Debate: FAQ

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.

Update Dec 4, 2015: Added: Video lecture: Web Access Basics with Python: requests | FAQ lecture in Section 1

Update Nov 2, 2015: Added: Video lectures: Sockets: Server and Sockets: Client | Text and Code Samples: Socket Server Code and Socket Client Code

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

Update Oct 19, 2015: Added: Text lecture for troubleshooting VirtualBox and GNS3

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

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

Update June 16, 2015: Added: Project for building a small Python network application | Video lecture to answer a student question | Video lecture to show how can students interact with me.

Update June 10, 2015: Added: 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

---

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!


"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


Python network programming (v2.7.3) 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 complex network applications in less than 15 hours.


"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 network tools using Python:

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


"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

---

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.

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 using the power of Python.

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


"The course is a real good blend of python programming basics and application of it in the world of networks. The instructor has designed and explained each lecture to a very fine and basic level that would easily be understood by a beginner. I would recommend this course for network engineers to further build their skills in the world of computer networks." by Akul Kapoor


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 Python code. 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 encourage you to learn Python, an amazingly beginner-friendly programming language and take your (networking) job to a higher level of automation.


"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

---

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, lifetime access to the course!
  • You will have instant and free access to any updates I'll add to the course.
  • I will give you my full support regarding any issues or suggestions related to the course.
  • Check out the curriculum and FREE PREVIEW lectures for a quick insight.


"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

---


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

What are the requirements?

  • You should have a great desire to learn programming and do it in a hands-on fashion, without having to watch countless lectures filled with slides and theory.
  • You should already be familiar with networking concepts like: Routing, SSH, Telnet, SNMP.
  • I will provide a fully configured virtual machine with all the necessary software (Python modules, MySQL, IDE). This way you can save time and start writing code as soon as possible.
  • I am going to use only free software throughout the course: Python 2.7, Linux, GNS3.
  • 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.
  • All you need is a decent PC/Laptop (2GHz CPU, 4GB RAM). You will get the rest from me.

What am I going to get from this course?

  • 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.
  • 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.
  • 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.
  • Learn how to easily convert Python 2.x code to Python 3.x in Windows and Linux.

What is the target audience?

  • Anyone who wants to make the right choice when starting to learn programming
  • Network Administrators, Network (Systems) Engineers, Network (Service) Technicians, Network Analysts, Network Managers
  • Junior Programmers, Test Engineers, Test Automation Engineers, QA Engineers and Analysts
  • Python Developers who want to apply their knowledge in the networking field
  • Any kind of IT geeks who wish to learn both Python programming and network automation.

What you get with this course?

Not for you? No problem.
30 day money back guarantee.

Forever yours.
Lifetime access.

Learn on the go.
Desktop, iOS and Android.

Get rewarded.
Certificate of completion.

Curriculum

Section 1: Getting started with this course
01:52

Brief introduction to the Python programming language.

01:54

Brief overview of what we're going to cover throughout this course.

02:33

Watch this lecture to see how is this Python Network Programming course organized.

Article

Very important information if you want to get the most out of this Python Network Programming course.

The “Python 2 vs. 3” Debate: FAQ
Article
Section 2: Course Resources and Troubleshooting Guides
02:19

Let's start setting up the working environment for this Python Network Programming course.

Article

Download the necessary resources and guides to be able to practice all the concepts in this Python Network Programming course.

02:52

Downloading GNS3 and VirtualBox (Python Network Programming course series).

10:35

Importing and configuring the VM in VirtualBox (Python Network Programming course series).

15:41

Let's see how to set up GNS3 and a network topology to work on, for this Python Network Programming course.

06:07

Learn how to easily connect the VM and GNS3 (Python Network Programming course series).

Article

Very important FAQ lecture! Please refer to this lecture whenever you run into any errors with Python, GNS3 or VirtualBox. If nothing works, please ask me and I will be happy tho help.

Article

Short guide on using and configuring VirtualBox and VMs (Python Network Programming course).

Article

Have a MAC OS X? No worries, just check out this lecture to get things going!

Asking For Help
02:24
Article

Check out all the major updates and fixes I added to this Python Network Programming course in May 2016.

Using the resources in this course - FAQ
10 questions
Section 3: Python Basic Operations
07:17

Using the Python interpreter shell.

04:02

Writing basic Python scripts.

06:13

Passing arguments to a Python script.

03:51

Accepting user input into a Python program.

02:41

Getting help from the Python interpreter.

Python basics
3 questions
Section 4: Python Data Types
07:18

Using Python variables.

1 page

Python Keywords List

03:46

Knowing the most important Python data types.

07:26

Working with Python strings.

08:26

Working with Python string methods.

05:00

Working with Python string format operators.

09:23

Working with Python string slices.

Strings
3 questions
08:04

Working with numbers in Python and doing math operations.

06:45

Working with boolean values and logical operators.

Numbers and Booleans
3 questions
04:03

Introduction to Python lists.

09:14

Working with Python list methods.

06:13

Working with Python list slices.

Lists
3 questions
04:44

Introduction to Python sets.

03:33

Working with Python set methods.

Sets
3 questions
05:54

Introduction to Python tuples.

04:24

Working with Python tuple methods.

Tuples
3 questions
03:49

Introduction to Python dictionaries.

06:00

Working with Python dictionary methods.

08:04

Converting between various Python data types.

Dictionaries
3 questions
Section 5: Python Control Flow
13:52

Working with Python if, elif, else statements.

11:01

Working with Python for loops and the else clause.

05:27

Working with Python while loops and the else clause.

07:27

Working with Python nested structures.

07:12

Working with the Python break, continue and pass statements.

02:52

Learning about Python exceptions.

10:59

Handling Python exceptions.

Control Flow
5 questions
Section 6: Python Functions
10:28

Working with Python functions.

07:59

Working with Python function arguments.

12:32

Understanding Python namespaces.

16:03

Understanding and importing Python modules.

Functions
3 questions
Section 7: Python File Operations
08:43

Opening and reading files with Python.

10:11

Writing and appending to files with Python.

03:08

Closing files with Python.

Article

Check out all the major file access modes that Python provides.

Files
3 questions
Section 8: Python Regular Expressions
19:48

Matching and searching for substrings using Python regular expressions.

06:37

Finding and replacing substrings using Python regular expressions.

3 pages
Python Regular Expressions sheet
Regular Expressions
3 questions
Section 9: Python Classes (Object-Oriented Programming) Basics
13:06

Understanding and working with Python classes and objects.

06:50

Learning about Python class inheritance.

Classes
3 questions
Section 10: Bonus Python Tools
05:47

Working with Python list comprehensions, set comprehensions and dictionary comprehensions.

Comprehensions
2 questions
07:00

Working with Python lambda functions.

Lambda functions
3 questions
06:24

Working with Python map, filter and reduce functions.

Map, Filter, Reduce
3 questions
06:54

Understanding basic Python threading.

06:21

Learning a few Python coding best practices.

Section 11: Python Networking
00:52

Important information about this Python Networking section.

16:40

Using Python to establish a Telnet connection to the router and send CLI commands.

13:38
Using Python to establish a SSHv2 connection to the router and send CLI commands.
Article

Learn how to configure your Cisco routers for Telnet and SSH access.

17:32

Using Python to query SNMP objects on a router.

Article

More documentation about SNMP (Python Network Programming course series).

11:50

Using Scapy to create, capture, decode and send network packets.

Article

Python and Telnet - Code Snippet.

Students Who Viewed This Course Also Viewed

  • Loading
  • Loading
  • Loading

Instructor Biography

Mr. Mihai Catalin Teodosiu, Network Engineer | Python Enthusiast | CCNP

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!

Ready to start learning?
Take This Course