Book Image

Learning Python Networking - Second Edition

By : José Manuel Ortega, Dr. M. O. Faruque Sarker, Sam Washington
Book Image

Learning Python Networking - Second Edition

By: José Manuel Ortega, Dr. M. O. Faruque Sarker, Sam Washington

Overview of this book

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.
Table of Contents (19 chapters)
Free Chapter
1
Section 1: Introduction to Network and HTTP Programming
4
Section 2: Interacting with APIs, Web Scraping, and Server Scripting
9
Section 3: IP Address Manipulation and Network Automation
13
Section 4: Sockets and Server Programming

Chapter 8, Implementing IPv6 and Address Manipulation

  1. Link-local.
  2. :: 1/128.
  3. socket.getaddrinfo.
  4. Use the following code to create a server with IPv6 support with a socket module:
# socket.AF_INET6 to indicate that we will use Ipv6
client = socket.socket (socket.AF_INET6, socket.SOCK_STREAM)
  1. We can call the interfaces() function from this library to list all of the interfaces that are present in the system.
  2. AF_LINK is the link layer interface (for example, Ethernet), AF_INET represents the IPv4 internet address, and AF_INET6 represents the IPv6 internet address.
  3. psutil.
  4. We can interoperate between IPv4 and IPv6 with the ipv6() and ipv4() methods.
  5. From ipaddress, we can import IPv6Address, IPv6Network, and IPv6Interface.
  1. The subnets(prefixlen_diff=1, new_prefix=None) method also has the capacity to generate subnets with additional host bits or with a specific amount of network...