Python Network Programming: Conquer all your networking challenges with the powerful Python language
- Length: 776 pages
- Edition: 1
- Language: English
- Publisher: Packt Publishing
- Publication Date: 2019-01-31
- ISBN-10: 1788835468
- ISBN-13: 9781788835466
- Sales Rank: #1127430 (See Top 100 Books)
Power up your network applications with Python programming
Key Features
- Master Python skills to develop powerful network applications
- Grasp the fundamentals and functionalities of SDN
- Design multi-threaded, event-driven architectures for echo and chat servers
Book Description
This Learning Path highlights major aspects of Python network programming such as writing simple networking clients, creating and deploying SDN and NFV systems, and extending your network with Mininet. You’ll also learn how to automate legacy and the latest network devices. As you progress through the chapters, you’ll use Python for DevOps and open source tools to test, secure, and analyze your network. Toward the end, you’ll develop client-side applications, such as web API clients, email clients, SSH, and FTP, using socket programming.
By the end of this Learning Path, you will have learned how to analyze a network’s security vulnerabilities using advanced network packet capture and analysis techniques.
This Learning Path includes content from the following Packt products:
- Practical Network Automation by Abhishek Ratan
- Mastering Python Networking by Eric Chou
- Python Network Programming Cookbook, Second Edition by Pradeeban Kathiravelu, Dr. M. O. Faruque Sarker
What you will learn
- Create socket-based networks with asynchronous models
- Develop client apps for web APIs, including S3 Amazon and Twitter
- Talk to email and remote network servers with different protocols
- Integrate Python with Cisco, Juniper, and Arista eAPI for automation
- Use Telnet and SSH connections for remote system monitoring
- Interact with websites via XML-RPC, SOAP, and REST APIs
- Build networks with Ryu, OpenDaylight, Floodlight, ONOS, and POX
- Configure virtual networks in different deployment environments
Who this book is for
If you are a Python developer or a system administrator who wants to start network programming, this Learning Path gets you a step closer to your goal. IT professionals and DevOps engineers who are new to managing network devices or those with minimal experience looking to expand their knowledge and skills in Python will also find this Learning Path useful. Although prior knowledge of networking is not required, some experience in Python programming will be helpful for a better understanding of the concepts in the Learning Path.
Table of Contents
- Fundamental Concepts
- Python for Network Engineers
- Continuous Integration for Network Engineers
- SDN Concepts in Network Automation
- Low-Level Network Device Interactions
- APIs and Intent-Driven Networking
- The Python Automation Framework – Ansible Basics
- The Python Automation Framework – Beyond Basics
- AWS Cloud Networking
- Working with Git
- Sockets, IPv4, and Simple Client/Server Programming
- Multiplexing Socket I/O for Better Performance
- IPv6, Unix Domain Sockets, and Network Interfaces
- Programming with HTTP for the Internet
- Email Protocols, FTP, and CGI Programming
- Programming across Machine Boundaries
- Working with Web Services – XML-RPC, SOAP, and REST
- Network Monitoring and Security
- Network Modeling
- Authentication, Authorization, and Accounting (AAA)
- Open and Proprietary Networking Solutions
- NFV and Orchestration – A Larger Ecosystem
- Programming the Internet