如何向udp数据包添加字段?

时间:2017-09-17 19:52:51

标签: python udp layer scapy network-protocols

我想使用scapy为UDP数据包添加一些字段。我试图再次写UDP类但它没有用。如何向udp数据包添加更多字段?

class UDP(Packet):
name = "UDP"
fields_desc=[StrLenField("omer","omer",100)]

1 个答案:

答案 0 :(得分:0)

以下代码段对我有用。我编写了自己的UDP类,它继承自Scapy UDP类。然后我从UDP复制fields_desc并添加一个新字段。如果没有复制,它也会改变Scapy UDP类的字段。

import scapy.all as scp

class MyUDP(scp.UDP):
    fields_desc = scp.UDP.fields_desc.copy()
    fields_desc.append(scp.StrLenField("omer","omer",100))

print(MyUDP().show()的结果是:

###[ UDP ]###
    sport     = domain
    dport     = domain
    len       = None
    chksum    = None
    omer      = 'omer'
None

我使用Python 3和scapy 3.0.0