gpt4 book ai didi

python - 使用 Scapy 逐步剖析有效负载的每个部分

转载 作者:行者123 更新时间:2023-12-01 06:00:41 31 4
gpt4 key购买 nike

我想知道如何使用 Scapy 根据不同的字段类型/长度来剖析有效负载。

例如,我有这个=>

|###[ Raw ]###
| | load='\x00!\x92(\x00!\x92(\x00\x00\x01\x0c\x00\x00\x00\x01\x00\x01\x00\x00\xc0\xa8\x03\x01\xc0\xa8\x03\x02\x01\xc0\x00\x00\x03\x03\x00\x00\x00\x00\x00\x00\x18\x18\x10\x00\x00\x00\x00\x00'

我想逐步划分每个部分:第一部分为 2 个字节/第二部分为 4 个字节等...

实际上,我使用 Scapy 添加了一个新协议(protocol),但最后一部分管理起来非常复杂,所以这就是为什么我选择/尝试以这种方式剖析有效负载的最后部分(如上所述)。

最佳答案

在 Scapy 中剖析复杂协议(protocol)的最佳方法是了解所有可用字段(由于其文档质量较差,这可能很困难)。

Scapy 支持的字段列表:http://trac.secdev.org/scapy/wiki/Fields

特别看看 ConditionalField:

ConditionalField(XShortField("chksum",None),lambda pkt:pkt.chksumpresent==1)

此外,了解如何使用guess_payload_class() 在 Scapy 解剖过程中选择不同的层。如果您想将其分解为小部分(2 字节/4 字节等),请考虑为每个部分创建一个层并使用guess_payload_class()。 http://trac.secdev.org/scapy/wiki/BuildAndDissect

如果您对如何剖析某些字段有更具体的问题,我可以尝试回答它,但目前这是我可以针对您的一般问题提供的最佳建议。希望对您有所帮助。

关于python - 使用 Scapy 逐步剖析有效负载的每个部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10619481/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com