Scapy PcapReader:未知 LL 类型 [197]/[0xc5]。使用原始数据包。警告
Scapy PcapReader: Unknown LL Type [197]/[0xc5]. Using raw packets. Warning
我正在使用 Python 和 Scapy 库来读写 .cap
文件,但是我的一个 .pcap
文件在阅读时给了我这个 error/warning并且没有数据包被写入输出。其他 .pcap
个文件工作正常(我自己录制的)。
下面是代码,我正在使用。感谢任何有关该主题的帮助。
from scapy.all import *
import os
count = 0
file_name = "/root/Desktop/test.pcap"
data = rdpcap(file_name)
os.system("clear")
filtered = (pkt for pkt in data
if UDP in pkt)
def counting(count):
for pkt in data[UDP]:
count += 1
print count
counting(count)
wrpcap("/root/Desktop/testing.pcap", filtered)
警告指出指定文件包含 scapy
不支持的 link 类型 197
的数据包,因此数据包被解释为原始数据包。
由于这些是原始数据包,scapy
无法在其中找到 UDP
层。因此,表达式 (pkt for pkt in data if UDP in pkt)
的计算结果是一个没有要生成的项目的生成器。
因此,执行时wrpcap("/root/Desktop/testing.pcap", filtered)
写入一个空文件。
搜索此 link 类型 here 显示 tcpdump
将此 link 类型命名为 LINKTYPE_ERF
并且它代表各种 link-layer类型,带有 pseudo-header,用于 Endace DAG
卡片,它封装了 Endace ERF
条记录。
一些简单的研究表明,您可以将指定文件从 ERF
格式转换为 scapy
支持的普通 pcap
格式。有一些在线资源可以帮助您完成此过程,例如 this and this. Since Wireshark
supports this format,您也可以通过 Wireshark
打开文件并以不同的格式保存它。
我正在使用 Python 和 Scapy 库来读写 .cap
文件,但是我的一个 .pcap
文件在阅读时给了我这个 error/warning并且没有数据包被写入输出。其他 .pcap
个文件工作正常(我自己录制的)。
下面是代码,我正在使用。感谢任何有关该主题的帮助。
from scapy.all import *
import os
count = 0
file_name = "/root/Desktop/test.pcap"
data = rdpcap(file_name)
os.system("clear")
filtered = (pkt for pkt in data
if UDP in pkt)
def counting(count):
for pkt in data[UDP]:
count += 1
print count
counting(count)
wrpcap("/root/Desktop/testing.pcap", filtered)
警告指出指定文件包含 scapy
不支持的 link 类型 197
的数据包,因此数据包被解释为原始数据包。
由于这些是原始数据包,scapy
无法在其中找到 UDP
层。因此,表达式 (pkt for pkt in data if UDP in pkt)
的计算结果是一个没有要生成的项目的生成器。
因此,执行时wrpcap("/root/Desktop/testing.pcap", filtered)
写入一个空文件。
搜索此 link 类型 here 显示 tcpdump
将此 link 类型命名为 LINKTYPE_ERF
并且它代表各种 link-layer类型,带有 pseudo-header,用于 Endace DAG
卡片,它封装了 Endace ERF
条记录。
一些简单的研究表明,您可以将指定文件从 ERF
格式转换为 scapy
支持的普通 pcap
格式。有一些在线资源可以帮助您完成此过程,例如 this and this. Since Wireshark
supports this format,您也可以通过 Wireshark
打开文件并以不同的格式保存它。