Cloudflare xdpcap, таҳлилгари трафикро, ки ба зерсистемаи XDP асос ёфтааст, нашр кард

Ширкати Cloudflare муаррифӣ кард лоиҳаи кушода xdpcap, ки дар доираи он таҳлилгари бастаи шабакавӣ ба tcpdump монанд таҳия карда мешавад, ки дар асоси зерсистема сохта шудааст XDP (Роҳи маълумотҳои eXpress). Рамзи лоиҳа дар Go ва навишта шудааст паҳн мекунад таҳти иҷозатномаи BSD. Лоиҳа инчунин тайёр карда шудааст китобхона барои бастани трафики eBPF аз барномаҳои Go.

Утилитаи xdpcap бо ифодаҳои филтркунии tcpdump/libpcap мувофиқ аст ва ба шумо имкон медиҳад, ки ҳаҷми ба таври назаррас бештари трафикро дар як сахтафзор коркард кунед. Xdpcap инчунин метавонад барои ислоҳи хатогиҳо дар муҳитҳое истифода шавад, ки tcpdump-и муқаррарӣ корношоям нест, ба монанди филтр, муҳофизати DoS ва системаҳои мувозинати сарборӣ, ки зерсистемаи Linux ядрои XDP-ро истифода мебаранд, ки пакетҳоро пеш аз коркарди онҳо тавассути стек шабакавии ядрои Linux коркард мекунад (tcpdump). бастаҳои аз ҷониби коркардкунандаи XDP партофташударо намебинад).

Корҳои баланд тавассути истифодаи зерсистемаҳои eBPF ва XDP ба даст оварда мешаванд. eBPF тарҷумони байткод аст, ки дар ядрои Linux сохта шудааст, ки ба шумо имкон медиҳад коркардкунандагони пурмаънои бастаҳои воридотӣ/бериро бо қарорҳо дар бораи интиқол ё партофтани онҳо эҷод кунед. Бо истифода аз компилятори JIT, байткоди eBPF зуд ба дастурҳои мошин тарҷума карда мешавад ва бо иҷрои рамзи аслӣ иҷро карда мешавад. Зерсистемаи XDP (eXpress Data Path) eBPF-ро бо қобилияти иҷро кардани барномаҳои BPF дар сатҳи драйвери шабакавӣ, бо дастгирии дастрасии мустақим ба буфери бастаи DMA ва кор дар марҳилаи пеш аз ҷудо кардани буфери skbuff аз ҷониби стек шабака пурра мекунад.

Мисли tcpdump, утилитаи xdpcap аввал қоидаҳои филтркунии трафики сатҳи баландро бо истифода аз китобхонаи стандартии libpcap ба намояндагии классикии BPF (cBPF) тарҷума мекунад ва сипас онҳоро бо истифода аз компилятор ба шакли реҷаҳои eBPF табдил медиҳад. cbpfc, бо истифода аз таҳияҳои LLVM/Clang. Ҳангоми баромад, иттилооти трафик дар формати стандартии pcap захира карда мешавад, ки ба шумо имкон медиҳад, ки партови трафики дар xdpcap омодашударо барои омӯзиши минбаъда дар tcpdump ва дигар анализаторҳои мавҷудаи трафик истифода баред. Масалан, барои гирифтани маълумоти трафики DNS, ба ҷои истифодаи фармони "tcpdump ip ва udp port 53", шумо метавонед "xdpcap /path/to/hook capture.pcap 'ip ва udp port 53′" -ро иҷро кунед ва сипас сабтро истифода баред файли .pcap, масалан, бо фармони "tcpdump -r" ё дар Wireshark.

Манбаъ: opennet.ru

Илова Эзоҳ