اینڈرائیڈ ہاٹ اسپاٹ پورٹ فارورڈنگ: تین داخلے کے مقامات
فون، کیریئر کا راستہ اور VPN کا اخراج مختلف حدیں دکھاتے ہیں۔ کوئی بھی پورٹ کھولنے سے پہلے طے کریں کہ سننے والا ساکٹ کس مشین کا ہے۔
آپ نے ہاٹ اسپاٹ چلایا، VPN جوڑا، ایپ میں پورٹ کھولا، اور دوسرا آلہ پھر بھی جڑ نہیں سکتا۔ غائب حصہ تقریباً کبھی خود پورٹ نہیں ہوتا۔ سوال یہ ہے کہ سننے والا ساکٹ کس مشین کا ہے اور دوسرے آلے کو کس پتے تک پہنچنا ہے۔ میں اسے فون سے باہر کی طرف دیکھتا ہوں، کیونکہ آپ جو اسکرین دیکھ رہے ہیں وہ بتاتی ہے کہ آپ اصل میں تین داخلے کے مقامات میں سے کون سا جانچ رہے ہیں۔
وہیں سے شروع کریں جہاں سروس واقعی چلتی ہے
وہ ایپ کھولیں جو کنکشن قبول کرنی چاہیے اور اس کا اپنا اسٹیٹس صفحہ پڑھیں۔ اگر وہ کہے کہ سن رہی ہے، تو جس پتے سے جڑی ہے وہ لکھ لیں، کیونکہ یہی ایک تفصیل نیچے کے بیشتر معاملات طے کرتی ہے۔ 127.0.0.1 سے جڑی ایپ صرف فون سے ہی پہنچ سکتی ہے، اور کوئی ہاٹ اسپاٹ کلائنٹ، کیریئر میپنگ یا VPN اخراج اسے نہیں بدلے گا۔
پھر یقینی بنائیں کہ سروس کون سا آلہ چلاتا ہے۔ یہ یا فون ہے، اور پھر ساکٹ اسی ایپ کا ہے، یا ہاٹ اسپاٹ کے پیچھے لیپ ٹاپ ہے، اور پھر سننے والا اور اس کا فائر وال لیپ ٹاپ کا ہے اور فون صرف پیکٹ آگے بھیجتا ہے۔ یہ مختلف مالکان والے مختلف ڈیزائن ہیں، اور انہیں ملانا ہی وجہ ہے کہ ایک جگہ کھلی پورٹ دوسری جگہ کچھ نہیں کرتی۔
ڈیبگ کے قابل بلڈ پر adb shell /proc/net/tcp کے ذریعے ساکٹ کی فہرست دکھا سکتا ہے، لیکن زیادہ تر لوگوں کے لیے خود ایپ کی حیثیت ایماندار ماخذ ہے۔ یہ اس جال سے بھی بچاتا ہے کہ آپ ایسے ساکٹ کو جانچیں جو ایپ نے کسی ایسے پتے پر کھولا ہو جس کی آپ توقع نہیں کر رہے تھے۔
پہلا داخلہ مقام: ہاٹ اسپاٹ پر دوسرا آلہ
یہ مقامی معاملہ ہے اور اسے درست کرنا سب سے آسان ہے۔ دوسرا آلہ فون تک اس پتے پر پہنچتا ہے جسے وہ اپنا گیٹ وے سمجھتا ہے، اسی پورٹ پر جہاں ایپ سنتی ہے، اور ہاٹ اسپاٹ سے باہر کسی چیز کی ضرورت نہیں۔ کیریئر میپنگ درکار نہیں اور کسی فراہم کنندہ کی خصوصیت کا ہونا لازم نہیں، کیونکہ ٹریفک کبھی مقامی حصے سے باہر نہیں جاتی۔
دو چیزیں اسے توڑتی ہیں۔ ایپ لوپ بیک سے جڑی ہے، یا فون پر کلائنٹ پالیسی مقامی کنکشن کی اجازت نہیں دیتی۔ اگر ایپ تصدیق کرتی ہے تو صرف TCP کنکشن کے بجائے ایپ کے اپنے پروٹوکول سے جانچیں، کیونکہ قبول کر کے پھر مسترد کرنے والا سننے والا دور سے بند پورٹ جیسا ہی دکھائی دیتا ہے۔
اگر سروس فون سے جڑے لیپ ٹاپ پر چلتی ہے تو فون کا ہاٹ اسپاٹ پتہ منزل ہی نہیں۔ آپ کو ہاٹ اسپاٹ انٹرفیس پر لیپ ٹاپ کا پتہ اور لیپ ٹاپ پر سننے والا درکار ہے، اور فون اب آگے بھیجنے کے سوا کسی چیز کا مالک نہیں۔
دوسرا داخلہ مقام: کیریئر کا راستہ
موبائل نیٹ ورک سے فون تک پہنچنا الگ مسئلہ ہے، اور بیشتر اوقات یہ IPv4 کے لیے سیدھا کام نہیں کرتا۔ کیریئر آلات کو مشترکہ ترجمے کے پیچھے رکھتے ہیں، اسی لیے RFC 6598 نے بالکل ایسی ترتیب کے لیے مشترکہ پتہ رینج مخصوص کی ہے۔ غیر مانگے ہوئے اندر آنے والے کنکشن کے پاس آنے کے لیے کوئی میپنگ نہیں ہوتی، اور کوئی مقامی ترتیب اسے پیدا نہیں کرتی، کیونکہ مترجم آپ کا آلہ نہیں۔
روٹ رسائی بھی یہ نہیں بدلتی۔ یہ آپ کو فون کے اسٹیک پر کنٹرول دیتی ہے، کیریئر کے مترجم پر نہیں، اور الٹا دعوی کرنے والے نسخے عموماً ایسا عوامی پتہ فرض کرتے ہیں جو کیریئر نے کبھی نہیں دیا۔ جہاں کیریئر عوامی IPv6 پریفکس پیش کرتا ہے وہاں اندر آنے کا راستہ ہو سکتا ہے، لیکن کچھ بھی جواب دینے سے پہلے سننے والے اور فون کے فائر وال کو اب بھی دانستہ اجازت درکار ہے۔
تیسرا داخلہ مقام: VPN کا اخراج
ٹنل کے فعال ہونے کے دوران کوئی ویب سائٹ جو پتہ بتاتی ہے وہ ڈھانپے گئے باہر جانے والے ٹریفک کے لیے اخراج کا پتہ ہے۔ یہ ایسے پتے کے برابر نہیں جو آپ کی طرف سے اندر آنے والے کنکشن قبول کرے۔ اسے اندر آنے کے لیے استعمال کرنے کے لیے فراہم کنندہ کی واقعی پیش کردہ خصوصیت درکار ہے، جیسے فارورڈ شدہ پورٹ یا آپ کے اکاؤنٹ سے منسلک اندر آنے والی میپنگ، نیز اخراج سے کلائنٹ تک قابل استعمال راستہ۔
مقامی اجازت کا قاعدہ ایسی میپنگ پیدا نہیں کر سکتا۔ یہ کر سکتا ہے کہ ایپ کے جوابات کس راستے سے جاتے ہیں یہ بدل دے، اور یہ اہم ہے جب ایپ ٹنل سے خارج ہو: درخواست اور جواب مختلف نیٹ ورک سیاق میں جا سکتے ہیں، اور کنکشن ایسے طریقے سے ناکام ہوتا ہے جو فائر وال کے مسئلے جیسا لگتا ہے۔
ایک راستہ شروع سے آخر تک جانچیں، پھر مالک کا نام دیں
جانچنے سے پہلے ٹپل لکھیں: مطلوبہ ماخذ، منزل کا پتہ، ٹرانسپورٹ، پورٹ اور سننے والے ساکٹ کا مالک مشین۔ اگر کوئی عنصر اندازہ ہو، تو جانچ آپ کو کچھ مفید نہیں بتائے گی، اور آخر میں پہلے کی وضاحت کے لیے دوسری تہہ بدلیں گے۔
پھر وہی ایک مجاز راستہ ایپ کی تصدیق برقرار رکھتے ہوئے جانچیں۔ صرف اس لیے وسیع سننے والا شائع کرنے یا غیر متعلقہ کنٹرول بند کرنے سے گریز کریں کہ کوئی مبہم عوامی پتہ جانچ جواب دے، کیونکہ دونوں تبدیلیاں جانچ سے زیادہ چلتی ہیں اور کوئی بھی ڈیزائن کے کام کرنے کا ثبوت نہیں دیتی۔
اینڈرائیڈ کا ٹیدرنگ ذیلی نظام نیچے کی طرف ٹریفک اپنے راستے سے آگے بھیجتا ہے، عام ایپ VPN گرفت سے الگ، اس لیے جڑے لیپ ٹاپ پر چلنے والا براؤزر فون کی سروس تک اندر آنے والی رسائی کے بارے میں کچھ نہیں بتاتا۔ اسے کام کرنے والا کہنے سے پہلے:
- سننے والا ساکٹ ایسے پتے پر ہے جہاں مطلوبہ ساتھی پہنچ سکتا ہے، لوپ بیک پر نہیں۔
- ساتھی اسی داخلہ مقام کا پتہ استعمال کر رہا ہے، اسٹیٹس صفحے کا اخراجی پتہ نہیں۔
- کیریئر یا فراہم کنندہ کی طرف کی کوئی بھی میپنگ معاون خصوصیت ہے، آپ کا مقامی طور پر شامل کردہ قاعدہ نہیں۔
- درخواست اور جواب ایک ہی نیٹ ورک سیاق سے گزرتے ہیں، اور ایپ کی تصدیق اب بھی پاس ہوتی ہے۔