Cloudflare Company
Xdpcap-værktøjet er kompatibelt med tcpdump/libpcap-filtreringsudtryk og giver dig mulighed for at behandle betydeligt større mængder trafik på den samme hardware. Xdpcap kan også bruges til fejlretning i miljøer, hvor almindelig tcpdump ikke er anvendelig, såsom filtrering, DoS-beskyttelse og belastningsbalanceringssystemer, der bruger Linux-kernens XDP-undersystem, som behandler pakker, før de behandles af Linux-kernenetværksstakken (tcpdump ser ikke pakker droppet af XDP-handleren).
Høj ydeevne opnås ved brug af eBPF- og XDP-undersystemer. eBPF er en bytekode-fortolker indbygget i Linux-kernen, der giver dig mulighed for at skabe højtydende behandlere af indgående/udgående pakker med beslutninger om videresendelse eller kassering af dem. Ved hjælp af en JIT-compiler bliver eBPF-bytekode oversat til maskininstruktioner og udføres med native kodes ydeevne. XDP (eXpress Data Path) undersystemet supplerer eBPF med evnen til at køre BPF-programmer på netværksdriverniveau, med understøttelse af direkte adgang til DMA-pakkebufferen og arbejde på stadiet før skbuff-bufferen tildeles af netværksstakken.
Ligesom tcpdump oversætter xdpcap-værktøjet først trafikfiltreringsregler på højt niveau til den klassiske BPF-repræsentation (cBPF) ved hjælp af standard libpcap-biblioteket og konverterer dem derefter til form af eBPF-rutiner ved hjælp af en compiler
Kilde: opennet.ru