I have fixed in an indirect way. I am using
tcpdump -G 3600 -i interface -n -w %H-Capture.pcap
From here I collect all the statistics about discarded packets and filtered and so on. Please mind that to minimize the percentage of discarded packet the option
-n
is vital since it basically says not to resolve each host in the packets captured
-G
instead basically tells to cycle over 3600 seconds creating i.e. a file each hour.
After this I just go Scapy from cli and in scapy I do the following:
x = rdpcap("myfile")
len_x = len(x)
for i in x:
if TCP in i:
i.show()
this will show only the TCP packets. If you want you can also filter UDP or ICMP and so on in the same way.