Поле переменной длины с использованием dpkt - PullRequest
0 голосов
/ 10 октября 2018

Кто-нибудь знает, как реализовать поле переменной длины при создании собственного протокола с использованием 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),
)

С наилучшими пожеланиями

...