Spoločnosť Cloudflare
Pomôcka xdpcap je kompatibilná s výrazmi filtrovania tcpdump/libpcap a umožňuje vám spracovať výrazne väčšie objemy prevádzky na rovnakom hardvéri. Xdpcap je možné použiť aj na ladenie v prostrediach, kde nie je možné použiť bežný tcpdump, ako je filtrovanie, ochrana DoS a systémy vyvažovania záťaže, ktoré používajú subsystém XDP jadra Linuxu, ktorý spracováva pakety pred ich spracovaním sieťovým zásobníkom jadra Linuxu (tcpdump nevidí pakety zahodené obslužným programom XDP).
Vysoký výkon sa dosahuje použitím subsystémov eBPF a XDP. eBPF je interpret bajtového kódu zabudovaný do linuxového jadra, ktorý vám umožňuje vytvárať vysokovýkonné obslužné programy prichádzajúcich/ochádzajúcich paketov s rozhodnutiami o ich preposielaní alebo vyhadzovaní. Pomocou kompilátora JIT sa bajtový kód eBPF za behu preloží do strojových inštrukcií a vykoná sa s výkonom natívneho kódu. Subsystém XDP (eXpress Data Path) dopĺňa eBPF o možnosť spúšťať BPF programy na úrovni sieťového ovládača, s podporou priameho prístupu do vyrovnávacej pamäte paketov DMA a práce vo fáze pred pridelením vyrovnávacej pamäte skbuff sieťovým zásobníkom.
Podobne ako tcpdump, pomôcka xdpcap najprv preloží pravidlá filtrovania návštevnosti na vysokej úrovni do klasickej reprezentácie BPF (cBPF) pomocou štandardnej knižnice libpcap a potom ich pomocou kompilátora prevedie do podoby rutín eBPF.
Zdroj: opennet.ru