1

私は独自のプロトコルをコーディングしており、Scapy長さフィールドの計算に問題がありました (こちらを参照)。ビットフィールドで定義された長さレイヤーで遭遇した別の問題は、定義されていないレイヤーで長さフィールドを返すために呼び出すと、値が返されることです。を呼び出すとhasattr(pckt[layer], 'field')、属性/フィールドが存在することを示す「true」が返されます。レイヤー定義が以下に示されているため、これは私には意味がありません。

class Layer(Packet):
   name = "Layer"
   fields_desc = [ BitField("Padding", 15, 4),
           BitField("Digit", 0, 4) ]

ご覧のとおり、定義されている属性/フィールドはPaddingとのみですDigitLengthが定義されていないのに、なぜ がScapy整数を返し、true私が実行している 2 つの呼び出しに対して?

4

0 に答える 0