向scapy添加PTPv2层

2024-09-29 02:27:02 发布

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

我想在python(v2.7)中向scapy(v2.3.3)添加一个PTPv2层。我将带有PTP条目的ptpv2类添加到/scapy/layers文件中/inet.py(因为PTP位于第4层)。我还将ptpv2层绑定到上层,在我的例子中是以太网。在

bind_layers(Ethernet,ptpv2)

通过输入scapy命令“ls()”,创建的ptpv2层被列出,好,成功。但是通过python命令访问层

^{pr2}$

出现以下错误:

File "/usr/lib/python2.7/dist-packages/scapy/packet.py", line 817, in __getitem__
  raise IndexError("Layer [%s] not found" % lname)
IndexError: Layer [ptpv2] not found

Wireshark文件具有layers Frame->;Ethernet->;PTP,因此我的绑定命令必须正确。在

不知道哪里出错了。在

拜托,帮帮我!在

泰铢

克里斯


Tags: 文件py命令gtlayerlayersnotscapy
1条回答
网友
1楼 · 发布于 2024-09-29 02:27:02

您的解析器可能失败了,但Scapy隐藏了它并将层解码为Raw()。在

您可以:

  • 通过检查packet.payload是否是Raw实例来进行检查。在
  • 尝试通过设置conf.debug_dissector = True来查找解剖器中崩溃的内容。在

相关问题 更多 >