Linux全包捕获

我期待在Ubuntu服务器上站起来一个完整的数据包捕获解决scheme。 我们的最大带宽是<60Mb / s,服务器有10K硬盘。

理想情况下,我希望能够将所有内容直接logging到一个pcap文件,该文件每天都会旋转到一个新文件。 有能力去除超过给定时间段或空间阈值(即超过30天或超过最大存储空间的90%)的pcap文件也将是非常有利的。

我已经看了OpenFPC ,但发展似乎已经完全停止。 没有新的版本已经发布2年多了, 否则,这将符合法案就好了。

SANS有关于如何为此设置tcpdump的深入教程,但是系统并没有真正允许删除旧文件的方法。

在企业networking的Linux服务器上运行完整数据包捕获的最佳解决scheme是什么?

你可能想用tshark来代替tcpdump。 Tshark使用相同的pcap格式,但它具有更好的连续日志logging选项。

一个选项是tshark环形缓冲模式 。

-b导致TShark在“多个文件”模式下运行。 在“多文件”模式下,TShark将写入多个捕获文件。 当第一个捕获文件填满时,TShark将切换写入下一个文件等等。

创build的文件名是基于与-w选项给出的文件名,文件的编号和创builddate和时间,例如outfile_00001_20050604120117.pcap,outfile_00002_20050604120523.pcap,…

我相信tcpdump可以通过使用-W -C -G选项来完成此操作。 详情请参阅手册页 。

-W

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