Python Network Programming - Part 2: Multivendor Environment

Automate Network Tasks Fast and Easy Using The Information, Tools, Libraries and Python Scripts Included In This Course!
4.4 (39 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.
1,302 students enrolled Bestselling in Python Network Programming
$19
$50
62% off
Take This Course
  • Lectures 187
  • Length 10.5 hours
  • Skill Level Intermediate Level
  • 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 3/2016 English

Course Description

* Course Went Live: April 2016. Last Update: October 2016 *

* Full Apps, Quizzes, Cheat Sheets 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.

---

Are you a network professional who wants to start automating network tasks and manage network devices from various vendors?

Are you looking to become a better network engineer and start learning network programming?

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

Are you here after going through my "Python Network Programming - Part 1: Build 7 Python Apps" course, which became a bestseller on Udemy and other elearning platforms?

Join thousands of successful students who have decided to upgrade their networking skills and boost their careers using this Python Network Programming course series!

---

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
  • Update Oct 12, 2016: Added: Video lecture: Asking For Help


"Highly Recommended!" by Noor

---

This course covers many networking vendors and network operating systems:

  • Cisco IOS
  • Cisco IOS XE
  • Cisco IOS XR
  • Juniper JunOS
  • Juniper (Netscreen) ScreenOS
  • Arista EOS
  • HP ProCurve OS
  • Avaya ERS OS

---

Save Time and Money by Writing Your Own Python Programs to Automate Daily Network Tasks. Grow Your Networking Career With Network Programming Skills! 

Bonus, You Might Even Get a Raise or a Better Job with These New Skills!

This Python Network Programming course is aimed at network professionals having little or no experience in network automation and a great desire to use Python and a lot of very smart Python modules to program their network devices and tasks. This hands-on Python Network Programming training walks you through lots of scenarios, networking vendors and useful tools to help you become the network engineer of 2017.

---

What’s so special about this course?

Well, let me tell you what's this course all about:

  •  Learning to use amazing Python libraries and tools to manage network devices easily and without writing too much code.
  •  Connecting remotely to network devices and read/extract/display/store command output, using interactive Python scripts, on: Cisco IOS, Cisco IOS XE, Cisco IOS XR, Juniper JunOS, Juniper (Netscreen) ScreenOS, Arista EOS, HP ProCurve OS and Avaya ERS OS.
  • Configuring (one or more) network devices remotely, using interactive Python scripts, either by specifying the commands at the prompt OR asking the script to read them from one or more text files, on: Cisco IOS, Cisco IOS XE, Cisco IOS XR, Juniper JunOS, Juniper (Netscreen) ScreenOS, Arista EOS, HP ProCurve OS and Avaya ERS OS.
  • Executing configuration commands on multiple network devices from multiple vendors simultaneously.
  • Working with a device inventory in XML/JSON/CSV format and network metadata, while easily counting your registered network devices, getting device information by IP address, searching and listing device information, checking IP reachability and SSH availability and much more, using a simple but efficient tool in the Python interpreter or Linux shell.
  • Managing network device credentials in a centralized, encrypted file.
  • Managing access lists and converting access lists from one format to another using a very efficient tool (Example: Converting a Cisco IOS ACL to a Juniper JunOS ACL with a single command).
  • Automatically executing commands upon device login, right from the Linux shell.
  • Getting device interface information fast, right from the Linux shell and saving the information to local storage.
  • Working with Python and SNMP and easily performing SNMP GET, SET, SET multiple OIDs, WALK, GET-NEXT, GET-BULK operations on Cisco, Juniper, Arista and HP network devices, using only a few lines of code.
  • Parsing locally stored Cisco, Juniper, Arista and HP configuration files and extracting various pieces of information, using a very straightforward Python module.
  • Managing device configuration changes using a script that regularly saves the configuration files from your network devices to the local system, compares them with previous file versions, builds a report with all the differences and either stores the report locally or emails the report to the network administrator’s email address(es).
  • Performing various small network tests and operations using the Python interpreter.

---

Still not enough for you? Let me describe a few more features of this course:

  • More than 15 scripts for you to download and use right away, for free. The scripts are customized for each vendor in the course.
  • An amazing optimized Linux Ubuntu VM, with all the tools, modules and dependencies already installed and all the scripts ready to be executed on the devices in your network.
  • Command cheat sheets with all the essential commands and lines of code in each section.
  • Quizzes and a final network programming project for you to build and implement in your test lab/network. Also, the solution for the project is explained and tested.
  • 1080p, Full HD videos. Improved audio quality.
  • 185+ lectures and counting. 10+ hours of content.
  • Concise and focused lectures. Straightforward configuration of devices. Less software and operating system complications. Less code to write and troubleshoot. All the scripts I provide are fully interactive.
  • Bonus: a Python module created by me personally for handling Avaya ERS switches, which you can download, use and modify without any restrictions, for free.

---

Equipped with full working scripts (in .py and .txt formats), amazing virtual machines and command references, you will be able to work alongside me on each lecture and each application. I will provide an optimized Ubuntu 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.

---

Important prerequisites before you enroll:

  • You should already be familiar with networking concepts like: SSH, Telnet, ACLs (Access Control Lists), SNMP, VMs (Virtual Machines).
  • You should already be familiar with Python syntax: functions, if, for, while, string and file operations etc. If you have no experience whatsoever in Python, then I encourage you to also check out my "Python Network Programming - Part 1: Build 7 Python Apps" course, which teaches Python from scratch and then dives into using it on network devices, by building some great network apps.
  • For running the Ubuntu 15.10 Virtual Machine I provide, dedicating 2 GB of RAM will be more than enough. For running the Arista vEOS VM, you should allocate another 1 GB of RAM, throughout the Arista section of the course. For emulating Cisco IOS XE and IOS XR, you will need 2+ GB additional RAM memory.
  • You won't have to buy anything else. I am going to use only free software throughout the course: VirtualBox, Linux, free VMs etc.

---

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.

---

"[...] It sounds from the introductory like it would be a great skills to have to learn all these tools and be able to automate network tasks not only on Cisco Devices but other vendors. If I feel this way till the end of the course, I would feel that I have a UNIVERSAL skills to be able to work and automate tasks with multiple vendors.,Thanks for the good work. I hope and I know I will." by Nasser Abdelghani


So, what are you waiting for? Do you want to be a better network engineer and also become a network programmer? Do you still want to catch the network programming and automation career train? Now is your chance!


Enroll in 'Python Network Programming - Part 2: Multivendor Environment' and see the benefits for your career, as thousands of other students did!

What are the requirements?

  • You should have a great desire to learn network 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: SSH, Telnet, ACLs (Access Control Lists), VMs (Virtual Machines)
  • You should already be familiar with Python syntax: functions, if, for, while, string and file operations etc. If you have no experience whatsoever in Python, then I encourage you to also check out my "Python Network Programming - Build 7 Apps" course, which teaches Python from scratch and then dives into using it on network devices, by building some great network apps.
  • I will provide a fully configured virtual machine (Ubuntu 15.10, improved version of the VM in Part 1 of the course) with all the necessary software (Python Modules, Network Tools, dependencies etc.). This way you can save time and start programming network devices as soon as possible
  • For teaching network programming concepts and tools on vendors like Cisco (IOS), Juniper (JunOS and ScreenOS), HP (ProCurve OS) and Avaya (ERS OS), I will use the Ubuntu 15.10 VM and physical devices in my lab, since these vendors do not provide virtualized environments for emulating their router/switch operating systems
  • For teaching network programming concepts and tools on other vendors, like Cisco (IOS XE and IOS XR) and Arista (vEOS), I will use virtual machines that they provide on their official websites and I will guide you through properly downloading, installing and setting them up on your own computer, into VirtualBox
  • For running the Ubuntu 15.10 Virtual Machine I provide, dedicating 2 GB of RAM will be more than enough. For running the Arista vEOS VM, you should allocate another 1 GB of RAM, throughout the Arista section of the course. For emulating Cisco IOS XE and IOS XR, you will need 2+ GB additional RAM memory.
  • I am going to use only free software throughout the course: VirtualBox, Linux, free VMs etc.

What am I going to get from this course?

  • Use various Python tools/modules to handle network devices more easily and without writing a lot of Python code
  • Use various Python tools/modules to handle network devices from several networking vendors: Cisco (IOS, IOS XE, IOS XR), Juniper, Arista, HP, Avaya and Netscreen.
  • Parse router/switch configuration files, extract needed information and use it for auditing the network
  • Easily manage access lists (ACLs) using Python tools, then convert the access lists between various vendor formats
  • Execute CLI commands on several network devices simultaneously, even on multiple devices from various vendors
  • Automatically execute CLI commands on network devices upon login
  • Easily perform SNMP GET/SET/WALK/GETNEXT/GETBULK and SET MULTIPLE OIDs operations on various networking vendors
  • Backup network configuration files and configure an email notification system to receive alerts when configuration changes occur
  • Use various other CLI tools and utilities to perform small network tasks
  • Emulate several network operating systems in a virtualized environment
  • Study the CLI and configuration commands on routers/switches from various network vendors
  • Discover some very useful Python network tools every network programmer should use on a daily basis to automate or simplify some network tasks
  • Download and use the pre-configured Ubuntu 15.10 VM however you like
  • Download and use any materials and code samples however you like

What is the target audience?

  • Network Administrators, Network (Systems) Engineers, Network (Service) Technicians, Network Analysts, Network Managers
  • Students of my "Python Tutorial: Python Network Programming - Build 7 Apps" course, who wish to learn how to manage network devices from various vendors, using Python
  • Students of my "Python Tutorial: Python Network Programming - Build 7 Apps" course, who wish to learn more advanced tools and operations to use in their networks
  • 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 network 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
Quick Insight To Get You Warmed Up!
Preview
04:36
Some Administrative Details About This Course
02:19
How To Receive Maximum Results From This Course
Article
How To Learn Python Basics Fast!
Article
Quiz 1 - Basic Python Syntax
10 questions
Section 2: Course Resources and Troubleshooting Guides
Describing The Working Environment
Preview
04:36
Download The Resources Using This Guide
Article
Creating A VirtualBox Host-Only Adapter
01:53
Creating/Importing Virtual Machines Into VirtualBox
04:19
Keep This In Mind When Configuring The VMs
02:00
Establishing IP Connectivity (Host-Only)
04:04
Establishing IP Connectivity (Local LAN)
01:12
Troubleshooting Advice
01:17
Troubleshooting Checklist
Article
Asking For Help
02:32
Quiz 2 - Using The Resources
10 questions
Section 3: Introducing The Tools For This Course
Getting To Know Tool #1
03:04
Getting To Know Tool #2
01:29
Getting To Know Tool #3
01:15
Getting To Know Tool #4
01:00
Getting To Know Tool #5
01:10
6 pages

Licensing Information For All The Tools Used In The Course

Section 4: Working With Device Metadata - Network Inventory
Preparing The Network Device Metadata Files
07:21
The "settings.py" File
03:16
Counting Network Devices
04:35
Getting Device Info By IP Address
02:36
Quickly Checking The Device Type
03:30
Quickly Checking IP Reachability And SSH
01:53
Searching And Listing All Devices
03:18
Matching And Selecting Devices
03:34
Listing Devices By Type
02:40
Using The "netdev" Command
Preview
04:18
Changing The Default Metadata File Format
01:24
Section Summary: Command Cheat Sheet
Article
Section 5: User Credentials Management
Introducing The Tacacsrc Class And The .tacacsrc File
04:43
Creating And Managing The .tacacsrc File
03:05
Are The User Credentials Securely Stored?
Preview
03:59
Testing The .tacacsrc File
03:16
Section Summary: Command Cheat Sheet
Article
Section 6: Analyzing The Syntax For Remote Command Execution
Introducing The Syntax For Command Execution #1
02:24
Introducing The Syntax For Command Execution #2
01:26
Optional Class Parameters
Article
Testing The Command Execution Classes
Preview
09:37
Using The Classes And Avoiding Errors
04:23
Section 7: Cisco Network Programming (IOS)
Getting The Device Ready
04:07
Configuring IP, Remote Access And SNMP
Article
Reading Command Output - Python Interpreter
04:16
Quick Note About Command Execution Using Tool #1
01:32
Before Getting To Work - Ubuntu VM File Structure
02:04
Reading Command Output - Script - Explaining The Code #1
08:02
Reading Command Output - Script - Explaining The Code #2
11:59
Reading Command Output - Script - Running The Code #1
Preview
04:23
Reading Command Output - Script - Running The Code #2
02:39
Reading Command Output - Script - Running The Code #3
02:26
Reading Command Output - Script - Running The Code #4
01:46
Reading Command Output - Download The Script
Article
Configuring Devices Easily - Python Interpreter
05:03
Configuring Devices - Script - Explaining The Code
05:19
Configuring Devices - Script - Running The Code #1
Preview
03:48
Configuring Devices - Script - Running The Code #2
02:38
Configuring Devices - Download The Script
Article
Troubleshooting Guidelines
08:59
Section Summary: Command Cheat Sheet
Article
Section 8: Juniper Network Programming (JunOS)
Getting The Device Ready
03:26
Configuring IP, Remote Access And SNMP
Article
Reading Command Output - Script - Explaining The Code
03:11
Reading Command Output - Script - Running The Code #1
10:42
Reading Command Output - Script - Running The Code #2
02:42
Reading Command Output - Download The Script
Article
Configuring Devices - Script - Explaining The Code
07:11
Configuring Devices - Script - Analyzing Possible Errors
07:17
Configuring Devices - Download The Script
Article
Section Summary: Command Cheat Sheet
Article
Section 9: Arista Network Programming (vEOS)
Getting The Device Ready
02:10
Configuring IP, Remote Access And SNMP
Article
Reading Command Output - Script - Explaining The Code
02:31
Reading Command Output - Script - Running The Code
04:31
Reading Command Output - Download The Script
Article
Configuring Devices - Script - Explaining The Code
01:09
Configuring Devices - Script - Running The Code
04:45
Configuring Devices - Download The Script
Article
Section Summary: Command Cheat Sheet
Article
Section 10: HP Network Programming (ProCurve OS)
Getting The Device Ready
02:39
Configuring IP, Remote Access And SNMP
Article
Reading Command Output - Script - Explaining The Code
15:08
Reading Command Output - Script - Running The Code
06:28
Reading Command Output - Download The Script
Article
Configuring Devices - Script - Explaining The Code
07:29
Configuring Devices - Script - Running The Code
13:00
Configuring Devices - Download The Script
Article

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