Discover practical solutions for a wide range of real-world network programming tasks
About This Book
- Solve real-world tasks in the area of network programming, system/networking administration, network monitoring, and more.
- Familiarize yourself with the fundamentals and functionalities of SDN
- Improve your skills to become the next-gen network engineer by learning the various facets of Python programming
Who This Book Is For
This book is for network engineers, system/network administrators, network programmers, and even web application developers who want to solve everyday network-related problems. If you are a novice, you will develop an understanding of the concepts as you progress with this book.
What You Will Learn
- Develop TCP/IP networking client/server applications
- Administer local machines' IPv4/IPv6 network interfaces
- Write multi-purpose efficient web clients for HTTP and HTTPS protocols
- Perform remote system administration tasks over Telnet and SSH connections
- Interact with popular websites via web services such as XML-RPC, SOAP, and REST APIs
- Monitor and analyze major common network security vulnerabilities
- Develop Software-Defined Networks with Ryu, OpenDaylight, Floodlight, ONOS, and POX Controllers
- Emulate simple and complex networks with Mininet and its extensions for network and systems emulations
- Learn to configure and build network systems and Virtual Network Functions (VNF) in heterogeneous deployment environments
- Explore various Python modules to program the Internet
Python Network Programming Cookbook - Second Edition highlights the major aspects of network programming in Python, starting from writing simple networking clients to developing and deploying complex Software-Defined Networking (SDN) and Network Functions Virtualization (NFV) systems. It creates the building blocks for many practical web and networking applications that rely on various networking protocols. It presents the power and beauty of Python to solve numerous real-world tasks in the area of network programming, network and system administration, network monitoring, and web-application development.
In this edition, you will also be introduced to network modelling to build your own cloud network. You will learn about the concepts and fundamentals of SDN and then extend your network with Mininet. Next, you'll find recipes on Authentication, Authorization, and Accounting (AAA) and open and proprietary SDN approaches and frameworks. You will also learn to configure the Linux Foundation networking ecosystem and deploy and automate your networks with Python in the cloud and the Internet scale.
By the end of this book, you will be able to analyze your network security vulnerabilities using advanced network packet capture and analysis techniques.
Style and approach
This book follows a practical approach and covers major aspects of network programming in Python. It provides hands-on recipes combined with short and concise explanations on code snippets. This book will serve as a supplementary material to develop hands-on skills in any academic course on network programming. This book further elaborates network softwarization, including Software-Defined Networking (SDN), Network Functions Virtualization (NFV), and orchestration. We learn to configure and deploy enterprise network platforms, develop applications on top of them with Python.
Table of Contents
Chapter 1. Sockets, Ipv4, And Simple Client/Server Programming
Chapter 2. Multiplexing Socket I/O For Better Performance
Chapter 3. Ipv6, Unix Domain Sockets, And Network Interfaces
Chapter 4. Programming With Http For The Internet
Chapter 5. Email Protocols, Ftp, And Cgi Programming
Chapter 6. Programming Across Machine Boundaries
Chapter 7. Working With Web Services – Xml-Rpc, Soap, And Rest
Chapter 8. Network Monitoring And Security
Chapter 9. Network Modeling
Chapter 10. Getting Started With Sdn
Chapter 11. Authentication, Authorization, And Accounting (Aaa)
Chapter 12. Open And Proprietary Networking Solutions
Chapter 13. Nfv And Orchestration – A Larger Ecosystem
Chapter 14. Programming The Internet