pf_ring

linux zmap

亡梦爱人 提交于 2021-01-31 14:46:44
https://github.com/zmap/zmap ZMap is a fast single packet network scanner designed for Internet-wide network surveys. On a typical desktop computer with a gigabit Ethernet connection, ZMap is capable scanning the entire public IPv4 address space in under 45 minutes. With a 10gigE connection and PF_RING , ZMap can scan the IPv4 address space in under 5 minutes. ZMap operates on GNU/Linux, Mac OS, and BSD. ZMap currently has fully implemented probe modules for TCP SYN scans, ICMP, DNS queries, UPnP, BACNET, and can send a large number of UDP probes . If you are looking to do more involved scans,

高速数据包捕获、过滤和分析PF_RING

僤鯓⒐⒋嵵緔 提交于 2020-08-17 08:59:36
PF_RING™是一种新型的网络套接字,可显着提高数据包捕获速度,并且具有以下特性: 适用于Linux内核2.6.32及更高版本。 无需修补内核:只需加载内核模块。 使用商用网络适配器的 10 Gbit硬件数据包过滤 用户空间 ZC (新一代DNA,Direct NIC Access,直接NIC访问)驱动程序可实现极高的数据包捕获/传输速度,这是因为NIC NPU(网络处理单元)在没有任何内核干预的情况下将数据包从用户域推送/获取数据包。使用10Gbit ZC 驱动程序,您可以以线速发送或接收任何大小的数据包。 PF_RING ZC 库,用于在线程、应用程序、虚拟机之间以零拷贝分发数据包。 设备驱动程序独立。 支持Accolade,Exablaze,Endace,Fiberblaze,Inveatech,Mellanox,Myricom / CSPI,Napatech,Netcope和Intel(ZC)网络适配器。 基于内核的数据包捕获和采样。 Libpcap支持(请参见下文)可与现有的基于pcap的应用程序无缝集成。 除BPF外,还可以指定数百个标题过滤器。 内容检查,以便仅通过与有效负载过滤器匹配的数据包。 PF_RING™插件,用于高级数据包解析和内容过滤。 Vanilla PF_RING™ PF_RING™正在通过Linux NAPI轮询来自NIC的数据包

Linux内核的TCP协议栈和内核旁路的选择?

北城以北 提交于 2020-05-02 10:18:05
 【前言】最近在实习公司用到了solarflare的万兆网卡,用到了网卡的openonload技术还有TCPDirect模式代码的编写,其理论基础都是内核旁路。网上关于内核旁路技术的介绍基本就两篇,我结合solarflare的技术文档,总结一下。   原文地址(需要翻墙):https://blog.cloudflare.com/why-we-use-the-linux-kernels-tcp-stack/   转:最近的一篇文章提出了“我们为什么使用Linux内核的TCP协议栈”的问题,并在Hacker News引发了非常有意思的讨论。我的经验绝大部分来自于在这里和生产环境中成千的机器打交道,我可以试着从这个角度回答这个问题。   让我们从一个更宽泛的问题开始 – 到底什么才是运行一个操作系统的意义?如果你打算运行一个单独的应用,那使用一个包含几千万行代码的内核听起来就像一个负担。但实际上,我们绝大多数的人都决定要使用某种类型的操作系统,并且我们这么做主要有两个原因。首先,操作系统层带来了硬件的独立性和容易使用的API。有了这些我们可以专注于编写适用于任何机器的代码 – 而不只是我们目前所拥有的特定的硬件。其次,操作系统添加了一个时间分享的层。这让我们能同时运行多个应用。不管是一个额外的HTTP 服务器还是一次Bash会话,这个能在多个进程之间共享资源十分重要

pfring(pf_ring)编译安装

萝らか妹 提交于 2020-03-02 04:01:35
1、pfring(pf_ring)简介 pfring(pf_ring)主页 http://www.ntop.org/products/pf_ring/; pfring(pf_ring)是一种加速处理数据包的实现方法,能够比较有效地提高网卡获取和发送数据包的速度,类似所谓的“零拷贝”技术; pfring(pf_ring)的安装包中带有支持pfring(pf_ring)的libpcap,与原版的libpcap接口兼容; 2、e100e网卡上安装pfring(pf_ring) 下载pfring(pf_ring),地址为 http://www.ntop.org/get-started/download/#PF_RING 按照文档中的说明进行编译: cd PF_RING/kernel make sudo insmod ./pf_ring.ko cd ../userland make 源码目录结构如下: drivers:支持pfring的网络驱动,要是用使用pfring的话,需要进入到相应的驱动目录用make install命令安装; kernel:内核模块代码;好像是5.0以后的pfring都不许要重新编译内核,只需要按照上面的命令编译通过以后,插入模块sudo insmod ./pf_ring.ko就能使用; userland:pfring提供的用户应用程序,主要包括libpcap-1.1