Cloudflare شايع ڪيو آهي xdpcap، هڪ ٽرئفڪ تجزيه ڪندڙ XDP سب سسٽم تي ٻڌل آهي

Cloudflare ڪمپني پيش ڪيو اوپن پروجيڪٽ xdpcap، جنهن جي اندر tcpdump سان ملندڙ هڪ نيٽ ورڪ پيڪٽ تجزيي کي ترقي ڪئي پئي وڃي، سب سسٽم جي بنياد تي ٺهيل آهي ايڪس ڊي پي (Express ڊيٽا جو رستو). پروجيڪٽ ڪوڊ Go and ۾ لکيل آهي طرفان ورهايل BSD لائسنس جي تحت. پروجيڪٽ پڻ تيار ڪيل گو ايپليڪيشنن مان eBPF ٽرئفڪ هينڊلر کي پابند ڪرڻ لاءِ لائبريري.

xdpcap يوٽيليٽي tcpdump/libpcap فلٽرنگ ايڪسپريسز سان مطابقت رکي ٿي ۽ توهان کي اجازت ڏئي ٿي ته ساڳئي هارڊويئر تي ٽريفڪ جي وڏي مقدار کي پروسيس ڪري. Xdpcap ماحول ۾ ڊيبگنگ لاءِ پڻ استعمال ٿي سگھي ٿو جتي باقاعده tcpdump لاڳو نه آهي، جهڙوڪ فلٽرنگ، DoS تحفظ، ۽ لوڊ بيلنسنگ سسٽم جيڪي لينڪس ڪنيل XDP سبسسٽم استعمال ڪندا آهن، جيڪي پيڪيٽس کي پروسيس ڪرڻ کان اڳ پروسيس ڪري ٿو لينڪس ڪرنل نيٽ ورڪنگ اسٽيڪ (tcpdump ڏسڻ ۾ نه ٿو اچي ته پيڪيٽ کي XDP هينڊلر طرفان گرايو ويو آهي).

اعلي ڪارڪردگي eBPF ۽ XDP سب سسٽم جي استعمال ذريعي حاصل ڪئي وئي آهي. eBPF هڪ بائيٽ ڪوڊ مترجم آهي جيڪو لينڪس ڪنيل ۾ ٺاهيو ويو آهي جيڪو توهان کي اجازت ڏئي ٿو ته توهان کي اڳتي وڌڻ يا رد ڪرڻ بابت فيصلا ڪرڻ سان گڏ ايندڙ / ٻاهر وڃڻ واري پيڪيٽ جا اعليٰ ڪارڪردگي هينڊلر ٺاهي. JIT گڏ ڪرڻ وارو استعمال ڪندي، eBPF بائيٽ ڪوڊ کي فلائي تي مشين جي هدايتن ۾ ترجمو ڪيو ويو ۽ اصلي ڪوڊ جي ڪارڪردگي سان عمل ڪيو ويو. ايڪس ڊي پي (ايڪسپريس ڊيٽا پاٿ) سبسسٽم اي بي پي ايف کي مڪمل ڪري ٿو نيٽ ورڪ ڊرائيور جي سطح تي بي پي ايف پروگرامن کي هلائڻ جي صلاحيت سان، ڊي ايم اي پيڪٽ بفر تائين سڌو رسائي جي مدد سان ۽ اسٽيج تي ڪم ڪرڻ کان اڳ نيٽ ورڪ اسٽيڪ طرفان skbuff بفر مختص ڪيو وڃي.

tcpdump وانگر، xdpcap يوٽيليٽي پهريون ڀيرو اعليٰ سطحي ٽريفڪ فلٽرنگ ضابطن جو ترجمو ڪري ٿو کلاسڪ BPF نمائندگي (cBPF) ۾ معياري libpcap لائبريري استعمال ڪندي، ۽ پوءِ انهن کي ڪمپلر استعمال ڪندي eBPF روٽين جي صورت ۾ بدلائي ٿو. سي بي پي ايف سيLLVM/Clang ترقيات استعمال ڪندي. آئوٽ پٽ تي، ٽرئفڪ جي معلومات معياري pcap فارميٽ ۾ محفوظ ڪئي وئي آهي، جيڪا توهان کي اجازت ڏئي ٿي xdpcap ۾ تيار ڪيل ٽريفڪ ڊمپ استعمال ڪرڻ لاءِ ايندڙ مطالعي لاءِ tcpdump ۽ ٻين موجوده ٽرئفڪ اينالائزرز. مثال طور، DNS ٽرئفڪ جي معلومات کي پڪڙڻ لاء، "tcpdump ip ۽ udp port 53" ڪمانڊ استعمال ڪرڻ بدران، توهان هلائي سگهو ٿا "xdpcap /path/to/hook capture.pcap 'ip and udp port 53′" ۽ پوءِ ڪيپچر استعمال ڪريو .pcap فائل، مثال طور حڪم سان "tcpdump -r" يا Wireshark ۾.

جو ذريعو: opennet.ru

تبصرو شامل ڪريو