سپورٹ ٹکٹ آتے ہیں جن میں کہا جاتا ہے کہ ایپ ایک پتہ دکھا رہی ہے جبکہ سرور نے دوسرا درج کیا، پھر پوچھا جاتا ہے کہ دونوں میں سے کون جھوٹ بول رہا ہے۔ کوئی نہیں؛ یہ دو مختلف چیزوں کے دو مشاہدے ہیں۔ کسی انٹرفیس سے بندھا پتہ، کسی ساکٹ سے بندھا پتہ، اور وہ ماخذی پتہ جو کوئی دور دراز خدمت دیکھتی ہے، تین الگ سوالوں کے جواب دیتے ہیں۔ VPN فون میں نیٹ ورک سیاق شامل کرتا ہے اور ان تینوں کو ایک ہی ڈیوائس بھر کے عدد میں نہیں سمیٹتا۔ پتے پڑھنے سے پہلے ٹکٹ میں خانے کے نام پڑھیں۔

ٹکٹ عام طور پر کیا بیان کرتا ہے

Wi-Fi پر ایک فون کا تصور کریں جس میں ٹنل کھلی ہے۔ Wi-Fi انٹرفیس کے پاس LAN پتہ ہے، ٹنل انٹرفیس کے پاس مختص کیا گیا اندرونی پتہ ہے، اور ٹنل سے باہر جانے والی درخواست کسی بھی ایسے ماخذ سے عوامی خدمت تک پہنچتی ہے جو راستے میں کسی بھی ترجمے سے بچ جائے۔ اندرونی پتہ چھاپنے والی ایپ اور ترجمہ شدہ ماخذ درج کرنے والا سرور دونوں درست رپورٹ دیتے ہیں، اور یہ دونوں قدریں کبھی نہیں ملیں گی۔

تینوں مشاہدے صرف اس بات میں نہیں کہ وہ کیا بیان کرتے ہیں، بلکہ اس میں بھی مختلف ہیں کہ وہ کیا ثابت کر سکتے ہیں۔

ObservationWhat it describesWhat it cannot prove
An address on a local interfaceOne configured attachment: Wi-Fi, cellular or a tunnelThe source a remote site receives
A socket's local endpointThe binding used by that one connectionThe address after translation further along
The peer address at a serviceWhat arrived at that observation pointAny other interface on the phone

وہ جدول اس کوڈ کے پاس رکھیں جو یہ قدریں ٹکٹ میں بھرتا ہے، کیونکہ یہاں زیادہ تر الجھن نیٹ ورک کی خرابی نہیں بلکہ کالموں کی الجھن ہے۔

ساکٹ کال کس چیز کا جواب دے سکتی ہے اور کس چیز کا نہیں

API کی سطح پر، getsockname اس مقامی سرے کا پتہ بتاتا ہے جو اس وقت کسی مخصوص ساکٹ سے بندھا ہے۔ جڑے ہوئے ساکٹ کے لیے یہی وہ ماخذ ہے جو کرنل نے اس اتصال کے لیے چنا، اور یہ کسی بھی انٹرفیس فہرست سے پہلے ہی زیادہ مخصوص ہے۔ یہ عوامی پتے کی تلاش نہیں ہے، اور غیر بندھے ساکٹ پر اسے بلانا آپ کو تقریباً کچھ نہیں بتاتا۔ یہ جو بھی لوٹائے وہ بعد میں راستے میں دوبارہ لکھا جا سکتا ہے، اس لیے خدمت نے کیا وصول کیا اس بارے میں صرف خدمت کا اپنا مشاہدہ مستند ہے۔

Apple پلیٹ فارمز پر انٹرفیس کی طرف الگ سطح ہے: ٹنل کی ترتیبات ٹنل انٹرفیس کو مختص کردہ پتے فہرست کرتی ہیں۔ انہیں پڑھنا بتاتا ہے کہ ٹنل کیسے تشکیل دی گئی، اور یہ نہیں بتاتا کہ کسی دی گئی درخواست نے کون سا راستہ لیا، کیونکہ روٹنگ اور فی ایپ قواعد ہر اتصال کے لیے یہ طے کرتے ہیں۔

