Cloudflare Company
Ang xdpcap utility ay katugma sa tcpdump/libpcap filtering expressions at nagbibigay-daan sa iyong magproseso ng mas malalaking volume ng trapiko sa parehong hardware. Magagamit din ang Xdpcap para sa pag-debug sa mga kapaligiran kung saan hindi naaangkop ang regular na tcpdump, tulad ng pag-filter, proteksyon ng DoS, at mga sistema ng pagbabalanse ng load na gumagamit ng Linux kernel XDP subsystem, na nagpoproseso ng mga packet bago ang mga ito ay naproseso ng Linux kernel networking stack (tcpdump ay hindi nakakakita ng mga packet na ibinagsak ng XDP handler).
Ang mataas na pagganap ay nakakamit sa pamamagitan ng paggamit ng eBPF at XDP subsystem. Ang eBPF ay isang bytecode interpreter na binuo sa Linux kernel na nagbibigay-daan sa iyong lumikha ng mga handler na may mataas na pagganap ng mga papasok/papalabas na packet na may mga desisyon tungkol sa pagpapasa o pagtatapon sa mga ito. Gamit ang isang JIT compiler, ang eBPF bytecode ay isinalin sa mabilisang mga tagubilin sa makina at isinasagawa sa pagganap ng native code. Ang XDP (eXpress Data Path) subsystem ay nagpupuno sa eBPF ng kakayahang magpatakbo ng mga BPF program sa antas ng driver ng network, na may suporta para sa direktang pag-access sa DMA packet buffer at gumana sa yugto bago ang skbuff buffer ay inilalaan ng network stack.
Tulad ng tcpdump, isinasalin muna ng xdpcap utility ang mga panuntunan sa pag-filter ng mataas na antas ng trapiko sa klasikong representasyon ng BPF (cBPF) gamit ang karaniwang libpcap library, at pagkatapos ay i-convert ang mga ito sa anyo ng mga eBPF routine gamit ang isang compiler
Pinagmulan: opennet.ru