Cloudflare parantos nyebarkeun xdpcap, analisa lalu lintas dumasar kana subsistem XDP

Perusahaan Cloudflare ditepikeun proyék muka xdpcap, dimana analisa pakét jaringan anu sami sareng tcpdump dikembangkeun, diwangun dina dasar subsistem XDP (Jalur Data eXpress). Kodeu proyék ditulis dina Go jeung disebarkeun ku handapeun lisénsi BSD. Proyék ogé disiapkeun perpustakaan pikeun pawang lalulintas eBPF mengikat ti aplikasi Go.

Utilitas xdpcap cocog sareng ekspresi panyaring tcpdump/libpcap sareng ngamungkinkeun anjeun ngolah lalu lintas anu langkung ageung dina hardware anu sami. Xdpcap ogé tiasa dianggo pikeun debugging di lingkungan dimana tcpdump biasa henteu tiasa dianggo, sapertos nyaring, panyalindungan DoS, sareng sistem kasaimbangan beban anu nganggo subsistem XDP kernel Linux, anu ngolah pakét sateuacan diolah ku tumpukan jaringan kernel Linux (tcpdump). teu ningali pakét turun ku pawang XDP).

Kinerja luhur dihontal ku ngagunakeun subsistem eBPF sareng XDP. eBPF mangrupakeun juru bytecode diwangun kana kernel Linux Ubuntu nu ngidinan Anjeun pikeun nyieun pawang kinerja tinggi tina pakét asup / kaluar kalawan kaputusan ngeunaan diteruskeun atawa discarding aranjeunna. Ngagunakeun kompiler JIT, eBPF bytecode ditarjamahkeun dina laleur kana parentah mesin sarta dieksekusi kalawan kinerja kode asli. XDP (eXpress Data Path) subsistem complements eBPF kalawan kamampuhan pikeun ngajalankeun program BPF di tingkat supir jaringan, kalayan rojongan pikeun aksés langsung kana panyangga pakét DMA tur dianggo dina panggung saméméh panyangga skbuff ieu disadiakeun ku tumpukan jaringan.

Sapertos tcpdump, utilitas xdpcap mimiti narjamahkeun aturan panyaring lalu lintas tingkat luhur kana perwakilan BPF klasik (cBPF) nganggo perpustakaan libpcap standar, teras ngarobih kana bentuk rutinitas eBPF nganggo kompiler. cbpfc, ngagunakeun LLVM / kamajuan Clang. Dina kaluaran, informasi patalimarga disimpen dina format pcap baku, nu ngidinan Anjeun pikeun ngagunakeun dump lalulintas disiapkeun dina xdpcap pikeun ulikan saterusna di tcpdump na analyzers lalulintas séjén aya. Contona, pikeun nangkep informasi patalimarga DNS, tinimbang ngagunakeun "tcpdump ip na udp port 53" paréntah, Anjeun bisa ngajalankeun "xdpcap /path/to/hook capture.pcap 'ip na udp port 53'" lajeng nganggo newak a .pcap file, misalna ku paréntah "tcpdump -r" atanapi di Wireshark.

sumber: opennet.ru

Tambahkeun komentar