Битовые поля в Scapy - PullRequest
       26

Битовые поля в Scapy

0 голосов
/ 10 апреля 2020

Я создал новый тип пакета:

class goober(Packet):
    fields_desc=[
        Bitfield("alpha",5,3),
        ByteField("bravo",100),
        Bitfield("charlie",3,0)
    ]

При отправке выдается ошибка. Но когда я изменяю порядок следующим образом, это работает:

class goober(Packet):
    fields_desc=[
        Bitfield("alpha",5,3),
        Bitfield("charlie",3,0),
        ByteField("bravo",100),
    ]

Проблема в том, что мне действительно нужна первая форма. Кто-нибудь может предложить способ сделать это? Можете ли вы указать мне пример?

1 Ответ

0 голосов
/ 10 апреля 2020

Вы просто должны продолжать использовать BitField, пока вы не сделаете кратное 8.

class goober(Packet):
    fields_desc=[
        BitField("alpha",0,3),
        BitField("bravo",100, 8),
        BitField("charlie",0,5)
    ]
...