如何通过唯一的 IP 地址区分 PCAP

如何通过唯一的 IP 地址区分 PCAP

我有一个长达一小时的 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

您可以使用Pcap分离器这是普卡普包。您可以使用此工具按客户端 IP 拆分 pcap 文件,在您的案例中,您可能会得到 60 个文件,每个文件包含一次攻击。请按如下方式使用该工具:

PcapSpliter.exe -f <YOUR_PCAP> -m client-ip

你没有提到你使用的操作系统,但这个工具支持 Win32、Linux 和 Mac)

答案3

分拆资本只需一个命令就可以将每个单独 IP 地址的数据包拆分为单独的 pcap 文件:

SplitCap.exe -r capture.pcap -s host

此后,capture.pcap 中将为每个 IP 地址生成一个 pcap 文件。每个文件将包含发往和来自该特定 IP 地址的所有数据包。简单又实用!

SplitCap 是免费的,可从此处获取: http://www.netresec.com/?page=SplitCap

相关内容