我想在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,因此我的绑定命令必须正确。在
不知道哪里出错了。在
拜托,帮帮我!在
泰铢
克里斯
您的解析器可能失败了,但Scapy隐藏了它并将层解码为
Raw()
。在您可以:
packet.payload
是否是Raw
实例来进行检查。在conf.debug_dissector = True
来查找解剖器中崩溃的内容。在相关问题 更多 >
编程相关推荐