Python Network Programming Cookbook
Second Edition
Overcome real-world networking challenges
Pradeeban Kathiravelu
Dr. M. O. Faruque Sarker
BIRMINGHAM - MUMBAI
Python Network Programming Cookbook
Second Edition
Copyright 2017 Packt Publishing
All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews.
Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the authors, nor Packt Publishing, and its dealers and distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this book.
Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information.
First published: March 2014
Second edition: August 2017
Production reference: 1080817
Published by Packt Publishing Ltd.
Livery Place
35 Livery Street
Birmingham
B3 2PB, UK.
ISBN 978-1-78646-399-9
www.packtpub.com
Credits
Authors Pradeeban Kathiravelu Dr. M. O. Faruque Sarker | Copy Editors Safis Editing Juliana Nair |
Reviewers Dr. S. Gowrishankar Michael Bright | Project Coordinator Judie Jose |
Commissioning Editor Kartikey Pandey | Proofreader Safis Editing |
Acquisition Editor Rahul Nair | Indexer Aishwarya Gangawane |
Content Development Editor Abhishek Jadhav | Graphics Kirk D'Penha |
Technical Editor Mohd Riyan Khan | Production Coordinator Aparna Bhagat |
About the Author
Pradeeban Kathiravelu is an open source evangelist. He is a Ph.D. researcher at INESC-ID Lisboa/Instituto Superior Tecnico, Universidade de Lisboa, Portugal, and Universite Catholique de Louvain, Belgium. He is a Fellow of Erasmus Mundus Joint Degree in Distributed Computing (EMJD-DC), researching a software-defined approach to quality of service and data quality in multi-tenant clouds.
Pradeeban holds a master of science degree, Erasmus Mundus European Master in Distributed Computing (EMDC), from Instituto Superior Tecnico, Portugal and KTH Royal Institute of Technology, Sweden. He also holds a first class bachelor of science in engineering (Hons) degree, majoring in computer science and engineering, from the University of Moratuwa, Sri Lanka. His research interests include Software-Defined Networking (SDN), distributed systems, cloud computing, web services, big data in biomedical informatics, Network Functions Virtualizations (NFV), and data mining. He is very interested in free and open source software development and has been an active participant in the Google Summer of Code (GSoC) program since 2009, as a student and as a mentor.
Pradeeban has published several conference papers and co-authored a few book chapters. He has also worked on OpenDaylight Cookbook and LearningOpenDaylight as a technical reviewer. Python NetworkProgramming Cookbook, Second Edition (2017) is his first book as an author, and he is quite excited about it.
I would like to thank my readers for the interest in the book. Please feel free to contact me if you need any assistance in the topics or the recipes, beyond what we have discussed in the book. I would like to thank the entire editorial team at Packt, including Abhishek Jadhav, Rahul Nair, and Mohd Riyan Khan. I would like to extend my thanks to the Linux Foundation for their open source projects on softwarization of networks and systems. I would like to thank my friends and colleagues who helped me in various ways. I would like to thank Prof. Luis Veiga (INESC-ID Lisboa), my MSc and Ph.D. advisor, for sharing his wisdom and encouragement throughout my stay in Instituto Superior Tecnico. I would like to thank him for being my mentor since 2012. I would also like to thank Prof. Ashish Sharma (Emory University, Atlanta) for his guidance and motivation.
My special thanks go to my loving wife, Juejing Gu. This book would not be a reality without her continuous support and creative suggestions. Her tireless efforts helped me always be on time without missing the deadlines.
I would like to thank my mom, Selvathie Kathiravelu, for her support.
Dr. M. O. Faruque Sarker is a software architect based in London, UK, where he has been shaping various Linux and open source software solutions, mainly on cloud computing platforms, for commercial companies, educational institutions, and multinational consultancies. Over the past 10 years, he has been leading a number of Python software development and cloud infrastructure automation projects. In 2009, he started using Python, where he was responsible for shepherding a fleet of miniature E-puck robots at the University of South Wales, Newport, UK. Later, he honed his Python skills, and he was invited to work on the Google Summer of Code (2009/2010) programs for contributing to the BlueZ and Tahoe-LAFS open source projects. He is the author of Python Network Programming Cookbook and Learning Python Network Programming both by Packt Publishing.
He received his Ph.D. in multi-robot systems from the University of South Wales. He is currently working at University College London. He takes an active interest in cloud computing, software security, intelligent systems, and child-centric education. He lives in East London with his wife, Shahinur, and daughter, Ayesha.
All praises and thanks to Allah, the God who is the Merciful and the Beneficent. I would not be able to finish this book without the help of God.I would like to thank everyone who has contributed to the publication of this book, including the publisher, technical reviewers, editors, my family and friends for their sacrifice of time, encouraging words, and smiles, especially my wife Shahinur Rijuani for her love and support in my work. I also thank the readers who have patiently been waiting for this book and who have given me lots of valuable feedback.
About the Reviewers
Dr. S. Gowrishankar is currently working as an associate professor in the Department of Computer Science and Engineering at Dr. Ambedkar Institute of Technology, Bengaluru, Karnataka, India.
He received his Ph.D. in Engineering from Jadavpur University, Kolkata, West Bengal, India in 2010, MTech in software engineering and BE in computer science and engineering from Visvesvaraya Technological University (VTU), Belagavi, Karnataka, India in the year 2005 and 2003 respectively.
Next page