Cloudflare hà publicatu xdpcap, un analizatore di trafficu basatu annantu à u sottusistema XDP

Cumpagnia Cloudflare prisentatu prughjettu apertu xdpcap, in u quale hè sviluppatu un analizzatore di pacchetti di rete simili à tcpdump, custruitu nantu à a basa di u sottosistema XDP (eXpress Data Path). U codice di u prugettu hè scrittu in Go è distribuitu da sottu licenza BSD. U prughjettu dinù preparatu libreria per vincere i gestori di trafficu eBPF da l'applicazioni Go.

L'utilità xdpcap hè cumpatibile cù l'espressioni di filtrazione tcpdump / libpcap è vi permette di processà volumi significativamente più grande di trafficu nantu à u stessu hardware. Xdpcap pò ancu esse usatu per debugging in ambienti induve tcpdump regulare ùn hè micca applicabile, cum'è filtrazione, prutezzione DoS è sistemi di bilanciamentu di carica chì utilizanu u sottosistema XDP di u kernel Linux, chì processa i pacchetti prima di esse processati da a pila di rete di u kernel Linux (tcpdump). ùn vede micca i pacchetti abbandunati da u gestore XDP).

L'alta prestazione hè ottenuta attraversu l'usu di i sottosistemi eBPF è XDP. eBPF hè un interprete di bytecode integratu in u kernel Linux chì vi permette di creà gestori d'alta prestazione di pacchetti in entrata / in uscita cù decisioni nantu à l'invio o l'eliminazione. Utilizendu un compilatore JIT, eBPF bytecode hè traduttu nantu à a mosca in istruzzioni di a macchina è eseguitu cù u rendiment di u codice nativu. U subsistema XDP (eXpress Data Path) cumplementa eBPF cù a capacità di eseguisce prugrammi BPF à u livellu di u driver di a rete, cù supportu per l'accessu direttu à u buffer di pacchettu DMA è travaglià in u stadiu prima chì u buffer skbuff hè attribuitu da a pila di rete.

Cum'è tcpdump, l'utilità xdpcap traduce prima e regule di filtrazione di trafficu d'altu livellu in a rapprisintazioni BPF classica (cBPF) utilizendu a libreria standard libpcap, è poi li converte in a forma di rutine eBPF utilizendu un compilatore. cbpfc, utilizendu sviluppi LLVM / Clang. À l'output, l'infurmazione di u trafficu hè salvatu in u formatu pcap standard, chì permette di utilizà un dump di trafficu preparatu in xdpcap per u studiu sussegwente in tcpdump è altri analizatori di trafficu esistenti. Per esempiu, per catturà l'infurmazioni di u trafficu DNS, invece di utilizà l'ordine "tcpdump ip and udp port 53", pudete eseguisce "xdpcap /path/to/hook capture.pcap 'ip and udp port 53′" è dopu aduprà una cattura. .pcap file, per esempiu cù u cumandimu "tcpdump -r" o in Wireshark.

Source: opennet.ru

Add a comment