Tvrtka Cloudflare objavila je xdpcap, analizator prometa temeljen na XDP sustavu.

Tvrtka Cloudflare predstavila projekat otvorenog koda xdpcap, u okviru kojeg se razvija analizator mrežnih paketa sličan tcpdumpu, izgrađen na osnovi sustava XDP (eXpress Data Path). Izvorni kod projekta napisan je na jeziku Go i distribuira se pod BSD licencom. Projekt je također pripremio biblioteku za vezivanje eBPF obrada prometa iz aplikacija pisanih na jeziku Go.

Alat xdpcap kompatibilan je s izrazima za filtriranje tcpdump/libpcap i omogućuje obradu značajno većih količina prometa na istom uređaju. Xdpcap se također može koristiti za otklanjanje poteškoća u uvjetima gdje obični tcpdump nije primjenjiv, na primjer, kada se koriste sustavi filtracije, zaštite od DoS napada i ravnoteže opterećenja koji koriste kernel Linux XDP sustav, koji obrađuje pakete prije nego što dođu do mrežnog stoga kernela Linux (tcpdump ne vidi pakete koje odbaci XDP obrada).

Visoka izvedba postiže se korištenjem eBPF i XDP sustava. eBPF je ugrađeni interpretator bajt-koda u Linux kernelu koji omogućuje stvaranje visokoučinkovitih obrada ulaznih/izlaznih paketa s mogućnošću donošenja odluka o njihovom preusmjeravanju ili odbacivanju. Uz pomoć JIT kompajlera bajt-kod eBPF se u stvarnom vremenu prevodi u strojne instrukcije i izvršava s performing nativnim kodom. Sustav XDP (eXpress Data Path) nadopunjuje eBPF mogućnošću pokretanja BPF programa na razini mrežnog upravljača, uz podršku za izravan pristup DMA baferu paketa i rad na razini prije dodjele skbuff bafera mrežnom stogu.

Poput tcpdump, alat xdpcap najprije prevodi visoko nivo pravila filtriranja prometa u klasičnu BPF reprezentaciju (cBPF) pomoću uobičajene knjižnice libpcap, nakon čega ih pretvara u oblik eBPF podprograma koristeći kompajler cbpfc, koristeći rješenja iz LLVM/Clang-a. Na izlazu se podaci o prometu pohranjuju u standardnom pcap formatu, što omogućuje korištenje pripremljenog xdpcap dumpa prometa za daljnje proučavanje u tcpdump-u i drugim postojećim analizatorima prometa. Na primjer, za hvatanje podataka o DNS prometu umjesto komande „tcpdump ip and udp port 53” može se pokrenuti „xdpcap /path/to/hook capture.pcap ‘ip and udp port 53’”, nakon čega se može koristiti datoteka capture.pcap, na primjer, s komandnom „tcpdump -r” ili u Wireshark-u.

Izvor: opennet.ru

Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere 🔥 Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere | ProHoster