Mae Cloudflare wedi cyhoeddi xdpcap, dadansoddwr traffig yn seiliedig ar is-system XDP

Cwmni Cloudflare wedi'i gyflwyno prosiect agored xdpcap, lle mae dadansoddwr pecynnau rhwydwaith tebyg i tcpdump yn cael ei ddatblygu, wedi'i adeiladu ar sail yr is-system XDP (Llwybr Data eXpress). Mae cod y prosiect wedi'i ysgrifennu yn Go a dosbarthu gan dan drwydded BSD. Mae'r prosiect hefyd parod llyfrgell ar gyfer rhwymwyr trin traffig eBPF o gymwysiadau Go.

Mae'r cyfleustodau xdpcap yn gydnaws ag ymadroddion hidlo tcpdump/libpcap ac yn caniatΓ‘u ichi brosesu llawer mwy o draffig ar yr un caledwedd. Gellir defnyddio Xdpcap hefyd ar gyfer dadfygio mewn amgylcheddau lle nad yw tcpdump rheolaidd yn berthnasol, megis hidlo, diogelu DoS, a systemau cydbwyso llwyth sy'n defnyddio is-system XDP cnewyllyn Linux, sy'n prosesu pecynnau cyn iddynt gael eu prosesu gan stac rhwydweithio cnewyllyn Linux (tcpdump nid yw'n gweld pecynnau'n cael eu gollwng gan y triniwr XDP).

Cyflawnir perfformiad uchel trwy ddefnyddio is-systemau eBPF a XDP. Dehonglydd cod byte yw eBPF sydd wedi'i ymgorffori yn y cnewyllyn Linux sy'n eich galluogi i greu trinwyr perfformiad uchel o becynnau sy'n dod i mewn/allan gyda phenderfyniadau ynghylch eu hanfon ymlaen neu eu taflu. Gan ddefnyddio casglwr JIT, caiff bytecode eBPF ei drosi ar y hedfan yn gyfarwyddiadau peiriant a'i weithredu gyda pherfformiad cod brodorol. Mae is-system XDP (Llwybr Data eXpress) yn ategu eBPF gyda'r gallu i redeg rhaglenni BPF ar lefel gyrrwr y rhwydwaith, gyda chefnogaeth ar gyfer mynediad uniongyrchol i glustogfa pecyn DMA a gweithio ar y cam cyn i'r byffer skbuff gael ei ddyrannu gan y pentwr rhwydwaith.

Fel tcpdump, mae cyfleustodau xdpcap yn trosi rheolau hidlo traffig lefel uchel yn gynrychiolaeth glasurol BPF (cBPF) yn gyntaf gan ddefnyddio'r llyfrgell libpcap safonol, ac yna'n eu trosi i ffurf arferion eBPF gan ddefnyddio casglwr cbpfc, gan ddefnyddio datblygiadau LLVM/Clang. Yn yr allbwn, mae gwybodaeth draffig yn cael ei arbed yn y fformat pcap safonol, sy'n eich galluogi i ddefnyddio dymp traffig a baratowyd yn xdpcap ar gyfer astudiaeth ddilynol mewn tcpdump a dadansoddwyr traffig presennol eraill. Er enghraifft, i ddal gwybodaeth traffig DNS, yn lle defnyddio'r gorchymyn "tcpdump ip a udp port 53", gallwch redeg "xdpcap /path/to/hook capture.pcap 'ip a udp port 53β€²" ac yna defnyddio cipio ffeil .pcap, e.e. gyda'r gorchymyn "tcpdump -r" neu yn Wireshark.

Ffynhonnell: opennet.ru

Ychwanegu sylw