我如何使用 scapy 和 ASN1?

How can I use scapy & ASN1?

我必须与 scapy 一起使用 ASN 描述文件 .asn 来伪造数据包。后者包括标签和基本类型的组合,例如 BOOL、INTEGER 等。但是,我在 Internet 上找不到任何内容来解释它是如何工作的。 基本上,我如何指定我想使用给定的文件来 scapy?那么,如何创建符合 .asn 文件中描述的数据包?

非常感谢

PS : 我的母语不是英语,所以英语不好请见谅

您应该按照 Adding a protocol. Scapy already support ASN.1 fields 中的定义使用 scapy 定义数据包,但我认为它不能从规范文件中自动生成。

这里的一个例子是一个数据包,它应该有一个符合 ANS1 规范的字符串

class SimpleASN(Packet):
    name = "simpleasn"
    field_desc = [
        ASN1F_STRING("echo", ""),
    ]