代码之家  ›  专栏  ›  技术社区  ›  crappidy

在scapy中绑定自定义层

  •  1
  • crappidy  · 技术社区  · 7 年前

    这些数据包将被wireshark捕获。 我使用另一个python脚本遍历捕获文件。 所以我必须将这些层添加到scapy。

    这是wireshark中的数据包: enter image description here

    class ieee(Packet):
      name = "IEEE 1722 Packet"
      fields_desc=[ XByteField("subtype", 0x00),
                    XByteField("svfield", 0x81),
                    XByteField("verfield", 0x81)]
    
    bind_layers(Dot1Q, ieee1722, type=0x22f0)
    

    当我执行python脚本(该脚本应获取新层(IEEE 1722协议)中的参数)时,会发生以下错误: “索引器:未找到层[ieee1722]”

    2 回复  |  直到 7 年前
        1
  •  2
  •   crappidy    6 年前

    好的,通过编辑类型值找到解决方案:

      bind_layers(Dot1Q, ieee1722, type=0x88f7) ---> works
    

    Dot1Q是创建的ieee1722层之上的层(请参见wireshark)。 您可以通过单击wireshark中数据包的层来查看类型值。

        2
  •  1
  •   Sirmabus    3 年前
    推荐文章