我想分享一下我在使用libpcap和snort嗅探高容量(1 GB全双工,最大2 GB的聚合)networking链接时遇到的一些知识。 应用程序将成功侦听所有stream量,但在文件大小达到2 GB时会崩溃。
如果您在创build2 GB文件时遇到问题,即使您拥有支持该文件的文件系统,并且/或者您知道内核支持该文件,这也适合您。
对Linux的大文件支持(> 2GB)需要在三个不同的位置进行处理,以确保您不会遇到2 GB的最大文件大小限制:
在内核中启用大文件支持
一个支持大文件大小的文件系统(许多基于Linux的文件系统都可以(ext3,reiserfs> = 3.6等))
在使用的库或应用程序中支持大文件
自2.4.0-test7以来,内核对大文件的支持就已经存在; 如果您使用自定义内核,请确保您已包含大型文件选项。
大多数Linux文件系统支持大文件,但使用networking文件系统可能会遇到问题。
最后,库(即libpcap)和应用程序需要使用gcc选项-D _LARGEFILE64_SOURCE -D _FILE_OFFSET_BITS = 64进行编译。 检查以确保您使用的软件包是预编译这些选项还是自行打包。
在这里看到更多的细节。
看起来像这是一个libpcap的问题 …正如第一个答案中所述。
重新编译libpcap,或find另一个版本。