Cloudflare dia namoaka xdpcap, mpandinika fifamoivoizana mifototra amin'ny subsystem XDP

Cloudflare Company aseho tetikasa misokatra xdpcap, ao anatin'izany no amboarina ny mpandinika fonosana tamba-jotra mitovy amin'ny tcpdump, miorina amin'ny subsystem. XDP (Lalana angona eXpress). Ny code code dia voasoratra ao amin'ny Go and nozarain'i eo ambanin'ny lisansa BSD. Ny tetikasa koa vonona trano famakiam-boky hamehezana ireo mpitantana fifamoivoizana eBPF avy amin'ny fampiharana Go.

Ny fampitaovana xdpcap dia mifanaraka amin'ny fitenenana sivana tcpdump/libpcap ary ahafahanao manodina fifamoivoizana be dia be amin'ny fitaovana mitovy. Ny Xdpcap dia azo ampiasaina amin'ny debugging ihany koa amin'ny tontolo izay tsy azo ampiharina ny tcpdump mahazatra, toy ny sivana, ny fiarovana DoS, ary ny rafitra fampifandanjana entana izay mampiasa ny subsystem XDP kernel Linux, izay manodina ny fonosana alohan'ny karakarain'ny tambajotra kernel Linux (tcpdump). tsy mahita fonosana nalatsak'ny mpandrindra XDP).

Ny fahombiazana ambony dia azo amin'ny alΓ lan'ny fampiasana ny subsystem eBPF sy XDP. Ny eBPF dia mpandika teny bytecode natsangana tao amin'ny kernel Linux izay ahafahanao mamorona mpanelanelana avo lenta amin'ny fonosana miditra / mivoaka miaraka amin'ny fanapahan-kevitra momba ny fandefasana na fanariana azy ireo. Amin'ny alalan'ny JIT compiler, ny eBPF bytecode dia adika amin'ny lalitra amin'ny torolalana amin'ny milina ary tanterahina miaraka amin'ny fampandehanana ny kaody teratany. Ny subsystem XDP (eXpress Data Path) dia mameno ny eBPF miaraka amin'ny fahafahana mampandeha programa BPF amin'ny haavon'ny mpamily tambajotra, miaraka amin'ny fanohanana ny fidirana mivantana amin'ny buffer fonosana DMA ary miasa eo amin'ny sehatra alohan'ny omen'ny tamba-jotra ny buffer skbuff.

Tahaka ny tcpdump, ny fampiasa xdpcap dia mandika voalohany ny fitsipiky ny sivana fifamoivoizana avo lenta amin'ny fanehoana BPF mahazatra (cBPF) amin'ny fampiasana ny tranomboky libpcap mahazatra, ary avy eo dia mamadika azy ireo ho endrika eBPF mahazatra amin'ny fampiasana compiler. cbpfc, mampiasa ny fivoaran'ny LLVM/Clang. Amin'ny famoahana, ny fampahalalana momba ny fifamoivoizana dia voatahiry ao amin'ny format pcap mahazatra, izay ahafahanao mampiasa fanariam-pifamoivoizana voaomana amin'ny xdpcap ho an'ny fianarana manaraka ao amin'ny tcpdump sy ireo mpandinika fifamoivoizana hafa efa misy. Ohatra, mba haka ny fampahalalana momba ny fifamoivoizana DNS, raha tokony hampiasa ny baiko "tcpdump ip sy udp port 53", dia azonao atao ny mampandeha ny "xdpcap /path/to/hook capture.pcap 'ip sy udp port 53β€²" ary avy eo mampiasa fisamborana. .pcap rakitra, ohatra miaraka amin'ny baiko "tcpdump -r" na amin'ny Wireshark.

Source: opennet.ru

Add a comment