描述:
数据包嗅探程序。
netsniff-ng是一种快速,最小的工具,可借助零拷贝packet(7)套接字来分析网络数据包,捕获pcap文件,重播pcap文件以及在接口之间重定向流量。 netsniff-ng使用Linux特定的RX_RING和TX_RING接口执行零复制。 这是为了避免内核和用户地址空间之间的复制和系统调用开销。 当我们开始研究netsniff-ng时,pcap(3)库没有使用该零拷贝功能。
netsniff-ng是特定于Linux的,这意味着不支持其他操作系统。 因此,我们可以将代码占用量保持在最小限度内。 Linux packet(7)套接字及其RX_RING和TX_RING接口通过网络堆栈绕过正常的数据包处理路径。 这是开箱即用的用户空间所能提供的最快的捕获或传输性能,而不必加载不受支持或非主线的第三方内核模块。 我们明确拒绝在ntop / PF_RING之上构建netsniff-ng。 不是因为我们不喜欢它(我们确实发现它很有趣),而是因为它不是主线内核的一部分。 因此,ntop项目必须维护和同步树外驱动程序,以使其适应其DNA。 最终,我们选择了不受污染的Linux内核,因为其代码具有更高的审查,维护,安全性和错误修复率。
netsniff-ng还支持内核中的早期数据包过滤。 它支持将低级和高级数据包过滤器翻译成Berkeley数据包过滤器指令。
netsniff-ng可以捕获几种可以与其他工具互操作的pcap格式的pcap文件。 支持以下pcap I / O方法以进行有效的磁盘捕获:分散收集,mmap(2),read(2)和write(2)。 netsniff