by: José Manuel Ortega,Dr. M. O. Faruque Sarker,Sam Washington
Achieve improved network programmability and automation by leveraging powerful network programming concepts, algorithms, and tools
Deal with remote network servers using SSH, FTP, SNMP and LDAP protocols.
Design multi threaded and event-driven architectures for asynchronous servers programming.
Leverage your Python programming skills to build powerful network applications
Network programming has always been a demanding task. With full-featured and well-documented libraries all the way up the stack, Python makes network programming the enjoyable experience it should be.
Starting with a walk through of today's major networking protocols, through this book, you'll learn how to employ Python for network programming, how to request and retrieve web resources, and how to extract data in major formats over the web. You will utilize Python for emailing using different protocols, and you'll interact with remote systems and IP and DNS networking. You will cover the connection of networking devices and configuration using Python 3.7, along with cloud-based network management tasks using Python.
As the book progresses, socket programming will be covered, followed by how to design servers, and the pros and cons of multithreaded and event-driven architectures. You'll develop practical clientside applications, including web API clients, email clients, SSH, and FTP. These applications will also be implemented through existing web application frameworks.
What you will learn
Execute Python modules on networking tools
Automate tasks regarding the analysis and extraction of information from a network
Get to grips with asynchronous programming modules available in Python
Get to grips with IP address manipulation modules using Python programming
Understand the main frameworks available in Python that are focused on web application
Manipulate IP addresses and perform CIDR calculations
Who this book is for
If you're a Python developer or a system administrator with Python experience and you're looking to take your first steps in network programming, then this book is for you. If you're a network engineer or a network professional aiming to be more productive and efficient in networking programmability and automation then this book would serve as a useful resource. Basic knowledge of Python is assumed.
Table of Contents
Network Programming with Python
Programming for the Web with HTTP
Application Programming Interface in Action
Web Scraping with BeautifulSoup and Scrapy
Engaging with Email
Interacting with Remote Systems
Working with IP and DNS
Implementing IPv6 and Address manipulation
Performing Network Automation with Python and Ansible
Programming with Sockets
Designing Servers and Asynchronous programming
Designing Applications on the Web