Network Programming with Python

This book will focus on writing programs for networks that use the Internet Protocol (IP) suite. Why have we chosen to do this? Well, out of the sets of protocols that are supported by the Python standard library, the Transmission Control Protocol (TCP)/IP protocol is by far the most widely employable. It contains the principal protocols that are used by the internet. By learning to program for TCP/IP, you'll be learning how to potentially communicate with just about every device that is connected to this great tangle of network cables and electromagnetic waves.

The following topics will be covered in this chapter:

  • An introduction to TCP/IP networking
  • Protocol concepts and the problems that protocols solve
  • Addressing
  • Creating RESTful web applications and working with flask and HTTP requests
  • Interacting flask with the SQLAlchemy database

In this chapter, we will be looking at some concepts and methods related to networks and network programming in Python, which we'll be using throughout this book.

This chapter has two sections. The first section, An introduction to TCP/IP networking, offers an introduction to essential networking concepts, with a strong focus on the TCP/IP stack. We'll be looking at what comprises a network, how the IP allows data transfer across and between networks, and how TCP/IP provides us with services that help us to develop network applications. This section is intended to provide a grounding in these essential areas and to act as a point of reference for them. If you're already comfortable with concepts such as IP addresses, routing, TCP and User Datagram Protocol (UDP), and protocol stack layers, then you may wish to skip to the second section, Python network programming through libraries.

In the second part, we'll look at the way in which network programming is approached with Python. This chapter provides a review of basic network elements and principles, as well as a discussion of how Python supports network programming with an overview of key libraries. Finally, we will introduce you to Wireshark, a protocol exploration and network programming diagnostic tool. We will also look at how we can interact with Wireshark from Python with the pyshark module.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset