Implementing a network sniffer using Python
Before learning about the implementation of a network sniffer, let's learn about a particular struct
method:
struct.pack(fmt, v1, v2, ...)
: This method returns a string that contains the valuesv1
,v2
, and so on, packed according to the given formatstruct.unpack(fmt, string)
: This method unpacks the string according to the given format
Let's discuss the code in the following code snippet:
import struct ms= struct.pack('hhl', 1, 2, 3) print (ms) k= struct.unpack('hhl',ms) print k
The output for the preceding code is as follows:
G:PythonNetworkingnetwork>python str1.py☻ ♥ (1, 2, 3)
First, import the struct
module, and then pack the 1
, 2
, and 3
integers in the hhl
format. The packed values are like machine code. Values are unpacked using the same hhl
format; here, h
means a short integer and l
means a long integer. More details are provided in the subsequent sections.
Consider the situation of the client-server model; let's illustrate it by means of...