Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Python Network Programming - Hands On!: 2-in-1
Highest Rated
Rating: 4.6 out of 5(12 ratings)
210 students
Last updated 8/2018
English

What you'll learn

  • Verify your network: Testing and securing your network with Python.
  • Learn with the help of more efficient and effective Visual examples of network device interaction, playbooks, and desired results.
  • Learn Security and Network automation with Python 2.7 and Ansible 2.5
  • Become a rock-star and future-proof your skills in the SDN world.
  • Save time and money and accomplish daily tasks more efficiently and effectively.
  • Gain peace of mind in knowing your network is doing what it is supposed to.
  • Create customized scripts that accomplish your unique goals.

Course content

2 sections39 lectures5h 6m total length
  • The Course Overview4:30

    This video provides an overview of the entire course.

  • Introducing the New World of Network Engineering2:42

    In this video, we will learn how network engineering is in a time  of transition from vertical integration to a software-centric horizontal  collaboration. Also, how traditional network engineering is still  valid, but requires understanding of software engineering. We will use  Python to integrate network engineering tasks that is hands-on, and  project-based.                         

    • Describe why we need to learn software engineering

    • Understand how we need to solve real problems with hands-on solutions 

    • Explore how project-based approach allows us to go deeper into the technologies at hand

  • Requirements and Setup5:37

    This video aims at exploring the choices to be made on the technologies to be used at hand.                         

    • Describe the tools we will use in this class

    • Understand the lab setup

  • Integration with Ansible7:45

    This video aims at explaining how the general purpose automation tool Ansible can fit into the network automation world.                         

    • Understand what Ansible is and how it can help

    • Learn different components of Ansible

  • Ansible Demonstration6:48

    This video aims at demonstrating how Ansible can be used with network devices running Cisco IOS.                         

    • Show lab setup

    • Illustrate host and playbook files

    • Demonstrate how the Ansible playbook can be run

  • Automate Changes with Paramiko7:44

    In this video, we will learn how to direct device interaction using Paramiko when other tools are not available.                         

    • Explore what Paramiko is and how it can help

    • Learn different components of Paramiko

    • Demonstrate how Paramiko can be run

  • Direct API Calls to Devices7:35

    In this video, we will ingest structured data returned from network devices.                         

    • Understand why do we want to use API’s 

    • Learn different libraries and API supports amongst network vendors

    • Demonstrate an example of API call toward Cisco NX-OS device

  • Continuous Integration with Jenkins2:37

    This video aims at explaining how network engineers need to automate the sequential steps or complex procedures.                         

    • Understand what is continuous integration and Jenkins

    • Learn Jenkins workflow overview

    • Demonstrate an example of Jenkins automation

  • IP Subnet Calculator8:40

    In this video, we will learn how standalone tools can be helpful for one-off tasks, such as IP subnet calculator.                         

    • Learn how we need to help non-network engineers to calculate the appropriate subnet to request

    • Gather requirements for IP subnet calculation

    • Demonstrate how a script can work

  • Detect Network Changes Automatically7:58

    In this video, we will look at ways to retrieve network information from devices via SNMP and API.                         

    • Learn network information via SNMP

    • Explore network telemetry via API calls

  • Log Management with Python7:30

    This video aims at explaining how logging is one of the most effective ways of receiving information from our network.                         

    • Use Python logging module to persist information

    • Learn real time monitoring of the log file

    • Explore log options, including ELK stack

  • Network Monitoring with Cacti4:50

    In this video, we will look at how to integrate Python with existing network monitoring tools, such as Cacti.                         

    • Use Python as script to retrieve information and display on Cacti

  • NetFlow and sFlow Based Monitoring9:47

    This video aims at explaining how we can use Python to decode NetFlow and sFlow packets for troubleshooting and development.                         

    • Use Python to decode NetFlow v5 packets 

    • Use Python to decode sFlow packets with sflowtool

  • Alerting and Email Notification8:36

    In this video, we will learn how we can use Python client and modules to trigger alerts when needed.                         

    • Understand Slack Python client demonstration

    • Learn Python email alert script

  • Test Your DHCP Server and Client6:23

    This video aims at explaining how DHCP is widely used in the network, we will also use Python to test your setup.                         

    • Use Python as DHCP Client to decode DHCP packets

    • Construct IPv6 DHCP server with Python

  • IP Reachability Testing5:00

    In this video, we will learn testing IP reachability as a first test for diagnostic of network issues.                         

    • Demonstrate the use of OS module

    • Use sub process module to catch process outputs

  • OS Fingerprinting6:50

    In this video, we will learn how to think like a hacker to attempt identify which operating system is your target.                         

    • Use of active probe for OS fingerprinting

    • Explore passive listening of OS fingerprinting

  • Create Your Own Attack6:11

    This video aims at explaining how to craft your own packet with Scapy.                         

    • Use of Scapy to construct your own packet for attacks

  • Test Network Speed with Python6:03

    In this video, we will test our network speed with Python.                         

    • Use modules to test network speed with external server

    • Use Python for transitional speed with internal server

  • Test your Knowlegde

