【问题标题】:Finding field size in byte for the fields Scapy support为 Scapy 支持的字段查找以字节为单位的字段大小
【发布时间】:2015-10-29 15:48:44
【问题描述】:

如何找到 Scapy 支持的特定字段的大小。例如 LongField 的大小(以字节为单位)是多少?我检查了 scapy 文档,但找不到 (http://www.secdev.org/projects/scapy/doc/build_dissect.html#fields) 。 是否有任何功能可以检查它,或任何共享此信息的文档。

【问题讨论】:

    标签: python size field byte scapy


    【解决方案1】:

    看看源代码。 Scapys 内置的 int 字段使用 struct.pack() 将整数转换为各种长度的 Big- 和 Little-Endian 表示。 LongFieldField 的实现,特别是将序列化为 fmt=Q,根据 struct 的 python 文档,其大小为 Q unsigned long long integer 8(另请参阅 struct.calcsize

    请始终注意,字段可以高度特定于一种协议。但是,对于基于 class Field 的字段,您可以尝试访问实例 fmt 属性。但是,这可能不准确,因为您的字段可能具有覆盖的序列化方法。 更通用的解决方案是生成一个 Field 的实例,对其进行序列化并调用 len()

    (注:链接非官方github镜像)

    【讨论】:

      猜你喜欢
      • 2010-09-17
      • 1970-01-01
      • 2013-05-03
      • 2014-01-27
      • 1970-01-01
      • 2017-09-14
      • 1970-01-01
      • 2011-06-17
      相关资源
      最近更新 更多