ડિવાઇસ પરનું VPN માર્કર કે એક્ઝિટ સરનામું: કયું શું સાબિત કરે છે?
ડિવાઇસ પર વાંચેલું નેટવર્ક માર્કર અને સર્વર જે સરનામું જુએ છે તે બે અલગ પુરાવા છે. તમારા પ્રશ્નને કયો જોઈએ તે નક્કી કરો.
ફોનની એપ અને દૂરનું સર્વર જુદી જુદી હકીકતોથી શરૂ થાય છે, અને બંમાંથી કોઈ બીજાની હકીકતો ઉધાર લઈ શકતું નથી. એપ પોતે વાપરતા નેટવર્ક વિશે ઓપરેટિંગ સિસ્ટમને પૂછી શકે છે, જ્યારે સર્વર ફક્ત એ જાણે છે જે કનેક્શન પર આવે છે. તમારું પોતાનું એન્ડપોઇન્ટ ચલાવવાથી બીજું ફરીથી લખાય છે અને પહેલું અસ્પૃષ્ટ રહે છે. તેમાંથી કયું તમારા પ્રશ્નનો જવાબ આપશે તે પ્રશ્ન પર જ આધાર રાખે છે.
બે અવલોકન બિંદુ, બે પ્રકારના પુરાવા
સ્થાનિક પુરાવો ડિવાઇસનું વર્ણન કરે છે. તે ટ્રાફિક વહન કરતું ઇન્ટરફેસ, પ્લેટફોર્મ જે ટ્રાન્સપોર્ટની જાણ કરે છે, અને કૉલ કરતી એપ શું પૂછી શકે તે આવરી લે છે. દૂરનો પુરાવો કનેક્શનનું વર્ણન કરે છે: સ્રોત સરનામું, પ્રોટોકોલ, સમય અને એપ જે મોકલવાનું નક્કી કરે તે બધું. કોઈ પણ અવલોકન બિંદુ બીજાનું સંપૂર્ણ સુપરસેટ નથી.
બંનેને ભેગા કરવાથી એવા દાવા ઊભા થાય છે જે ચોકસાઈભર્યા સંભળાય છે અને ચકાસી શકાતા નથી. માર્કર ડિવાઇસ પરના નેટવર્ક ઑબ્જેક્ટ વિશે કંઈક સાબિત કરે છે, એ વિશે નહીં કે દૂરની સેવા વિનંતીનું કેવી રીતે વર્ગીકરણ કરે છે.
શોધ વિશે દલીલ કરતા પહેલાં લખો કે પ્રશ્ન કયા બિંદુને લગતો છે. પ્રશ્ન એ છે કે ચોક્કસ એપ જોઈ શકે કે ટનલ સક્રિય છે, કે સેવા અનુમાન કરી શકે કે વિનંતી ક્યાંથી આવી? આ અલગ તપાસ છે, અને એકનો જવાબ બીજા વિશે કંઈ કહેતો નથી.
સ્થાનિક પ્લેટફોર્મ ઇન્ટરફેસ શું જાણ કરી શકે
Android ચોક્કસ માર્કર આપે છે. NetworkCapabilities ઑબ્જેક્ટ TRANSPORT_VPN ની જાણ કરી શકે છે, અને hasTransport ચકાસે છે કે તે ટ્રાન્સપોર્ટ ઑબ્જેક્ટ પર હાજર છે કે નહીં. એપ કનેક્ટિવિટી સેવામાંથી ઑબ્જેક્ટ મેળવીને વાંચે છે, નેટવર્ક સ્થિતિની પરવાનગીને આધીન.
પરિણામ સ્થાનિક પ્લેટફોર્મ માહિતી છે, કોઈ પ્રદાતાની સરનામા શ્રેણીમાં શોધ નહીં. તે કૉલ કરતી એપ જે નેટવર્ક વાપરે છે તેનું વર્ણન કરે છે.
બે મર્યાદા મહત્વની છે. એપને બાકાત રાખતો સ્પ્લિટ-ટનલ નિયમ એ જ ફોન પર સહકર્મી જુએ તેના કરતાં જુદો જવાબ આપી શકે છે, કારણ કે એપ બીજે બંધાયેલી હોઈ શકે. માર્કર એટલા માટે પણ છે કે OS VPN ઇન્ટરફેસનું મોડેલ બનાવે છે, એટલા માટે નહીં કે કોઈ ચોક્કસ એપ તેને એકઠું કરે. એપ આ ક્ષેત્ર વાંચે, આગળ મોકલે કે અવગણે તે તે એપની લાક્ષણિકતા છે. તેનું મેનિફેસ્ટ અને દસ્તાવેજીકરણ એ પ્રશ્ન માટેના એકમાત્ર વિશ્વસનીય સ્રોત છે.
adb shell dumpsys connectivity | grep -i -m5 vpn
દૂરની સેવા શું જોઈ શકે
સર્વર કનેક્શનનું સ્રોત સરનામું, ટ્રાન્સપોર્ટ અને સમય જુએ છે, અને તે સરનામાને રજિસ્ટ્રી કે રૂટિંગ ડેટાથી સમૃદ્ધ કરી શકે છે. એપ જે કંઈ મોકલે તે પણ તે મેળવી શકે છે, જેમાં સ્થાન પણ સામેલ છે જ્યારે એપ તે માંગે અને વપરાશકર્તા સંમત થાય. આ ચેનલો અલગ છે, અને ફક્ત એક જ સરનામા-શોધ જેવી લાગે છે.
હોસ્ટિંગ પ્રદાતા પર નોંધાયેલું સરનામું ટનલ સૂચવે છે, જ્યારે રહેણાંક નેટવર્ક પર નોંધાયેલું સરનામું ઘરના કનેક્શન સૂચવે છે. બંને આંકડાકીય સંકેતો છે, ડિવાઇસ વિશેની હકીકતો નહીં.
રહેણાંક સરનામું વ્યક્તિને તે સરનામે મૂકતું નથી, અને હોસ્ટિંગ સરનામું ઓપરેટર કે દેશનું નામ આપતું નથી. અનુમાનને નિશ્ચિતતા ગણતી સેવા ક્યારેક ખોટી પડશે અને તે શોધી પણ નહીં શકે. જો જરૂરિયાત અનુમાન નહીં પણ વિશ્વસનીયતા હોય, તો સરનામાનો ડેટા તે આપી શકતો નથી, અને એમ કહેતી રચના અનુમાન છુપાવતી રચના કરતાં વધુ પ્રામાણિક છે.
| પુરાવો | શાનો જવાબ આપે છે | શું બતાવી શકતું નથી |
|---|---|---|
| સ્થાનિક ટ્રાન્સપોર્ટ માર્કર | આ નેટવર્ક ઑબ્જેક્ટ VPN છે કે નહીં | એક્ઝિટ કોણ ચલાવે છે અથવા ડિવાઇસ ક્યાં છે |
| દૂરનું સ્રોત સરનામું | કયું સરનામું સેવા સુધી પહોંચ્યું | ડિવાઇસમાં ટનલ પણ છે કે નહીં |
| એપ્લિકેશન પેલોડ | એપે શું મોકલવાનું પસંદ કર્યું | એપે જે મોકલ્યું નથી તે બધું |
પોતાનું હોસ્ટ કરેલું એક્ઝિટ કેમ ફક્ત એક બાજુ બદલે છે
પોતાનું એન્ડપોઇન્ટ ચલાવવાથી દૂરની સેવા જે સ્રોત સરનામું જુએ છે તે બદલાય છે, જે તેને એ શ્રેણીઓની બહાર ખસેડી શકે છે જે સેવા વ્યાપારી પ્રદાતાઓ સાથે જોડે છે. સ્થાનિક નેટવર્ક મોડેલમાં કંઈ બદલાતું નથી, કારણ કે ટનલ ટનલ જ રહે છે અને OS હજી પણ તેની જાણ કરે છે.
પુરાવાની એક બાજુ ખસે છે; બીજી સ્થિર રહે છે. તેમની વચ્ચેનું અંતર એ જગ્યા છે જ્યાં અપેક્ષાઓ તૂટે છે.
બ્રાઉઝર પોતાના ઇન્ટરફેસ અને નિયંત્રણો સાથે ત્રીજો કિસ્સો છે. વેબ સામગ્રી મૂળ ક્ષમતા ઑબ્જેક્ટ વાંચી શકતી નથી, અને મોબાઇલ OSની સુવિધાને વેબ પેજ માટે ઉપલબ્ધ ગણવી એ શ્રેણીની ભૂલ છે. જો પ્રશ્ન વેબસાઇટને લગતો હોય, તો પ્લેટફોર્મ APIનું નકલ લખવાને બદલે વેબસાઇટ ખરેખર શું મેળવી શકે તેનો અભ્યાસ કરો.
તમે પૂછતા પ્રશ્ન સાથે નક્કી કરો
જો પ્રશ્ન એ છે કે ચોક્કસ એપ ટનલની સ્થિતિ અવલોકી શકે છે કે નહીં, તો પ્લેટફોર્મ ઇન્ટરફેસ જોવાનું યોગ્ય સ્થાન છે, અને જવાબ તે એપના કોડ અને પરવાનગીઓમાં છે. જો પ્રશ્ન એ છે કે સેવા શું અનુમાન કરી શકે, તો કનેક્શન મેટાડેટા પુરાવો છે. કાનૂની કે કરાર સંબંધી પ્રશ્ન બંનેથી નક્કી થતો નથી.
કંઈપણ એકઠું કરતા પહેલાં પ્રશ્નને એક વાક્યમાં નામ આપો. એ વાક્ય જ નક્કી કરે છે કે કયું અવલોકન બિંદુ મહત્વનું છે અને તપાસને બીજી દલીલ તરફ ખસી જતી અટકાવે છે.
જ્યારે જાણ કરો ત્યારે દરેક અવલોકનને તેના સ્રોત પ્રમાણે લેબલ કરો, કારણ કે લેબલ વગરનો દાવો સમીક્ષા કરી શકાતો નથી. સ્થાનિક માર્કર અને સરનામાનું અનુમાન બંને ઉપયોગી છે અને એક પણ નિર્ણાયક નથી, તેથી તેમને એક ચુકાદામાં ભેગા કરવું ભૂલ છે.
જ્યારે સેવા અધિકૃત કનેક્શન નકારે, ત્યારે સંકેત છુપાવવા માટે સ્થાનિક સેટિંગ બદલવાને બદલે તેનો સમર્થિત સમીક્ષા માર્ગ વાપરો. એક અવલોકન દૂર કરવાથી ક્યારેય સાબિત થતું નથી કે બાકીના અદૃશ્ય થઈ ગયા છે.