云耀公司
xdpcap 实用程序与 tcpdump/libpcap 过滤表达式兼容,并允许您在同一硬件上处理大量流量。 Xdpcap 还可以用于在常规 tcpdump 不适用的环境中进行调试,例如使用 Linux 内核 XDP 子系统的过滤、DoS 保护和负载平衡系统,该子系统在数据包被 Linux 内核网络堆栈 (tcpdump没有看到 XDP 处理程序丢弃的数据包)。
通过使用 eBPF 和 XDP 子系统实现高性能。 eBPF 是内置于 Linux 内核中的字节码解释器,允许您创建传入/传出数据包的高性能处理程序,并决定转发或丢弃它们。 使用 JIT 编译器,eBPF 字节码可即时转换为机器指令,并以本机代码的性能执行。 XDP(eXpress Data Path)子系统补充了 eBPF,能够在网络驱动程序级别运行 BPF 程序,支持直接访问 DMA 数据包缓冲区,并在网络堆栈分配 skbuff 缓冲区之前的阶段工作。
与 tcpdump 一样,xdpcap 实用程序首先使用标准 libpcap 库将高级流量过滤规则转换为经典 BPF 表示形式 (cBPF),然后使用编译器将它们转换为 eBPF 例程的形式
来源: opennet.ru