python - 整数数组作为 Scapy 自定义字段

标签 python python-2.7 scapy

我试图伪造的数据包是这样的:

p = IP()/TCP()/Unique()

其中 Unique 是一个新层:

class Unique(Packet):
name = "Unique"
fields_desc=[ IntField("a", 0),
         IntField("b", 0),
         IntField("c", 0)]

我不知道如何定义包含整数数组的字段。 有没有办法做到这一点? 我不想拥有三个字段“a”、“b”和“c”,而是希望拥有一个包含三个整数的字段。

由于 3 是一个可变数字,我可以使用的另一种可能的方法是使用 n IntField 其中 n 是可变的,但我也不知道如何做到这一点,我将不胜感激任何帮助.

最佳答案

我猜 FieldListField 是 scapy 相当于您正在搜索的内容。它定义了任意数量的相同类型字段的数组/列表。

class Unique(Packet):
    name = "Unique"
    fields_desc=[FieldListField("my_array", None, IntField("bla",0))]

>>> Unique(my_array=[1,2,3,4,5]).show()
###[ Unique ]###
  my_array= ['1', '2', '3', '4', '5']
>>> hexdump(Unique(my_array=[1,2,3,4,5]))
0000   00 00 00 01 00 00 00 02  00 00 00 03 00 00 00 04   ................
0010   00 00 00 05                                        ....

关于python - 整数数组作为 Scapy 自定义字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35393493/

相关文章:

python - 如何创建 HTTP GET 请求 Scapy?

python - 如何将 pcap 文件中的 Raw 部分转换为正常格式?

python - Scapy: undefined variable 'Dot11Beacon' 和 'Dot11Elt'

python - Pandas - 两列作为索引(有效时间和行号)?

python - 保留 beautifulSoup python 中的子元素?

python无法加载具有utf-8编码的json文件

python - 如何使用Python从dict中提取具有特定模式的键列表?

python - 从列表列表中随机选择项目给出 ValueError

Python:如何在 Pandas 中进行条件操作?

python比较,出问题了