Cloudflare خپور کړی xdpcap، د ټرافیک تحلیل کونکی د XDP فرعي سیسټم پراساس

Cloudflare شرکت وړاندې خلاص پروژه xdpcap، په کوم کې چې د tcpdump په څیر د شبکې پاکټ شنونکی رامینځته کیږي ، د فرعي سیسټم پراساس جوړ شوی XDP (د ایکسپریس ډیټا لاره). د پروژې کوډ په Go او کې لیکل شوی لخوا توزیع شوی د BSD جواز لاندې. پروژه هم چمتو شوی د Go غوښتنلیکونو څخه د eBPF ترافیک اداره کونکي پابند کولو لپاره کتابتون.

د xdpcap افادیت د tcpdump/libpcap فلټر کولو څرګندونو سره مطابقت لري او تاسو ته اجازه درکوي په ورته هارډویر کې د پام وړ لوی مقدار ترافیک پروسس کړئ. Xdpcap په چاپیریال کې د ډیبګ کولو لپاره هم کارول کیدی شي چیرې چې منظم tcpdump د پلي کیدو وړ ندي ، لکه فلټر کول ، د DoS محافظت ، او د بار توازن سیسټمونه چې د لینکس کرنل XDP سب سیسټم کاروي ، کوم چې د لینکس کرنل شبکې سټیک لخوا پروسس کیدو دمخه پاکټونه پروسس کوي (tcpdump د XDP هینډلر لخوا غورځول شوي پاکټونه نه لیدل کیږي).

لوړ فعالیت د eBPF او XDP فرعي سیسټمونو کارولو له لارې ترلاسه کیږي. eBPF یو بایټکوډ ژباړونکی دی چې د لینکس کرنل کې جوړ شوی چې تاسو ته اجازه درکوي د راتلونکو / وتلو پاکټونو لوړ فعالیت اداره کونکي رامینځته کړئ چې د دوی د لیږلو یا ردولو په اړه پریکړې سره. د JIT تالیف کونکي په کارولو سره ، eBPF بایټکوډ په الوتنه کې د ماشین لارښوونو ته ژباړل کیږي او د اصلي کوډ فعالیت سره اجرا کیږي. د XDP (Express Data Path) فرعي سیسټم د شبکې ډرایور په کچه د BPF پروګرامونو چلولو وړتیا سره eBPF بشپړوي، د DMA پیکټ بفر ته د مستقیم لاسرسي لپاره مالتړ سره او په مرحله کې کار کوي مخکې لدې چې د شبکې سټیک لخوا د skbuff بفر تخصیص شي.

د tcpdump په څیر، د xdpcap یوټیلیټ لومړی د معیاري libpcap کتابتون په کارولو سره کلاسیک BPF نمایش (cBPF) ته د لوړې کچې ترافیک فلټر کولو قواعد وژباړي ، او بیا یې د کمپیلر په کارولو سره د eBPF روټینونو په شکل بدلوي. cbpfcد LLVM/Clang پرمختګونو په کارولو سره. په محصول کې، د ټرافیک معلومات په معیاري pcap بڼه کې خوندي شوي، کوم چې تاسو ته اجازه درکوي چې په tcpdump او نورو موجوده ټرافيکي شنونکو کې د راتلونکي مطالعې لپاره په xdpcap کې چمتو شوي ټرافیک ډمپ وکاروئ. د مثال په توګه، د DNS ترافیک معلوماتو د نیولو لپاره، د "tcpdump ip او udp port 53" کمانډ کارولو پرځای، تاسو کولی شئ "xdpcap /path/to/hook capture.pcap 'ip and udp port 53′" وکاروئ او بیا د کیپچر څخه کار واخلئ. د .pcap فایل، د مثال په توګه د "tcpdump -r" کمانډ سره یا په Wireshark کې.

سرچینه: opennet.ru

Add a comment