gpt4 book ai didi

python - 按时间间隔写入scapy sniff捕获的数据包

转载 作者:行者123 更新时间:2023-12-01 08:23:39 26 4
gpt4 key购买 nike

我正在尝试将数据包转储到 scapy sniff 捕获的文件中每 10 秒运行一次,但无济于事。

这可以通过 tcpdump 实现,例如: tcpdump -s 0 -i <interface> -G 10 -w <output.pcap>G标志是rotate_seconds。

这可以通过 scapy 实现吗?

最佳答案

当然是这样。查看 wrpcap() 文档。

本质上,您只需构建一个接收数据包并采取操作的回调函数。这是一个非常简单的示例,不一定具有功能性。 (我在这里即时编写)这应该每 100 个数据包保存一个 cap 文件。您只需将逻辑更改为基于时间而不是基于数据包计数。

#!/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)

关于python - 按时间间隔写入scapy sniff捕获的数据包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54444879/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com