منقسم ٹنل خلا کو نظر آنے والا بناتا ہے۔ ایک درخواست ٹنل سے باہر جا سکتی ہے جبکہ اگلی، کسی دوسرے ہدف یا دوسرے پتہ خاندان کی طرف، نہیں جاتی، اس لیے ایک ہی ایپ کے سیکنڈوں کے فرق سے ملنے والے دو نتائج دیانت دار اور مختلف ہو سکتے ہیں۔

سوال سے میل کھانے والا مشاہدہ چنیں

سب کچھ ناپنے کے بجائے سوچ سمجھ کر چنیں۔ بیک اینڈ جو دیکھتا ہے اس کے لیے بیک اینڈ میں ماخذ درج کریں، اور جہاں آگے ریورس پراکسی ہو، کلائنٹ کا پتہ کلائنٹ کی بھیجی ہوئی کسی چیز سے نہیں، بلکہ اس فارورڈنگ ہیڈر سے پڑھیں جو آپ کی تعیناتی واقعی مقرر کرتی ہے۔

ٹنل تشکیل شدہ ہے یا نہیں، یہ جاننے کے لیے انٹرفیس پڑھیں۔ اس ایپ کی ٹریفک نے اسے استعمال کیا یا نہیں، یہ جاننے کے لیے اسی ایپ سے کسی ایسے ہدف کی طرف ٹریفک بھیجیں جسے آپ کنٹرول کرتے ہیں اور دونوں سروں پر ماخذ کا موازنہ کریں۔

فی ایپ قواعد اپنے الگ جملے کے حقدار ہیں۔ براؤزر کا نتیجہ اسی براؤزر کے بارے میں ثبوت ہے، اور زیرِ انتظام فی ایپ ٹنل ایک ہی فون کی دو ایپس کو ایک ہی لمحے میں مختلف راستوں پر رکھ سکتا ہے۔ کوریج کی تصدیق کا مطلب ہے متعلقہ ایپ سے، متعلقہ پتہ خاندان میں ٹریفک بھیجنا۔

انٹرفیس کے نام ڈیٹیکٹر نہیں ہیں

انٹرفیس کا نام VPN جانچ کے طور پر بھی استعمال نہ کریں۔ نام عوامی معاہدہ نہیں ہیں، اور ایک فون میں کئی رابطے ہو سکتے ہیں جبکہ ان میں سے صرف ایک آپ کی درخواست لے جاتا ہے۔

خانے کا نام اس مشاہدے کے مطابق رکھیں جو وہ رکھتا ہے۔ local_interface_address، socket_local_endpoint اور service_observed_source بھدے اور غیر مبہم ہیں، اور غیر ابہام ہی وہ چیز ہے جو آپ چاہتے ہیں جب قدر ایک ہفتے بعد سپورٹ ٹکٹ میں پہنچتی ہے۔ device IP نام کا ایک ہی کالم تینوں جمع کرے گا اور پھر اس پر ایسے بھروسا کیا جائے گا جیسے وہ ایک ہو۔

شناخت کو پتے کے کالم سے باہر رکھیں

مشترکہ VPN اخراج کسی صارف کی شناخت نہیں ہے، اور نجی پتہ کوئی رسائی سند نہیں ہے۔ دونوں شخص نہیں بلکہ راستہ بیان کرتے ہیں، اور کسی ایک کو توثیق سمجھنا روٹنگ کے حادثے کو اجازت کا فیصلہ بنا دیتا ہے۔

جب کوئی پوچھے کہ فون کے پاس کون سا پتہ ہے، تو مفید جواب یہ سوال ہے کہ کون سا اتصال اور کون سا مشاہدہ کرنے والا۔ getsockname کی تعریف درمیانی صورت کے لیے نقل کرنے کے قابل ہے، کیونکہ وہ ساکٹ کا سوال طے کرتی ہے اور باقی دو کو طے کرنے کا دعویٰ نہیں کرتی۔

پھر لکھیں کہ تینوں میں سے آپ کی مصنوعات کو واقعی کون سا دکھانا ہے، اور باقی دو انٹرفیس سے ہٹا دیں۔

متعلقہ مضامین