[英]Adding PTPv2 layer to scapy
我想在 python (v2.7) 中向 scapy (v2.3.3) 添加 PTPv2 层。 我将带有 PTP 条目的 ptpv2 类添加到文件 /scapy/layers/inet.py(因为 PTP 位于第 4 层)。 我还将 ptpv2 层绑定到上层,在我的例子中是以太网。
bind_layers(Ethernet,ptpv2)
通过键入 scapy 命令“ls()”,列出了创建的 ptpv2 层,ok,成功。 但是通过python命令访问层
for packet in PcapReader('/media/sf_SharedFolder/test.pcap'):
if packet[ptpv2].sequenceId == anything:
# do sth
出现以下错误:
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 文件具有层 Frame -> Ethernet -> PTP,所以我的绑定命令必须是正确的。
不知道错误在哪里。
请帮助我!
谢谢
克里斯
您的解剖器可能失败了,但 Scapy 隐藏了它并将该层解码为Raw()
。
你可以:
packet.payload
是一个Raw
实例来检查。conf.debug_dissector = True
来查找解剖器中崩溃的内容。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.