Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/346.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用python高效地读取cap文件?_Python_Python 3.x - Fatal编程技术网

如何使用python高效地读取cap文件?

如何使用python高效地读取cap文件?,python,python-3.x,Python,Python 3.x,我有一些.CAP文件(不是PCAP文件)是通过tcpdump捕获包得到的 当我尝试用wireshark打开时,机器会变得非常慢,因为我想象它试图将所有东西加载到RAM中 我不需要一次读完整个文件。假设我只想从时间(time)=9:15 p.m.到11:12 p.m.读取.CAP文件,而不是将所有文件加载到内存中 我如何用Python实现它 这是一个CAP文件: 安装scapy:pip安装scapy from scapy.all import * pkts = rdpcap("file.cap"

我有一些.CAP文件(不是PCAP文件)是通过tcpdump捕获包得到的

当我尝试用wireshark打开时,机器会变得非常慢,因为我想象它试图将所有东西加载到RAM中

我不需要一次读完整个文件。假设我只想从时间(time)=9:15 p.m.到11:12 p.m.读取.CAP文件,而不是将所有文件加载到内存中

我如何用Python实现它

这是一个CAP文件:


安装scapy:pip安装scapy

from scapy.all import *

pkts = rdpcap("file.cap")

我能想到的最简单的方法是在数据包进入Python之前对其进行过滤
tshark
是一个可以帮助实现这一点的工具。我还没有尝试过,但我认为可以使用
-r
选项读取文件,然后使用过滤器对其进行过滤。CAP和PCAP是相同的吗?我指的是可以在Wireshark中查看的文件。这个.cap文件看起来像一个wireshark屏幕截图,所以是的,我们这里讨论的可能是相同的文件类型。