尝试在 python 中使用原始套接字创建数据包嗅探器,并希望使用 struct.unpack 方法解析完整的 TCP 标头,但是 tcp 标头中的某些字段如 HLEN(4bits) 和偏移量、URG、ACK、PST、RST、SYN、FIN在位而不是 Byte 上。所以我的问题是如何从标头解析这些值!
问问题
1186 次
1 回答
0
你可以使用:
这是一个例子:
from ctypes import c_int32, c_uint32, Structure, Union
class _bits(Structure):
_fields_ = [
("odd", c_uint32, 1),
("half", c_uint32, 31),
]
class Int(Union):
_fields_ = [
("bits", _bits),
("number", c_uint32),
]
a = Int(number=12345)
a.bits.odd, a.bits.half
结果:
>>> a = Int(number=12345)
>>> a.bits.odd, a.bits.half
(1L, 6172L)
于 2013-08-22T07:26:21.350 回答