Кто-нибудь знает, как реализовать поле переменной длины при создании собственного протокола с использованием dpkt?
iE в scapy Я мог бы сделать это так:
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),
)
С наилучшими пожеланиями