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

ایپ اور اس کے پروفائل سے شروع کریں

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

سیٹنگز میں، ترتیب شدہ VPN اندراجات کی فہرست بنائیں اور نوٹ کریں کہ ہر ایک کس کی ہے۔ سام سنگ بلڈز میں مینو لیبل ریلیز کے درمیان بدلتے ہیں، اس لیے اندراج کی وضاحت کریں، اس تک جانے والے راستے کی نہیں۔ سرمئی یا منظم شدہ اندراج اس شخص کا ہے جو آلے کا انتظام کرتا ہے؛ اسے تجربے کے طور پر بند کرنا وہ چیز بدل دیتا ہے جو آپ ناپنا چاہتے ہیں اور پالیسی کے خلاف ہو سکتا ہے۔

وہ حالت پڑھیں جو پلیٹ فارم بتاتا ہے

آپ کے سپورٹ ٹولنگ میں موجود کسی سرگرمی کے اندر، API 23 یا بعد میں، ایک بھی بائٹ بھیجے بغیر نیٹ ورک کی حالت پڑھی جا سکتی ہے۔ کال کو صلاحیتیں پڑھنے کے لیے عام ACCESS_NETWORK_STATE مینی فیسٹ اجازت درکار ہے۔

val cm = getSystemService(android.net.ConnectivityManager::class.java) ?: return
val network = cm.activeNetwork
val caps = network?.let { cm.getNetworkCapabilities(it) }
val hasVpn = caps?.hasTransport(android.net.NetworkCapabilities.TRANSPORT_VPN)
val proxy = cm.defaultProxy

ہر قدر ایک تنگ سوال کا جواب دیتی ہے۔ فعال نیٹ ورک اس لمحے کال کرنے والے عمل کا ڈیفالٹ نیٹ ورک ہے۔ صلاحیت کی جانچ بتاتی ہے کہ وہ ڈیفالٹ نیٹ ورک VPN کی تائید یافتہ ہے یا نہیں۔ پراکسی کال مؤثر ڈیفالٹ HTTP پراکسی کی اطلاع دیتی ہے، اور واپس ملنے والی شے یا تو جامد پراکسی یا PAC اسکرپٹ بیان کر سکتی ہے۔

اگر آپ کو ڈیفالٹ کے بجائے فی نیٹ ورک منظر چاہیے تو اسی نیٹ ورک کی لنک خصوصیات پڑھیں اور cm.getLinkProperties(network)?.httpProxy سے موازنہ کریں۔ ڈیوائس مینجمنٹ کی طرف سے نصب پراکسی ڈیفالٹ پراکسی کال میں نظر آتی ہے اور لنک خصوصیات میں نہیں، جو پالیسی کی دی ہوئی پراکسی کو نیٹ ورک کی دی ہوئی سے جلد الگ کرنے کا طریقہ ہے۔

آؤٹ پٹ کو عوامی رپورٹ کے بجائے اپنے سپورٹ چینل میں رکھیں۔ پراکسی ہوسٹ نام، PAC یو آر ایل اور اندرونی لاحقے ظاہر کرتے ہیں کہ آپ کی تنظیم ٹریفک کو کیسے روٹ کرتی ہے، اور ناکامی بیان کرنے کے لیے ان میں سے کوئی ضروری نہیں۔

ہر میدان کی تنگ تشریح کریں

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

VPN ٹرانسپورٹ مثبت اشاروں میں سب سے کمزور ہے۔ VpnService رکھنے والی کوئی بھی ایپ ایک پیدا کرتی ہے، بشمول وہ مقامی فلٹرنگ ایپ جو آپ کا ٹریفک کہیں نہیں بھیجتی۔ اس لیے true قدر کہتی ہے کہ VPN تائید یافتہ ڈیفالٹ نیٹ ورک موجود ہے، یہ نہیں کہ آپ کی تنظیم کا اخراج استعمال ہوا اور یقیناً یہ نہیں کہ معائنہ ہوا۔

صفر ڈیفالٹ پراکسی کا مطلب ہے کہ یہ API مؤثر ترتیب کے لیے کوئی ڈیفالٹ HTTP پراکسی رپورٹ نہیں کرتی۔ یہ بہت کم خارج کرتی ہے: ایپ اپنی SOCKS سیٹنگ رکھ سکتی ہے، اپنا HTTP کلائنٹ نافذ کر سکتی ہے، یا گیٹ وے پر ایسی پراکسی سے چلائی جا سکتی ہے جس کا آلے کو کبھی علم نہیں ہوتا۔

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

یہ اسنیپ شاٹ آپ کو کیا نہیں بتا سکتا

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

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

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

اسے ایسی شکل میں رپورٹ کریں جو منتظم استعمال کر سکے

متاثرہ ایپ، پروفائل، ٹائم اسٹیمپ اور ناکام ہونے والا عین مرحلہ دیں: نام کا حل، TCP کنکشن، TLS مصافحہ یا HTTP حیثیت۔ اسنیپ شاٹ کی قدریں ویسی ہی شامل کریں جیسے پڑھی گئیں، صفر کو صفر ہی لکھیں، کچھ نہیں جیسے لفظ کے طور پر نہیں۔ نوٹ کریں کہ اسی پروفائل کی دوسری ایپس بھی اسی طرح ناکام ہوتی ہیں یا نہیں، جو ایپ کے مسئلے کو پورے پروفائل کے راستے کے مسئلے سے الگ کرتا ہے۔

پھر رکیں اور راستے کے مالک کو جواب دینے دیں۔ کارپوریٹ سرٹیفکیٹ، پراکسی پتہ یا VPN اندراج کو انتظام ہٹانے یا منظور شدہ راستے سے بچنے کی اجازت نہ سمجھیں؛ یہ سپورٹ کیس کو پالیسی واقعہ بنا دیتا ہے۔

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

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