有人知道在使用dpkt创建自定义协议时如何实现可变长度字段吗?
i.E。我可以像这样:
class MyLayer(Packet):
name = "MyLayer "
fields_desc=[
FieldLenField("len_bytesequence", None),
FieldListField("bytesequence", None, IntField("onebyte", 0), count_from=lambda pkt: pkt.len_bytesequence)
]
使用dpkt似乎并不容易。这是固定的8字节长字节序列的示例。我正在寻找的是用可变长度替换8,如“ len_bytesequence”字段中所示。
class MyLayer(dpkt.Packet):
__hdr__ = (
('len_bytesequence', 'H', 0),
('bytesequence', '8s', 0),
)
最诚挚的问候