【问题标题】:How to add fields to udp packets?如何向 udp 数据包添加字段?
【发布时间】:2017-09-17 19:52:50
【问题描述】:

我想使用 scapy 向 UDP 数据包添加一些字段。我尝试再次编写 UDP 类,但没有成功。如何向 udp 数据包添加更多字段?

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

【问题讨论】:

  • 这里没有找到答案,我的意思是创建udp数据包并添加字段,和socket一样吗?
  • 您的问题尚未解决。因此,请提供有关您要解决的问题的更多详细信息。提供有关您的代码、错误等的更多信息。
  • 我需要在 udp 数据包中隐藏信息,我想通过向 udp 数据包添加字段来实现。我没有错误,因为我根本不知道该怎么做。

标签: python udp layer scapy network-protocols


【解决方案1】:

以下代码 sn-p 对我有用。我编写了自己的 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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-21
    • 1970-01-01
    • 2021-11-01
    • 2016-01-11
    • 2017-02-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多