Abhishek Ratan, "Python Network Programming: Conquer all your networking challenges with the powerful Python language"
English | ISBN: 1788835468 | January 31, 2019 | EPUB | 776 pages | 18 MB
English | ISBN: 1788835468 | January 31, 2019 | EPUB | 776 pages | 18 MB
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