与Scapy一步一步地解剖每一部分有效载荷

2024-09-28 20:57:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我想知道如何使用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添加了一个新的协议,但是最后一个部分非常复杂,所以我选择/尝试用这种方式(如上)来剖析有效负载的最后一部分。在


Tags: gt类型raw字节loadscapyx00x03
1条回答
网友
1楼 · 发布于 2024-09-28 20:57:59

在Scapy中分析复杂协议的最好方法是理解所有可用字段(由于文档不完善,这可能很困难)。在

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

尤其要注意条件字段:

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

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

如果你有一个关于如何剖析某些领域的更具体的问题,我可以试着回答它,但就目前而言,这是我能给你的一般性问题的最好建议。希望有帮助。在

相关问题 更多 >