Mastering Python Networking

Master network automation, DevOps, and Software-Defined Networking (SDN) with this comprehensive guide

Network programming can be a challenging task. However, with full-featured and well-documented libraries, Python makes it an enjoyable experience.This book is an extensive resource that will help you learn everything about employing Python for network programming. You’ll begin with a detailed revision of the Transmission Control Protocol/Internet Protocol (TCP/IP) suite and the Python language. Once you’ve brushed up on the basics, you’ll understand how to use Python libraries to automate network tasks and employ the Ansible framework to achieve your network goals. Next, the book will guide you in using Python for DevOps by employing open source tools to test, secure, and analyze your network. You’ll then build on your knowledge by understanding how to retrieve network information using a polling mechanism and flow-based monitoring. You will also learn how to build customized network web services. In the last module, you’ll use Python for SDN and compare the performance of tools such as OpenFlow, OpenDaylight, and Network Functions Virtualization (NFV). In the concluding chapters, you’ll apply what you’ve learned to construct a migration plan to advance from a legacy to a scalable SDN-based network. By the end of this book, you’ll have developed the skills you need to confidently design high-performance network server apps using Python.

What you’ll learn

  • Brush up on the TCP/IP suite and the Python language.
  • Monitor your network with Simple Network Management Protocol (SNMP), Multi Router Traffic Grapher (MRTG), and Cacti.
  • Use Flask to create REpresentational State Transfer (REST) web service for your network.
  • Build Flask-based web-service APIs with Python.
  • Implement network security using Python libraries.
  • Create network topology graphs with Graphviz.

Course Content

  • Review of TCP/IP Protocol Suite and Python –> 8 lectures • 46min.
  • Low-Level Network Device Interactions –> 7 lectures • 25min.
  • APIs and Intent-Driven Networking –> 6 lectures • 23min.
  • The Python Automation Framework – Ansible Basics –> 6 lectures • 20min.
  • The Python Automation Framework – Beyond Basics –> 9 lectures • 20min.
  • Network Security with Python –> 7 lectures • 18min.
  • Network Monitoring with Python – Part 1 –> 6 lectures • 17min.
  • Network Monitoring with Python – Part 2 –> 5 lectures • 31min.

Auto Draft

Requirements

  • Basic familiarity with various networking protocols and the Python language will be useful..

Network programming can be a challenging task. However, with full-featured and well-documented libraries, Python makes it an enjoyable experience.This book is an extensive resource that will help you learn everything about employing Python for network programming. You’ll begin with a detailed revision of the Transmission Control Protocol/Internet Protocol (TCP/IP) suite and the Python language. Once you’ve brushed up on the basics, you’ll understand how to use Python libraries to automate network tasks and employ the Ansible framework to achieve your network goals. Next, the book will guide you in using Python for DevOps by employing open source tools to test, secure, and analyze your network. You’ll then build on your knowledge by understanding how to retrieve network information using a polling mechanism and flow-based monitoring. You will also learn how to build customized network web services. In the last module, you’ll use Python for SDN and compare the performance of tools such as OpenFlow, OpenDaylight, and Network Functions Virtualization (NFV). In the concluding chapters, you’ll apply what you’ve learned to construct a migration plan to advance from a legacy to a scalable SDN-based network. By the end of this book, you’ll have developed the skills you need to confidently design high-performance network server apps using Python.

About the Author

Eric Chou is a seasoned technologist with over 18 years of industry experience. He has worked on and helped managed some of the largest networks in the industry while working at Amazon AWS, Microsoft Azure, and other companies. Eric is passionate about network automation, Python, and helping companies build better security postures. Eric is the author of several books and online classes on networking with Python and network security. He is the proud inventor of two patents in IP telephony. Eric shares his deep interest in technology through his books, classes, and his blog, and contributes to some of the popular Python open source projects.

Ben Straub has been building software for 15 years ranging from Device drivers, desktop applications, Git to microservices. He specializes in C/C++, C#/.NET, Python, Ruby, Javascript.

Get Tutorial