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 values v1, v2, and so on, packed according to the given format
- struct.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...