我有一个小时的PCAP文件,它在我们的testingnetworking上有大约60个单独的networking攻击在这里工作。 每次攻击都来自一个独特的IP地址,这个IP地址在一小时内并没有在别处使用
我想从这个文件中制作60个pcap,还包括背景stream量。
发生攻击时没有真正的模式(即第一分钟可能有6个,接下来的10分钟可能会有1个)。
我可以将它们分离成只捕获攻击的文件,但我真的有兴趣在那里有背景stream量。
为了澄清我需要这个的理由,我正在使用这些数据来试图训练一个基于机器学习的networking传感器。
假设你有一个名为attack-ips的文件中的攻击IP列表, capture.pcap的原始转储文件,攻击范围是1.0.0.0/24,那么下面的脚本使用tcpdump来完成这个工作:
while read ATTACKIP; do tcpdump -n -r capture.pcap -w "$ATTACKIP.pcap" "host $ATTACKIP or not net 1.0.0.0/24" done < attack-ips
filterselect攻击IP的stream量,或者从攻击范围中selectstream量,或者从攻击范围中selectstream量(排除所有其他攻击IP)。
您可以使用PcapPlusPlus软件包中的PcapSplitter 。 您可以使用此工具通过客户端IP分割pcap文件,在您的情况下,您可能会得到60个文件,每个文件包含一个攻击。 请使用如下工具:
PcapSpliter.exe -f <YOUR_PCAP> -m client-ip
你没有提到你正在使用的操作系统,但是这个工具同时支持Win32,Linux和Mac)
SplitCap可以通过一个命令将每个IP地址的数据包拆分为单独的pcap文件:
SplitCap.exe -r capture.pcap -s host
在这之后,您将在capture.pcap中为每个IP地址创build一个pcap文件。 每个文件将包含去往和来自该特定IP地址的所有包。 甜而简单!
SplitCap是免费的,可在这里: http : //www.netresec.com/? page=SplitCap