使用scapy创建可变长度字段

时间:2014-04-14 14:01:56

标签: python network-programming network-protocols scapy

我正在尝试使用scapy创建一个新层来构建特定的数据包。在这一层,我正在添加不同的字段,但我不知道如何添加可变长度的字段。

你能告诉我一个用scapy创建一个可变长度字段的例子吗?

谢谢。

1 个答案:

答案 0 :(得分:0)

请参阅scapy build dissect

class FOO(Packet):
    name = "FOO"
    fields_desc = [ VarLenQField("len", None, "data"),
                    StrLenField("data", "", "len") ]

    >>> f = FOO(data="A"*129)
    >>> f.show()
    ###[ FOO ]###
      len= 0
      data=    'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'