फोनचे ॲप आणि दूरचा सर्व्हर वेगवेगळ्या तथ्यांपासून सुरू होतात, आणि दोन्हीपैकी कोणीही दुसऱ्याची तथ्ये उसनवार घेऊ शकत नाही. ॲप स्वतः वापरत असलेल्या नेटवर्कबद्दल ऑपरेटिंग सिस्टमला विचारू शकते, तर सर्व्हरला फक्त कनेक्शनवरून काय येते तेच माहीत असते. स्वतःचा एंडपॉइंट चालवल्यास दुसरे पुन्हा लिहिले जाते आणि पहिले अस्पर्श राहते. यांपैकी कोणता तुमच्या प्रश्नाचे उत्तर देतो हे प्रश्नावरच अवलंबून असते.

दोन निरीक्षण बिंदू, दोन प्रकारचे पुरावे

स्थानिक पुरावा डिव्हाइसचे वर्णन करतो. त्यात रहदारी वाहून नेणारा इंटरफेस, प्लॅटफॉर्म ज्या ट्रान्सपोर्टची नोंद देतो, आणि कॉल करणारे ॲप काय विचारू शकते यांचा समावेश होतो. दूरचा पुरावा कनेक्शनचे वर्णन करतो: स्रोत पत्ता, प्रोटोकॉल, वेळ आणि ॲप पाठवायचे ठरवते ते सर्व. कोणताही निरीक्षण बिंदू दुसऱ्याचा पूर्ण सुपरसेट नाही.

दोन्ही एकत्र करून असे दावे तयार होतात जे अचूक वाटतात पण तपासता येत नाहीत. मार्कर डिव्हाइसवरील नेटवर्क ऑब्जेक्टबद्दल काहीतरी सिद्ध करतो, दूरची सेवा विनंतीचे वर्गीकरण कसे करते याबद्दल नाही.

ओळखीबद्दल वाद घालण्यापूर्वी प्रश्न कोणत्या बिंदूशी संबंधित आहे ते लिहा. प्रश्न असा आहे का की एखादे विशिष्ट ॲप बोगदा सक्रिय आहे हे जाणू शकते, की सेवा विनंती कुठून आली याचा अंदाज लावू शकते? हे वेगवेगळे तपास आहेत, आणि एकाचे उत्तर दुसऱ्याबद्दल काहीही सांगत नाही.

स्थानिक प्लॅटफॉर्म इंटरफेस काय नोंदवू शकतो

Android एक विशिष्ट मार्कर देते. NetworkCapabilities ऑब्जेक्ट TRANSPORT_VPN ची नोंद देऊ शकतो, आणि hasTransport तो ट्रान्सपोर्ट ऑब्जेक्टवर आहे का हे तपासते. ॲप कनेक्टिव्हिटी सेवेकडून ऑब्जेक्ट घेऊन वाचते, नेटवर्क स्थितीच्या परवानगीच्या अधीन.

निकाल स्थानिक प्लॅटफॉर्म माहिती आहे, कोणत्याही प्रदात्याच्या पत्ता-श्रेणींमध्ये शोध नाही. कॉल करणारे ॲप जे नेटवर्क वापरत आहे त्याचे वर्णन करते.

दोन मर्यादा महत्त्वाच्या आहेत. ॲप वगळणारा विभाजित बोगदा नियम त्याच फोनवर सहकाऱ्याला दिसणाऱ्यापेक्षा वेगळे उत्तर देऊ शकतो, कारण ॲप इतरत्र बांधलेले असू शकते. मार्कर यासाठीही आहे की ऑपरेटिंग सिस्टम VPN इंटरफेसचे मॉडेल बनवते, कोणतेही विशिष्ट ॲप तो गोळा करते म्हणून नाही. ॲप हे क्षेत्र वाचते, पुढे पाठवते की दुर्लक्ष करते हे त्या ॲपचे गुणधर्म आहे. त्याचे मॅनिफेस्ट आणि दस्तऐवज हे त्या प्रश्नासाठी एकमेव विश्वासार्ह स्रोत आहेत.

adb shell dumpsys connectivity | grep -i -m5 vpn

दूरची सेवा काय पाहू शकते

सर्व्हर कनेक्शनचा स्रोत पत्ता, ट्रान्सपोर्ट आणि वेळ पाहतो, आणि पत्त्याला नोंदणी किंवा मार्गक्रमण डेटाने समृद्ध करू शकतो. ॲप पाठवते ते सर्वही घेऊ शकतो, ॲप मागणी करते आणि वापरकर्ता संमती देतो तेव्हाचे स्थानासह. ते मार्ग वेगवेगळे आहेत, आणि फक्त एकच पत्ता-शोधासारखा दिसतो.

