ਪ੍ਰਬੰਧਿਤ ਕੰਮ ਐਪ ਲਈ VPN ਅਤੇ ਪ੍ਰਾਕਸੀ ਸਥਿਤੀ ਕਿਵੇਂ ਪੜ੍ਹੀਏ
ਪ੍ਰਬੰਧਿਤ ਫ਼ੋਨ 'ਤੇ VPN ਆਈਕਨ ਬਹੁਤ ਘੱਟ ਸਾਬਤ ਕਰਦਾ ਹੈ। ਸਰਗਰਮ ਨੈੱਟਵਰਕ, ਇਸਦੀਆਂ ਸਮਰੱਥਾਵਾਂ ਅਤੇ ਪ੍ਰਭਾਵੀ ਪ੍ਰਾਕਸੀ ਪੜ੍ਹੋ, ਫਿਰ ਹਰ ਸਿਫ਼ਰ ਨੂੰ ਜਿਵੇਂ ਹੈ ਤਿਵੇਂ ਪੜ੍ਹੋ।
ਪ੍ਰਬੰਧਿਤ ਫ਼ੋਨ 'ਤੇ ਕੰਮ ਐਪ ਫੇਲ੍ਹ ਹੁੰਦੀ ਹੈ, ਕੋਈ 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 URL ਅਤੇ ਅੰਦਰੂਨੀ ਪ੍ਰਤਿਅਯ ਦੱਸਦੇ ਹਨ ਕਿ ਤੁਹਾਡੀ ਸੰਸਥਾ ਟ੍ਰੈਫ਼ਿਕ ਕਿਵੇਂ ਰੂਟ ਕਰਦੀ ਹੈ, ਅਤੇ ਨੁਕਸ ਦਾ ਵਰਣਨ ਕਰਨ ਲਈ ਇਹਨਾਂ ਵਿੱਚੋਂ ਕੋਈ ਵੀ ਲੋੜੀਂਦਾ ਨਹੀਂ।
ਹਰ ਖੇਤਰ ਨੂੰ ਤੰਗ ਰੂਪ ਵਿੱਚ ਵਿਆਖਿਆ ਕਰੋ
ਸਿਫ਼ਰ ਨੈੱਟਵਰਕ ਜਾਂ ਸਿਫ਼ਰ ਸਮਰੱਥਾ ਵਸਤੂ ਦਾ ਅਰਥ ਹੈ ਕਿ ਕਾਲ ਕਰਨ ਵਾਲੇ ਦੀ ਨੈੱਟਵਰਕ ਸਥਿਤੀ ਉਪਲਬਧ ਨਹੀਂ ਸੀ ਜਾਂ ਪੜ੍ਹਦਿਆਂ ਬਦਲ ਗਈ। ਇਸਦਾ ਅਰਥ ਇਹ ਨਹੀਂ ਕਿ VPN ਨਹੀਂ ਹੈ। ਇਸਨੂੰ ਅਣਜਾਣ ਮੰਨੋ ਅਤੇ ਐਪ ਸਾਹਮਣੇ ਆਉਣ ਤੋਂ ਬਾਅਦ ਦੁਬਾਰਾ ਪੜ੍ਹੋ, ਨਕਾਰਾਤਮਕ ਨਤੀਜੇ ਵਜੋਂ ਨਹੀਂ।
VPN ਟਰਾਂਸਪੋਰਟ ਸਕਾਰਾਤਮਕਾਂ ਵਿੱਚੋਂ ਸਭ ਤੋਂ ਕਮਜ਼ੋਰ ਹੈ। VpnService ਰੱਖਣ ਵਾਲੀ ਕੋਈ ਵੀ ਐਪ ਇੱਕ ਪੈਦਾ ਕਰਦੀ ਹੈ, ਤੁਹਾਡਾ ਟ੍ਰੈਫ਼ਿਕ ਕਿਤੇ ਵੀ ਨਾ ਭੇਜਣ ਵਾਲੀ ਸਥਾਨਕ ਫ਼ਿਲਟਰਿੰਗ ਐਪ ਵੀ। ਇਸ ਲਈ true ਮੁੱਲ ਕਹਿੰਦਾ ਹੈ ਕਿ VPN-ਸਮਰਥਿਤ ਡਿਫ਼ਾਲਟ ਨੈੱਟਵਰਕ ਮੌਜੂਦ ਹੈ, ਇਹ ਨਹੀਂ ਕਿ ਤੁਹਾਡੀ ਸੰਸਥਾ ਦਾ ਨਿਕਾਸ ਵਰਤਿਆ ਗਿਆ ਅਤੇ ਪੱਕਾ ਨਹੀਂ ਕਿ ਜਾਂਚ ਹੋਈ।
ਸਿਫ਼ਰ ਡਿਫ਼ਾਲਟ ਪ੍ਰਾਕਸੀ ਦਾ ਅਰਥ ਹੈ ਕਿ ਇਹ API ਪ੍ਰਭਾਵੀ ਸੰਰਚਨਾ ਲਈ ਕੋਈ ਡਿਫ਼ਾਲਟ HTTP ਪ੍ਰਾਕਸੀ ਰਿਪੋਰਟ ਨਹੀਂ ਕਰਦੀ। ਇਹ ਬਹੁਤ ਘੱਟ ਬਾਹਰ ਕਰਦੀ ਹੈ: ਐਪ ਆਪਣੀ SOCKS ਸੈਟਿੰਗ ਲੈ ਕੇ ਚੱਲ ਸਕਦੀ ਹੈ, ਆਪਣਾ HTTP ਕਲਾਇੰਟ ਲਾਗੂ ਕਰ ਸਕਦੀ ਹੈ, ਜਾਂ ਗੇਟਵੇ 'ਤੇ ਅਜਿਹੀ ਪ੍ਰਾਕਸੀ ਰਾਹੀਂ ਚੱਲ ਸਕਦੀ ਹੈ ਜਿਸਦੀ ਯੰਤਰ ਨੂੰ ਕਦੇ ਪਤਾ ਨਹੀਂ ਲੱਗਦਾ।
PAC ਉਹ ਸਥਿਤੀ ਹੈ ਜੋ ਇੱਕ-ਮੁੱਲ ਜਵਾਬ ਨੂੰ ਹਰਾਉਂਦੀ ਹੈ। ਸਕ੍ਰਿਪਟ ਇੱਕ ਮੰਜ਼ਿਲ ਨੂੰ ਪ੍ਰਾਕਸੀ ਰਾਹੀਂ ਭੇਜ ਸਕਦੀ ਹੈ ਅਤੇ ਦੂਜੀ ਨੂੰ ਸਿੱਧਾ, ਇਸ ਲਈ ਇੱਕੋ ਐਪ ਦੀਆਂ ਇੱਕ ਸਕਿੰਟ ਅੰਦਰ ਦੋ ਬੇਨਤੀਆਂ ਵੱਖਰੇ ਰਾਹ ਲੈ ਸਕਦੀਆਂ ਹਨ। ਅਤੇ ਜੋ ਐਪ ਆਪਣੇ ਸਾਕਟ ਚੁਣੇ ਨੈੱਟਵਰਕ ਨਾਲ ਬੰਨ੍ਹਦੀ ਹੈ, ਜਾਂ bindProcessToNetwork ਕਾਲ ਕਰਦੀ ਹੈ, ਉਹ ਡਿਫ਼ਾਲਟ ਦੀ ਪਾਲਣਾ ਕਰਨ ਲਈ ਪਾਬੰਦ ਨਹੀਂ।
ਇਹ ਸਨੈਪਸ਼ਾਟ ਤੁਹਾਨੂੰ ਕੀ ਨਹੀਂ ਦੱਸ ਸਕਦਾ
ਇਹ ਇਤਿਹਾਸ ਨਹੀਂ ਹੈ। ਇੱਥੇ ਕੁਝ ਵੀ ਦਰਜ ਨਹੀਂ ਕਰਦਾ ਕਿ ਫੇਲ੍ਹ ਹੋਈ ਬੇਨਤੀ ਨੇ ਕਿਹੜਾ ਰਾਹ ਲਿਆ, ਅਤੇ ਫੇਲ੍ਹ ਹੋਣ ਤੋਂ ਬਾਅਦ ਸਫਲ ਪੜ੍ਹਾਈ ਫੇਲ੍ਹ ਬਾਰੇ ਸਬੂਤ ਨਹੀਂ ਹੈ। ਇਹ ਸੂਚੀ ਵੀ ਨਹੀਂ ਹੈ: ਤੁਹਾਨੂੰ ਕਾਲ ਕਰਨ ਵਾਲੀ ਪ੍ਰਕਿਰਿਆ ਦਾ ਡਿਫ਼ਾਲਟ ਨੈੱਟਵਰਕ ਮਿਲਦਾ ਹੈ, ਹਰ ਐਪ ਦੇ ਨਿੱਜੀ ਕਨੈਕਸ਼ਨਾਂ ਦੀ ਸੂਚੀ ਨਹੀਂ।
ਸਾਕਟ ਦੇ ਉੱਪਰ ਕੀ ਹੁੰਦਾ ਹੈ ਇਸ ਬਾਰੇ ਵੀ ਇਹ ਕੁਝ ਨਹੀਂ ਕਹਿੰਦੀ। ਪ੍ਰਬੰਧਿਤ ਯੰਤਰ 'ਤੇ ਫੇਲ੍ਹ ਹੋਣ ਵਾਲਾ TLS ਹੈਂਡਸ਼ੇਕ ਟਰੱਸਟ-ਸਟੋਰ ਸਮੱਸਿਆ, ਪਿਨਿੰਗ ਬੇਮੇਲ ਜਾਂ ਅਜਿਹਾ ਨਾਮ ਹੋ ਸਕਦਾ ਹੈ ਜਿਸਨੂੰ ਪ੍ਰਾਕਸੀ ਰੱਦ ਕਰਦੀ ਹੈ, ਅਤੇ ਇਹਨਾਂ ਵਿੱਚੋਂ ਕੋਈ ਵੀ ਕਨੈਕਟੀਵਿਟੀ-ਪੜ੍ਹਾਈ ਵਿੱਚ ਨਹੀਂ ਦਿਸਦਾ।
ਇਸ ਲਈ ਦੋਵੇਂ ਅੱਧ ਇਕੱਠੇ ਮਹੱਤਵਪੂਰਨ ਹਨ: ਸਨੈਪਸ਼ਾਟ ਇਹ ਤੰਗ ਕਰਦਾ ਹੈ ਕਿ ਕਿੱਥੇ ਦੇਖਣਾ ਹੈ, ਅਤੇ ਐਪ ਦਾ ਆਪਣਾ ਨਿਦਾਨ ਦੱਸਦਾ ਹੈ ਕਿ ਅਸਲ ਵਿੱਚ ਕੀ ਫੇਲ੍ਹ ਹੋਇਆ।
ਇਸਨੂੰ ਅਜਿਹੇ ਰੂਪ ਵਿੱਚ ਦੱਸੋ ਜੋ ਪ੍ਰਬੰਧਕ ਵਰਤ ਸਕੇ
ਪ੍ਰਭਾਵਿਤ ਐਪ, ਪਰੋਫ਼ਾਈਲ, ਟਾਈਮਸਟੈਂਪ ਅਤੇ ਫੇਲ੍ਹ ਹੋਇਆ ਸਹੀ ਪੜਾਅ ਦਿਓ: ਨਾਮ ਹੱਲ, TCP ਕਨੈਕਸ਼ਨ, TLS ਹੈਂਡਸ਼ੇਕ ਜਾਂ HTTP ਸਥਿਤੀ। ਸਨੈਪਸ਼ਾਟ ਦੇ ਮੁੱਲ ਪੜ੍ਹੇ ਅਨੁਸਾਰ ਜੋੜੋ, ਸਿਫ਼ਰਾਂ ਨੂੰ ਸਿਫ਼ਰ ਹੀ ਲਿਖੋ, ਕੁਝ ਨਹੀਂ ਵਰਗੇ ਸ਼ਬਦ ਵਜੋਂ ਨਹੀਂ। ਨੋਟ ਕਰੋ ਕਿ ਉਸੇ ਪਰੋਫ਼ਾਈਲ ਦੀਆਂ ਹੋਰ ਐਪਾਂ ਵੀ ਇਸੇ ਤਰ੍ਹਾਂ ਫੇਲ੍ਹ ਹੁੰਦੀਆਂ ਹਨ ਜਾਂ ਨਹੀਂ, ਜੋ ਐਪ ਦੀ ਸਮੱਸਿਆ ਨੂੰ ਪੂਰੀ ਪਰੋਫ਼ਾਈਲ ਦੇ ਰਾਹ ਦੀ ਸਮੱਸਿਆ ਤੋਂ ਵੱਖਰਾ ਕਰਦਾ ਹੈ।
ਫਿਰ ਰੁਕੋ ਅਤੇ ਰਾਹ ਦੇ ਮਾਲਕ ਨੂੰ ਜਵਾਬ ਦੇਣ ਦਿਓ। ਕਾਰਪੋਰੇਟ ਸਰਟੀਫ਼ਿਕੇਟ, ਪ੍ਰਾਕਸੀ ਪਤਾ ਜਾਂ VPN ਐਂਟਰੀ ਨੂੰ ਪ੍ਰਬੰਧਨ ਹਟਾਉਣ ਜਾਂ ਮਨਜ਼ੂਰ ਰਾਹ ਤੋਂ ਬਚਣ ਦੀ ਇਜਾਜ਼ਤ ਨਾ ਸਮਝੋ; ਇਹ ਸਹਾਇਤਾ ਕੇਸ ਨੂੰ ਨੀਤੀ ਘਟਨਾ ਵਿੱਚ ਬਦਲ ਦਿੰਦਾ ਹੈ।
ਡਿਫ਼ਾਲਟ-ਪ੍ਰਾਕਸੀ ਇਕਰਾਰਨਾਮਾ ਛੋਟਾ ਹੈ ਅਤੇ ਇੱਕ ਵਾਰ ਪੜ੍ਹਨ ਯੋਗ ਹੈ, ਕਿਉਂਕਿ ਇਹ ਤੈਅ ਕਰਦਾ ਹੈ ਕਿ ਕਾਲ ਕਿਹੜੀ ਪ੍ਰਾਕਸੀ ਦੀ ਰਿਪੋਰਟ ਕਰਦੀ ਹੈ, ਅਤੇ ਇਸ ਸਨੈਪਸ਼ਾਟ ਦੀ ਹਰ ਵਾਧੂ ਪੜ੍ਹਾਈ ਇਸ ਧਾਰਨਾ ਨਾਲ ਸ਼ੁਰੂ ਹੁੰਦੀ ਹੈ ਕਿ ਇਹ ਵਧੇਰੇ ਰਿਪੋਰਟ ਕਰਦਾ ਹੈ।