It has been more than 3 years since Python Network Programming Cookbook was first published. In this second edition, we extend our book to discuss the recent advancements in the networking industry and network softwarization. The widespread use of Software-Defined Networking (SDN), Network Functions Virtualization (NFV), and orchestration have been addressed in detail in the latter chapters while the first eight chapters were taken from the first edition, improved with a few new recipes based on the feedback from the readers.
This book is an exploratory guide to network programming in Python. It has touched a wide range of networking protocols such as TCP/UDP, HTTP/HTTPS, FTP, SMTP, POP3, IMAP, and CGI. With the power and interactivity of Python, it brings joy and fun to develop various scripts for performing real-world tasks on network and system administration, web application development, interacting with your local and remote network, low-level network packet capture and analysis, and so on. The primary focus of this book is to give you a hands-on experience on the topics covered. So, this book covers less theory, but it is packed with practical materials.
This book is written with a DevOps mindset, where a developer is also more or less in charge of operation, that is, deploying the application and managing various aspects of it, such as remote server administration, monitoring, scaling-up, and optimizing for better performance. This book introduces you to a bunch of open-source, third-party Python libraries, which are ideal to be used in various use cases. We elaborate in detail the configurations of complex networking systems with helpful hints to ensure that the reader can follow them without getting stuck.
We hope you will enjoy the recipes presented in this book and extend them to make them even more powerful and enjoyable.