Requirements

  • Prior Python programming experience is assumed.
  • Hands-on experience with network gears (virtual or physical) will be useful.

Description

Computer Networks, large and small, has become ever increasingly software-driven in the last several years. A typical network engineer faces the challenge of learning a completely new discipline that normally takes years to master.

This course will use Python (one of the most popular programming languages. ), an easy-to-learn, popular first-time-programmer language as the foundation to bridge the gap for network engineers facing the automation challenge, this will help network engineers become experts in using Python for networking. This video uses a project-based approach to teach you how to leverage this easy-to-learn language for network automation tasks. The goal of the course is to master key Python concepts as they are applied in the network engineering context.

This comprehensive 2-in-1 course is a step-by-step tutorial which provides hands-on, interesting examples with clear and friendly explanations that you can follow along with, covers common mistakes, and provides useful tips and in-the-trenches advice. Hands-on TCP / IP protocol suite and Python language. Achieve Network Monitoring with Low-Level Network Device Interaction. Network Modelling through API. Improve network agility with Intent-based Networking.

Contents and Overview

This training program includes 2 complete courses, carefully chosen to give you the most comprehensive training possible.

The first course, Python Network Programming, covers Network Engineering Tasks with Python. This course will help you build some mesmerizing network tools with Python, including a Subnet calculator; configuring multiple network devices concurrently via SSH or Telnet; a DHCP client simulator for testing a DHCP server in the local network; network discovery via SNMP; OS fingerprinting; and network attacks via Scapy. This tutorial uses real-life scenarios and use cases to help you build network automation tools with the amazing Python language. By the end of this course, you will be able to take your Python programming skills to the next level for network automation.

The second course, Hands-on Network Programming with Python, covers creation and automation of your network with Python. This course will use Python, an easy-to-learn, popular first-time-programmer language as the foundation to bridge the gap for network engineers facing the automation challenge, this will help network engineers become experts in using Python for networking. Get familiar with the concepts and work with the Ansible framework in order to achieve your network goals. Monitor your network using Python. Explore ways to solve issues related to the security wheel that treats the network as one single entity instead of dispersing components.

By the end of the course, you’ll master key Python concepts in the network engineering context as well as skills required to accomplish advance network automation using Python.

About the Authors

  • Eric Chou is a seasoned technologist with over 17 years of experience. He has helped managed some of the largest networks in the industry while working at Amazon and Microsoft and is passionate about network automation and Python. He shares this deep interest in these fields through his teachings as a Python instructor, blogger, and active contributor to some of the popular Python open source projects. Currently, Eric holds two patents in IP Telephony and is a principal engineer at A10 Networks with a focus on product research and development in the field of security. He’s a successful author of the book Mastering Python Networking which has sold impressive number of copies.

Who this course is for:

  • Network engineers, network administrators, DevOps engineers and Python programmers who want to apply their Python knowledge in the network engineering field.