Cloudflare tau tshaj tawm xdpcap, tus neeg soj ntsuam tsheb khiav raws li XDP subsystem

Cloudflare tuam txhab рСдставила qhib qhov project xdp qab, nyob rau hauv uas lub network packet analyzer zoo ib yam li tcpdump tab tom tsim, tsim los ntawm lub subsystem. XDP (eXpress Data Path). Txoj haujlwm code yog sau rau hauv Go thiab faib los ntawm nyob rau hauv BSD daim ntawv tso cai. Qhov project thiab npaj lub tsev qiv ntawv rau khi eBPF cov neeg khiav tsheb khiav los ntawm Go daim ntawv thov.

Cov khoom siv xdpcap yog sib xws nrog tcpdump / libpcap filtering kab lus thiab tso cai rau koj ua cov khoom loj loj ntawm cov khoom siv tib yam. Xdpcap kuj tseem tuaj yeem siv rau kev debugging nyob rau hauv ib puag ncig uas tsis tu ncua tcpdump tsis siv, xws li lim, DoS tiv thaiv, thiab thauj khoom sib npaug uas siv Linux ntsiav XDP subsystem, uas ua cov pob ntawv ua ntej lawv ua tiav los ntawm Linux ntsiav networking pawg (tcpdump tsis pom pob ntawv poob los ntawm XDP handler).

Kev ua tau zoo yog ua tiav los ntawm kev siv eBPF thiab XDP subsystems. eBPF yog tus neeg txhais lus bytecode ua rau hauv Linux ntsiav uas tso cai rau koj los tsim cov neeg ua haujlwm tau zoo ntawm cov khoom xa tuaj / tawm nrog kev txiav txim siab txog kev xa lossis muab pov tseg. Siv JIT compiler, eBPF bytecode tau txhais ntawm ya mus rau hauv cov lus qhia tshuab thiab ua tiav nrog kev ua haujlwm ntawm cov cai ib txwm muaj. XDP (eXpress Data Path) subsystem ntxiv rau eBPF nrog lub peev xwm los khiav BPF cov kev pab cuam ntawm qib tsav tsheb hauv lub network, nrog kev txhawb nqa ncaj qha mus rau DMA pob ntawv tsis thiab ua haujlwm ntawm theem ua ntej skbuff tsis yog faib los ntawm pawg network.

Zoo li tcpdump, cov khoom siv xdpcap ua ntej txhais cov txheej txheem kev lim dej siab rau hauv classic BPF sawv cev (cBPF) siv lub tsev qiv ntawv libpcap txheem, thiab tom qab ntawd hloov lawv mus rau hauv daim ntawv ntawm eBPF niaj hnub siv lub compiler. cbpfc ua, siv LLVM/Clang kev txhim kho. Ntawm qhov tso zis, cov ntaub ntawv tsheb tau txais kev cawmdim nyob rau hauv tus qauv pcap hom, uas tso cai rau koj siv cov tsheb thauj mus los uas tau npaj hauv xdpcap rau kev kawm tom ntej hauv tcpdump thiab lwm yam kev ntsuas tsheb uas twb muaj lawm. Piv txwv li, txhawm rau ntes cov ntaub ntawv DNS tsheb, tsis yog siv "tcpdump ip thiab udp chaw nres nkoj 53" hais kom ua, koj tuaj yeem khiav "xdpcap /path/to/hook capture.pcap 'ip thiab udp chaw nres nkoj 53'" thiab tom qab ntawd siv kev ntes. .pcap cov ntaub ntawv, piv txwv li nrog cov lus txib "tcpdump -r" lossis hauv Wireshark.

Tau qhov twg los: opennet.ru

Ntxiv ib saib