写的时间间隔与Scapy的嗅捕获的数据包

问题描述 投票:1回答:1

我试图转储数据包通过Scapy的sniff功能,每10秒钟无济于事捕获的文件。

这是可能与像tcpdump的:tcpdump -s 0 -i <interface> -G 10 -w <output.pcap>G标志是rotate_seconds。

这是实现与Scapy的?

python scapy tcpdump
1个回答
1
投票

当然是的。看一看在wrpcap()文档。

从本质上讲,你可以简单的构建接收数据包,并采取行动的回调函数。这里是一个非常简单的例子,不一定拟功能。 (我在飞行写在这里),这应该保存一个帽文件中每100包。你只需要改变的逻辑依据,而不是基于分组计数时间。

#!/usr/bin/env python
from scapy import sniff

pendingPackets = []
baseFilename = "capture-"
totalPackets = 0

def handle_packet(packet):
    pendingPackets.append(packet)
    totalPackets += 1

    if len(pendingPackets) >= 100:
        filename = baseFilename + str(totalPackets) + ".pcap"
        wrpcap(filename, pendingPackets)
        pendingPackets = []

sniff(filter="ip", prn=handle_packet)
© www.soinside.com 2019 - 2024. All rights reserved.