向scapy添加新协议(类似于ARP)

2024-10-02 06:38:59 发布

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

我想实现一个新的安全ARP协议,是免疫的ARP中毒。新的“SecureArp”将保存一个签名字段,可以根据商定的hmac功能进行检查。 scapy定义如下:

  class SecureArp(Packet):
  name = "SecureARP"
  fields_desc = [IPField("srcip", None),
               MACField("srcmac", None),
               IPField("dstip", None),
               MACField("dstmac", "00:00:00:00:00:00"),
               IntEnumField("opcode", 1, { 1: "request", 2: "response" }),
               StrFixedLenField("challenge", "", length=24),
               StrFixedLenField("signature", "", length=20)]

我遇到的问题是,当接收到这样的SecureArp消息时,scapy根本不解析它,并将数据保留为“原始”。 我阅读了SecDev文档中关于扩展到一个新协议的内容,但它非常不清楚。 我应该采取什么步骤来自动解析接收到的SecureArp包? 谢谢


Tags: 功能none协议定义packethmaclengthclass

热门问题