होस्टिंग प्रदात्याकडे नोंदणीकृत पत्ता बोगद्याचा संकेत देतो, तर निवासी नेटवर्कवर नोंदणीकृत पत्ता घरगुती कनेक्शनचा संकेत देतो. दोन्ही सांख्यिकीय सुगावे आहेत, डिव्हाइसबद्दलची तथ्ये नाहीत.

निवासी पत्ता व्यक्तीला त्या पत्त्यावर ठेवत नाही, आणि होस्टिंग पत्ता ऑपरेटर किंवा देशाचे नाव सांगत नाही. अनुमानाला निश्चितता मानणारी सेवा कधीकधी चूक करेल आणि ते हेरूही शकणार नाही. जर गरज अंदाज नव्हे तर विश्वासार्हता असेल, तर पत्ता डेटा ती देऊ शकत नाही, आणि असे सांगणारी रचना अनुमान लपवणाऱ्या रचनेपेक्षा अधिक प्रामाणिक आहे.

पुरावाकशाला उत्तर देतेकाय दाखवू शकत नाही
स्थानिक ट्रान्सपोर्ट मार्करहा नेटवर्क ऑब्जेक्ट VPN आहे काएक्झिट कोण चालवतो किंवा डिव्हाइस कुठे आहे
दूरचा स्रोत पत्ताकोणता पत्ता सेवेपर्यंत पोहोचलाडिव्हाइसमध्ये बोगदाही आहे का
ॲप्लिकेशन पेलोडॲपने काय पाठवायचे निवडलेॲपने जे पाठवले नाही ते सर्व

स्वतः होस्ट केलेला एक्झिट फक्त एक बाजू का बदलतो

स्वतःचा एंडपॉइंट चालवल्यास दूरच्या सेवेला दिसणारा स्रोत पत्ता बदलतो, आणि हे त्याला ती सेवा व्यावसायिक प्रदात्यांशी जोडते त्या श्रेणींबाहेर नेऊ शकते. स्थानिक नेटवर्क मॉडेलमध्ये काहीही बदलत नाही, कारण बोगदा बोगदाच राहतो आणि ऑपरेटिंग सिस्टम अजूनही त्याची नोंद देत असते.

पुराव्याची एक बाजू हलते, दुसरी स्थिर राहते. त्यांच्यातील अंतर हीच अपेक्षा तुटण्याची जागा आहे.

ब्राउझर स्वतःच्या इंटरफेस आणि निर्बंधांसह तिसरी घटना आहे. वेब सामग्री मूळ क्षमता ऑब्जेक्ट वाचू शकत नाही, आणि मोबाइल ऑपरेटिंग सिस्टमचे वैशिष्ट्य वेब पेजला उपलब्ध मानणे ही श्रेणीची चूक आहे. प्रश्न वेबसाइटशी संबंधित असल्यास, प्लॅटफॉर्म API ची नक्कल करण्याऐवजी वेबसाइट प्रत्यक्षात काय मिळवू शकते याचा अभ्यास करा.

तुम्ही विचारता त्या प्रश्नाने ठरवा

प्रश्न असा असेल की विशिष्ट ॲप बोगद्याची स्थिती निरीक्षण करू शकते का, तर प्लॅटफॉर्म इंटरफेस पाहण्याची योग्य जागा आहे, आणि उत्तर त्या ॲपच्या कोडमध्ये व परवानग्यांमध्ये आहे. प्रश्न असा असेल की सेवा काय अनुमान करू शकते, तर कनेक्शन मेटाडेटा हा पुरावा आहे. कायदेशीर किंवा कराराचा प्रश्न दोन्हीपैकी कोणीही सोडवत नाही.

काहीही गोळा करण्यापूर्वी प्रश्नाला एका वाक्यात नाव द्या. तेच वाक्य कोणता निरीक्षण बिंदू महत्त्वाचा आहे हे ठरवते आणि तपास दुसऱ्या वादाकडे वाहत जाण्यापासून थांबवते.

नोंद देताना प्रत्येक निरीक्षणाला त्याच्या स्रोतानुसार लेबल लावा, कारण लेबल नसलेला दावा पुन्हा तपासता येत नाही. स्थानिक मार्कर आणि पत्त्यावरील अनुमान दोन्ही उपयुक्त आहेत आणि एकही निर्णायक नाही, म्हणून त्यांना एका निवाड्यात विलीन करणे चूक आहे.

सेवा अधिकृत कनेक्शन नाकारते तेव्हा सिग्नल लपवण्यासाठी स्थानिक सेटिंग बदलण्याऐवजी तिचा समर्थित पुनर्तपासणी मार्ग वापरा. एक निरीक्षण काढून टाकल्याने बाकीचे गायब झाले हे कधीही सिद्ध होत नाही.

संबंधित लेख