منصوبے کے بارے میں
dsnitch ایک ہلکا پھلکا، سنگل بائنری نیٹ ورک اور DNS ایگریس انسپکٹر ہے جو خاص طور پر Docker کنٹینرز کے لیے ڈیزائن کیا گیا ہے۔ یہ جدید Linux eBPF ٹیکنالوجی استعمال کرتا ہے تاکہ کنٹینرز سے تمام آؤٹ باؤنڈ نیٹ ورک سرگرمی کی ریئل ٹائم مرئیت فراہم کر سکے، بشمول TCP/UDP کنکشنز، ICMP پنگز، اور DNS سوالات، بغیر کنٹینر نیٹ ورک اسٹیک، سائیڈ کار کنٹینرز، یا بھاری ٹیلی میٹری ڈیمنز میں کسی تبدیلی کی ضرورت کے۔
یہ ٹول غیر فعال ان-کرنل eBPF پروبس کو براہ راست میزبان کے یونیفائیڈ cgroup v2 درجہ بندی اور کرنل کے TCP ساکٹ اسٹیٹ ٹریس پوائنٹ سے منسلک کرتا ہے۔ یہ آؤٹ باؤنڈ کنکشن کی درخواستوں، لیئر-3 ICMP پنگز، اور پورٹ 53 پر خام DNS وائر پے لوڈز کو روکتا ہے، ساکٹس کو Docker کنٹینر میٹا ڈیٹا اور حل شدہ ہوسٹ ناموں سے یوزر اسپیس میں لاک فری BPF رنگ بفرز کے ذریعے جوڑتا ہے، جس میں CPU اوور ہیڈ تقریباً صفر (1% سے کم) ہوتا ہے۔
اہم خصوصیات میں براہ راست cgroup v2 منسلکہ کے ذریعے صفر ٹچ کنٹینر انتساب، یوزر اسپیس Hickory DNS ڈی کوڈنگ کے ساتھ ان-کرنل DNS سنوپنگ جو مکمل CNAME چین حل کرتی ہے، کرنل میموری پوائنٹرز (skaddr) کا استعمال کرتے ہوئے تعییناتی اسٹیٹ فل ساکٹ ٹریکنگ جو بیک وقت کنکشنز اور نیٹ ورک نام اسپیسز میں تصادم سے پاک ٹریکنگ فراہم کرتی ہے، مقامی ICMP پروٹوکول سپورٹ، دوہری منزل اور فزیکل IP کالم جو DNS حل شدہ ہوسٹ ناموں اور بنیادی ایج IP اینڈ پوائنٹس دونوں دکھاتے ہیں، اور ذہین glibc شور فلٹرنگ جو ڈمی POSIX getaddrinfo() UDP پورٹ 0 روٹ لک اپ پروبس کو چھوڑ دیتی ہے۔
Ratatui کے ساتھ بنایا گیا انٹرایکٹو اسپلٹ پین TUI بائیں جانب کنٹینر ہائرارکی ٹری فراہم کرتا ہے جس میں لائیو کنکشن کاؤنٹر ہوتے ہیں اور دائیں جانب ریئل ٹائم کلر کوڈڈ ایگریس اسٹریم ہوتا ہے، فوری سرچ فلٹرنگ، کنٹینر لاکنگ، اور ہوسٹ ٹریفک ٹوگلنگ کے ساتھ۔ ایک ہیڈ لیس اسٹریمنگ موڈ (-s) لاگنگ، CI/CD پائپ لائنز، یا دیگر CLI ٹولز میں پائپنگ کے لیے غیر انٹرایکٹو سادہ ٹیکسٹ آؤٹ پٹ سپورٹ کرتا ہے۔
انسٹالیشن سیدھی ہے: x86_64 اور ARM64 Linux آرکیٹیکچرز کے لیے پری بلٹ بائنریز دستیاب ہیں، یا ٹول کو Rust نائٹلی ٹول چین اور rust-src کمپوننٹ کے ساتھ سورس سے بنایا جا سکتا ہے۔ ٹول کو Linux کرنل 5.8+ کی ضرورت ہے جس میں یونیفائیڈ cgroups v2 اور BTF فعال ہو، ساتھ ہی Docker ڈیمن تک رسائی بھی۔
غیر مراعات یافتہ صارفین کے لیے، dsnitch تجویز کرتا ہے کہ setcap استعمال کرکے کم سے کم Linux صلاحیتیں (cap_sys_admin، cap_net_admin، cap_dac_read_search) دی جائیں تاکہ docker گروپ کا کوئی بھی صارف sudo کے بغیر اسے چلا سکے۔ متبادل کے طور پر، اسے معیاری sudo اسکیلیشن کے ساتھ چلایا جا سکتا ہے۔ ٹول میں ان-میموری یونٹ ٹیسٹ اور ایک خودکار اینڈ-ٹو-اینڈ انٹیگریشن ٹیسٹ سویٹ شامل ہے جو لائیو Docker کنٹینرز کے خلاف چلتا ہے۔
یہ پروجیکٹ GNU General Public License v3.0 کے تحت لائسنس یافتہ ہے اور Infomaniac کے ذریعے برقرار رکھا جاتا ہے۔
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.