Cloudflare Company
Xdpcap-verktøyet er kompatibelt med tcpdump/libpcap-filtreringsuttrykk og lar deg behandle betydelig større mengder trafikk på samme maskinvare. Xdpcap kan også brukes til feilsøking i miljøer der vanlig tcpdump ikke er aktuelt, for eksempel filtrering, DoS-beskyttelse og lastbalanseringssystemer som bruker Linux-kjernens XDP-delsystem, som behandler pakker før de behandles av Linux-kjernens nettverksstabel (tcpdump ser ikke pakker droppet av XDP-behandleren).
Høy ytelse oppnås gjennom bruk av eBPF- og XDP-delsystemer. eBPF er en bytekode-tolk innebygd i Linux-kjernen som lar deg lage høyytelses-behandlere av innkommende/utgående pakker med beslutninger om videresending eller forkasting. Ved å bruke en JIT-kompilator blir eBPF-bytekode oversatt til maskininstruksjoner og utført med ytelsen til opprinnelig kode. XDP (eXpress Data Path)-undersystemet utfyller eBPF med muligheten til å kjøre BPF-programmer på nettverksdrivernivå, med støtte for direkte tilgang til DMA-pakkebufferen og arbeid på stadiet før skbuff-bufferen tildeles av nettverksstakken.
I likhet med tcpdump, oversetter xdpcap-verktøyet først trafikkfiltreringsregler på høyt nivå til den klassiske BPF-representasjonen (cBPF) ved å bruke standard libpcap-biblioteket, og konverterer dem deretter til form av eBPF-rutiner ved hjelp av en kompilator
Kilde: opennet.ru