1、章节导学
图二:
图三:
2、搭建基本服务框架
图一:网卡的工作模式
3、python操作字节序列
图一:
图二:
图三:
图四:
代码:
# -*- encoding=utf-8 -*-
import struct
# 八个字节
bin_str = b'ABCD1234'
print(bin_str)
# B一个字节转换为整数
# 把字节序列转换为整数 打印结果:(65, 66, 67, 68, 49, 50, 51, 52) 对应的是ASCII码的十进制表示
result = struct.unpack('>BBBBBBBB', bin_str)
print(result)
# H 两个字节转换为整数 此处只需要四个H就能处理八个字节了
result = struct.unpack('>HHHH', bin_str)
print(result)
# L 四个字节转换为整数 此处只需要两个L就能处理八个字节了
result = struct.unpack('>LL', bin_str)
print(result)
# s解析的就是ASCII码 此处有8个,所以要加个8
result = struct.unpack('>8s', bin_str)
print(result)
result = struct.unpack('>BBHL', bin_str)
print(result)
4、实现IP报文解析器
图一:
5、实现UDP报文解析器