我正在使用socket并尝试了解如何找到良好的格式字符来解压以太网帧。
例如,要解压缩以太网帧,我们可以这样做:
struct.unpack("! 6s 6s H", data[0:14])
我们怎么知道它是“6s 6s H”?
答案 0 :(得分:0)
以太网数据包由
组成MAC地址长度为48位或6个字节。 Type是一个1字节的字段。
如果我对这些标题有疑问,我会使用Wireshark并查看其解释。他们还有wiki来解释结构。
在字符串中,para1 para2 c1 c2 c3 c4 c5 c6 mean
ast abc 3 4 NR 6 8 6 20.8
ast pqr 4 8 2 5 3 2 4
bc sd -0.3 2 0.4 NR NR 3 3
告诉在解包时使用标准大小和网络字节序(大端),!
需要6个字符来构建目标地址的字符串,6s
需要源地址和6s
采用类型的无符号短整数。