freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

PFQ:一款针对多核心架构的功能性网络框架
2019-04-08 15:00:29

PFQ:一款针对多核心架构的功能性网络框架

PFQ v6.2介绍

PFQ是一款针对Linux操作系统的功能性框架,可帮助研究人员捕捉网络传输数据包(10G、40G及以上),内核功能处理,内核绕过,以及获取多节点间的套接字/数据包。

该工具针对多核心架构以及配备了多硬件队列的网络设备进行了高度的定制优化,可兼容任意NIC,工具提供的脚本还可以生成加速网络设备驱动器。

PFQ允许研究人员自己开发高性能网络应用程序,工具内置了自定义版本的libpcap,可加速或并行处理遗留应用程序。此外,PFQ还支持专为内核数据包处理设计的纯函数语言:pfq-lang。

Pfq-lang受到了Haskell的启发,主要针对的是运行在网络设备驱动器上的特定应用程序。在pfq-lang的帮助下,研究人员可以构建高效的网桥、端口镜像、简单的防火墙以及网络负载均衡器等等。

工具框架包含了PFQ内核模块、用户空间库(C、C++11-14)、Haskell语言和加速pcap库的源代码,而且内置了pfq-lang编译器和一系列诊断工具。

工具功能

1、 获取完整无锁结构的数据路径。

2、 预先分配套接字缓冲区。

3、 兼容大量网络设备驱动器。

4、 对支持异步数据包传输的内核线程提供透明支持。

5、 支持多线程应用程序监控。

6、 通过随机散列或确定性分类进行分组数据包转发。

7、 VLAN数据过滤。

8、 针对C、C++11-14和Haskell语言的用户空间库。

9、 用于分析和编译pfg-lang程序的pfq-lang编译器。

10、针对遗留应用的加速PCAP库。

11、I/O用户<->内核内存映射。

12、Pfq-omatic脚本,自动加速普通驱动程序。

工具下载&安装

$ git clone git://github.com/pfq/PFQ.git

许可证协议

PFQ框架遵循GPL许可证协议。

项目地址

PFQ:【GitHub传送门

* 参考来源:pfq,FB小编Alpha_h4ck编译,转载请注明来自FreeBuf.COM

# linux # PFQ
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者