我有一个长达一小时的 PCAP 文件,其中包含了我们工作测试网络上发生的大约 60 次单独网络攻击。每次攻击都来自一个独特的 IP 地址,该地址在一小时内未在其他地方使用过。
我想从这个文件中制作 60 个 pcap,但也包括背景流量。
袭击发生的时间没有实际规律(即第一分钟可能发生 6 次袭击,然后接下来的 10 分钟内可能发生 1 次袭击)。
我可以将其分离成仅捕获攻击的文件,但我对其中的背景流量也非常感兴趣。
为了阐明我需要这个的原因,我正在使用这些数据来尝试训练基于机器学习的网络传感器。
答案1
假设您在名为 的文件中拥有攻击 IP 列表attack-ips
,原始转储在 中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
过滤器选择发往或来自攻击 IP 的流量,或者既不是发往攻击范围的流量也不是来自攻击范围的流量(以排除所有其他攻击 IP)。
答案2
答案3
分拆资本只需一个命令就可以将每个单独 IP 地址的数据包拆分为单独的 pcap 文件:
SplitCap.exe -r capture.pcap -s host
此后,capture.pcap 中将为每个 IP 地址生成一个 pcap 文件。每个文件将包含发往和来自该特定 IP 地址的所有数据包。简单又实用!
SplitCap 是免费的,可从此处获取: http://www.netresec.com/?page=SplitCap