Linux 完整数据包捕获

Linux 完整数据包捕获

我正在寻找在 Ubuntu 服务器上建立完整的数据包捕获解决方案。我们的最大带宽小于 60Mb/s,服务器有 10K 个硬盘。

理想情况下,我希望能够将所有内容直接记录到 pcap 文件中,该文件每天轮换到新文件。能够删除超过给定时间段或空间阈值(即超过 30 天或超过最大存储空间的 90%)的 pcap 文件也将非常有利。

我已经调查过开放FPC,但开发似乎已经完全停止。两年多来没有发布任何新版本;否则,这正好符合要求。

SANS有一个关于如何设置 tcpdump 的深入教程,但系统实际上不允许删除旧文件。

对于企业网络的 Linux 服务器来说,运行完整数据包捕获的最佳解决方案是什么?

答案1

您可能希望使用 tshark 而不是 tcpdump。Tshark 使用相同的 pcap 格式,但它有更好的连续记录选项。

一个选择是tshark 环形缓冲模式

-b 使 TShark 以“多文件”模式运行。在“多文件”模式下,TShark 将写入多个捕获文件。当第一个捕获文件写满时,TShark 将切换到下一个文件,依此类推。

创建的文件名基于 -w 选项给出的文件名、文件编号以及创建日期和时间,例如 outfile_00001_20050604120117.pcap、outfile_00002_20050604120523.pcap、...

答案2

我相信tcpdump可以通过使用这些-W -C -G选项来实现这一点。请参阅手册页了解详情。

-W

与 -C 选项结合使用,这会将创建的文件数限制为指定数量,并从头开始覆盖文件,从而创建“旋转”缓冲区。此外,它将使用足够的前导 0 来命名文件,以支持最大文件数,从而使它们能够正确排序。与 -G 选项结合使用,这会限制创建的旋转转储文件的数量,达到限制时以状态 0 退出。如果也与 -C 一起使用,则此行为将导致每个时间片的循环文件。

相关内容