Cloudflare te pibliye xdpcap, yon analizè trafik ki baze sou subsistèm XDP

Konpayi Cloudflare prezante pwojè louvri xdpcap, nan ki yon analizè pake rezo ki sanble ak tcpdump ap devlope, bati sou baz subsistèm la. XDP (eXpress Data Path). Kòd pwojè a ekri nan Go ak distribiye pa anba lisans BSD. Pwojè a tou prepare bibliyotèk pou lye moun k ap okipe trafik eBPF nan aplikasyon Go.

Sèvis piblik xdpcap la konpatib ak ekspresyon filtraj tcpdump/libpcap epi li pèmèt ou trete volim trafik siyifikativman pi gwo sou menm pyès ki nan konpitè. Xdpcap ka itilize tou pou debogaj nan anviwònman kote tcpdump regilye pa aplikab, tankou filtraj, pwoteksyon DoS, ak sistèm balans chaj ki itilize Linux kernel XDP subsistèm, ki trete pake yo anvan yo trete yo pa pil rezo nwayo Linux (tcpdump). pa wè pakè jete XDP la).

Se gwo pèfòmans reyalize atravè itilizasyon eBPF ak XDP subsystems. eBPF se yon entèprèt bytecode ki entegre nan nwayo Linux la ki pèmèt ou kreye moun kap okipe pakè k ap antre/sòtan ki gen gwo pèfòmans ak desizyon sou voye oswa jete yo. Lè l sèvi avèk yon du JIT, eBPF bytecode tradui sou vole nan enstriksyon machin epi egzekite ak pèfòmans nan kòd natif natal. Sou-sistèm XDP (eXpress Data Path) konplete eBPF ak kapasite pou kouri pwogram BPF nan nivo chofè rezo a, ak sipò pou aksè dirèk nan tanpon pake DMA a epi travay nan etap anvan tanpon skbuff la resevwa pa pile rezo a.

Menm jan ak tcpdump, sèvis piblik xdpcap la premye tradui règ filtraj trafik wo nivo nan reprezantasyon BPF klasik (cBPF) lè l sèvi avèk bibliyotèk libpcap estanda a, epi konvèti yo nan fòm woutin eBPF lè l sèvi avèk yon konpilateur. cbpfc, lè l sèvi avèk devlopman LLVM/Clang. Nan pwodiksyon an, enfòmasyon trafik yo sove nan fòma pcap estanda, ki pèmèt ou sèvi ak yon pil fatra trafik ki prepare nan xdpcap pou etid ki vin apre nan tcpdump ak lòt analizè trafik ki egziste deja. Pou egzanp, pran enfòmasyon trafik DNS, olye pou yo sèvi ak "tcpdump ip ak udp pò 53" kòmandman an, ou ka kouri "xdpcap /path/to/hook capture.pcap 'ip ak udp pò 53'" epi sèvi ak yon kaptire. .pcap fichye, pa egzanp ak lòd "tcpdump -r" oswa nan Wireshark.

Sous: opennet.ru

Add nouvo kòmantè