[英]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.