ಟನೆಲ್ ಮೇಲೇರಿದ ಕ್ಷಣದಲ್ಲೇ Android ಆ್ಯಪ್ ಕೆಲಸ ಮಾಡುವುದನ್ನು ನಿಲ್ಲಿಸಿದಾಗ, ಮೂರು ಬೇರೆ ಬೇರೆ ವಿಷಯಗಳು ಕಾರಣವಾಗಿರಬಹುದು, ಮತ್ತು ಅವು ಒಂದೇ ತರಹದ ವೈಫಲ್ಯಗಳನ್ನು ಉಂಟುಮಾಡುತ್ತವೆ. ಆ್ಯಪ್ ಫೋನಿನ ತನ್ನದೇ ನೆಟ್‌ವರ್ಕ್ ಸ್ಥಿತಿಯನ್ನು ಓದಿ ಸ್ಥಳೀಯವಾಗಿ ನಿರಾಕರಿಸಬಹುದು. ಸರ್ವರ್ ನೀವು ಬರುವ ವಿಳಾಸವನ್ನು ವರ್ಗೀಕರಿಸಿ ಅದನ್ನು ತಿರಸ್ಕರಿಸಬಹುದು. ಅಥವಾ ತಿರಸ್ಕಾರಕ್ಕೆ VPN ಜೊತೆ ಯಾವುದೇ ಸಂಬಂಧ ಇಲ್ಲದಿರಬಹುದು. ಕೆಳಗಿನ ಕ್ರಮ ಏನನ್ನೂ ಬದಲಿಸುವ ಮೊದಲು ಸಾಕ್ಷ್ಯ ಸಂಗ್ರಹಿಸುತ್ತದೆ, ಏಕೆಂದರೆ ಔಟ್‌ಲೆಟ್ ಬದಲಿಸುವುದು ಅತ್ಯಂತ ದುಬಾರಿ ಹೆಜ್ಜೆ ಮತ್ತು ಪರಿಶೀಲನೆ ಸ್ಥಳೀಯವಾದರೆ ಸಹಾಯ ಮಾಡುವ ಸಂಭವನೀಯತೆ ಅತ್ಯಂತ ಕಡಿಮೆ.

ಹಂತ 1: ಆ್ಯಪ್ ಯಾವಾಗ ನಿರಾಕರಿಸುತ್ತದೆ ಎಂದು ತಿಳಿಯಿರಿ

ಸಮಯವೇ ಮೊದಲ ಭೇದಕ. ಲಾಗ್ ಬಫರ್ ಅನ್ನು ಖಾಲಿ ಮಾಡಿ, ವೈಫಲ್ಯವನ್ನು ಮರುಸೃಷ್ಟಿಸಿ ಮತ್ತು ಆ್ಯಪ್ ದೂರು ನೀಡುವ ಮೊದಲು ಏನು ಮಾಡಿತು ಎಂದು ನೋಡಿ:

adb logcat -c
# reproduce the failure in the app
adb logcat -d | grep -iE 'vpn|network|connect|http' | tail -60

ಯಾವುದೇ ಹೊರಹೋಗುವ ವಿನಂತಿಯ ಪ್ರಯತ್ನಕ್ಕೂ ಮೊದಲು ಆ್ಯಪ್ ನಿರಾಕರಿಸಿದರೆ, ನೀವು ಸ್ಥಳೀಯ ನಿರ್ಧಾರ ನೋಡುತ್ತಿದ್ದೀರಿ. ಅದು ಸಂಪರ್ಕಿಸಿ, ಏನನ್ನಾದರೂ ಕಳುಹಿಸಿ ನಂತರ ದೋಷ ತೋರಿಸಿದರೆ, ತಿರಸ್ಕಾರ ಇನ್ನೊಂದು ಬದಿಯಿಂದ ಬಂದಿದೆ. ಟನೆಲ್ ಆಫ್ ಇದ್ದಾಗಲೂ ಆ್ಯಪ್ ಅದೇ ರೀತಿ ವಿಫಲವಾದರೆ, VPN ಎಂದೂ ಚರವಾಗಿರಲಿಲ್ಲ.

ಆ ಸಮಯವನ್ನು ಸಾಕ್ಷ್ಯವಾಗಿ ಪರಿಗಣಿಸಿ, ದೃಢೀಕರಣವಾಗಿ ಅಲ್ಲ. ಆ್ಯಪ್ ಸಂಗ್ರಹಿತ ಪ್ರತಿಕ್ರಿಯೆಯನ್ನು ಮತ್ತೆ ಪ್ಲೇ ಮಾಡಬಹುದು, ಮತ್ತು ನೀವು ನೋಡುವ ಮೊದಲು ಹಿನ್ನೆಲೆ ವಿನಂತಿಗಳು ಯಶಸ್ವಿಯಾಗಿರಬಹುದು ಅಥವಾ ವಿಫಲವಾಗಿರಬಹುದು. ಕೊನೆಯ ಯಶಸ್ವಿ ವಿನಂತಿ ಮತ್ತು ದೋಷದ ಸಮಯ ಮುದ್ರೆಗಳನ್ನು ಬರೆಯಿರಿ, ಸಂದೇಶ ಕಾಣಿಸಿಕೊಂಡ ಕ್ಷಣವನ್ನು ಮಾತ್ರವಲ್ಲ.

ಹಂತ 2: ಫೋನಿನ ತನ್ನದೇ ನೆಟ್‌ವರ್ಕ್ ದೃಷ್ಟಿಯನ್ನು ಓದಿ

Android VPN ಸ್ಥಿತಿಯನ್ನು ನೆಟ್‌ವರ್ಕ್ ಸಾಮರ್ಥ್ಯವಾಗಿ ತೋರಿಸುತ್ತದೆ, ಹಾಗಾಗಿ ಟನೆಲ್ ಸಕ್ರಿಯವಾಗಿದೆ ಎಂದು ಗಮನಿಸಲು ಆ್ಯಪ್‌ಗೆ ವಾಣಿಜ್ಯ ಪೂರೈಕೆದಾರರ ಪಟ್ಟಿ ಬೇಕಿಲ್ಲ. ಅದು ಸಂಪರ್ಕ ಸೇವೆಯನ್ನು ಪ್ರಸ್ತುತ ನೆಟ್‌ವರ್ಕ್ ಯಾವುದು ಎಂದು ಕೇಳುತ್ತದೆ, ಮತ್ತು ಉತ್ತರದಲ್ಲಿ VPN ಸಾಗಣೆ ಬಿಟ್ ಇರುತ್ತದೆ:

val cm = context.getSystemService(ConnectivityManager::class.java)
val caps = cm.getNetworkCapabilities(cm.activeNetwork)
val onVpn = caps?.hasTransport(NetworkCapabilities.TRANSPORT_VPN) == true

ಆ ಪರಿಶೀಲನೆ ಸ್ಥಳೀಯ ಮತ್ತು ಅಗ್ಗವಾಗಿದೆ, ಮತ್ತು ಯಾವುದೇ ದೂರದ ವರ್ಗೀಕರಣವಿಲ್ಲದೆ “ಈ ಆ್ಯಪ್ VPN ನಲ್ಲಿ ಕೆಲಸ ಮಾಡುವುದಿಲ್ಲ” ಎಂಬ ಇಡೀ ವರ್ಗದ ವರದಿಗಳನ್ನು ವಿವರಿಸುತ್ತದೆ. ಆ್ಯಪ್ ಏನು ನೋಡಬಹುದು ಎಂಬುದು ಇನ್ನೂ ಅದರ ಸ್ವಂತ ನೆಟ್‌ವರ್ಕ್ ಸಂದರ್ಭವನ್ನು ಅವಲಂಬಿಸಿದೆ, ಹಾಗಾಗಿ ಪ್ರತಿ ಆ್ಯಪ್ ಸಾಧನದ ಪ್ರತಿ ಪ್ರೊಫೈಲ್ ಪರಿಶೀಲಿಸುತ್ತದೆ ಎಂದು ಭಾವಿಸಬೇಡಿ.

ಕೆಲಸದ ಕೇಂದ್ರದಿಂದ ನೀವು ಪರೀಕ್ಷಾ ಸಾಧನದಲ್ಲಿ adb shell dumpsys connectivity ಬಳಸಿ ಮತ್ತು VPN ನೆಟ್‌ವರ್ಕ್ ನಮೂದನ್ನು ಹುಡುಕಿ ಅದೇ ಸ್ಥಿತಿಯನ್ನು ನೋಡಬಹುದು. ಟನೆಲ್ ಮೇಲಿರುವ ಒಂದು ರನ್ ಅನ್ನು ಟನೆಲ್ ಕೆಳಗಿರುವ ರನ್ ಜೊತೆ ಹೋಲಿಸಿ, ಎರಡೂ ಔಟ್‌ಪುಟ್‌ಗಳನ್ನು ಇಟ್ಟುಕೊಳ್ಳಿ.

ಹಂತ 3: ಸರ್ವರ್ ನಿಜವಾಗಿ ಏನು ನೋಡುತ್ತದೆ ಎಂದು ಓದಿ

ಇನ್ನೊಂದು ವೀಕ್ಷಕ ಸೇವೆ. ಅದು ಬರುವ ಮೂಲ ವಿಳಾಸವನ್ನು ನೋಡುತ್ತದೆ, ಮತ್ತು ವಿಳಾಸ, ಅದರ ಹಿಂದಿನ ಹೋಸ್ಟಿಂಗ್ ನೆಟ್‌ವರ್ಕ್, ಪ್ರದೇಶ, ವಾಹಕ ಅಥವಾ ಖಾತೆ ಮತ್ತು ಸಾಧನಕ್ಕೆ ಸಂಬಂಧಿಸಿದ ಸಂಕೇತಗಳ ಆಧಾರದ ಮೇಲೆ ಕ್ರಮ ತೆಗೆದುಕೊಳ್ಳಬಹುದು. ಇವುಗಳಲ್ಲಿ ಯಾವುದೂ ಅನನ್ಯ ಗುರುತು ಅಲ್ಲ, ಮತ್ತು ಹಂಚಿದ ವಿಳಾಸವು ಪಾರ್ಶ್ವ ತಡೆಗಳನ್ನು ಸಾಮಾನ್ಯವಾಗಿಸುತ್ತದೆ: ಒಂದು ನಿರ್ಬಂಧಿತ ವಿಳಾಸವು ಅದೇ ಅನುವಾದದ ಹಿಂದಿರುವ ಸಂಬಂಧವಿಲ್ಲದ ಬಳಕೆದಾರರನ್ನೂ ಹೊರಗಿಡಬಹುದು.

ವಿಳಾಸವನ್ನು ಆ್ಯಪ್ ಬಳಸುವ ಅದೇ ಮಾರ್ಗದಿಂದ ಪಡೆಯಿರಿ, ಲ್ಯಾಪ್‌ಟಾಪ್‌ನ ಬ್ರೌಸರ್‌ನಿಂದ ಅಲ್ಲ. ಫೋನಿನಲ್ಲಿ ವಿಳಾಸ-ಪ್ರತಿಧ್ವನಿ ಸೇವೆಗೆ ಸರಳ ವಿನಂತಿ ದೂರದ ಬದಿ ಏನು ಸ್ವೀಕರಿಸುತ್ತದೆ ಎಂದು ತೋರಿಸುತ್ತದೆ, ಮತ್ತು ಅದನ್ನು ಸೆಲ್ಯುಲಾರ್ ಮೂಲಕ ಮಾಡಿದ ವಿನಂತಿಯೊಂದಿಗೆ ಹೋಲಿಸಿದರೆ ವಿಳಾಸ ಬದಲಾಗಿದೆಯೇ ಎಂದು ತಿಳಿಯುತ್ತದೆ.

ಆ್ಯಪ್ ಸೆಲ್ಯುಲಾರ್‌ನಲ್ಲಿ ಕೆಲಸ ಮಾಡಿ ಅದೇ ಖಾತೆಯೊಂದಿಗೆ ಟನೆಲ್‌ನಲ್ಲಿ ವಿಫಲವಾದರೆ, ತಿರಸ್ಕಾರ ದೂರದ ತುದಿಯಲ್ಲಿ ಅಥವಾ ಆ್ಯಪ್‌ನ ಸ್ವಂತ ನೀತಿಯಲ್ಲಿ ಇದೆ. ಎರಡರಲ್ಲೂ ವಿಫಲವಾದರೆ, VPN ಭೇದಕವಲ್ಲ ಮತ್ತು ನೀವು ಎಂಡ್‌ಪಾಯಿಂಟ್ ಪರೀಕ್ಷೆ ನಿಲ್ಲಿಸಬೇಕು.

ಹಂತ 4: ಸಾಕ್ಷ್ಯವನ್ನು ಮೂರು ತೀರ್ಪುಗಳಲ್ಲಿ ಒಂದಕ್ಕೆ ಹೊಂದಿಸಿ

ಮೂರು ಸಂಯೋಜನೆಗಳು ಬಹುತೇಕ ಎಲ್ಲಾ ವರದಿಗಳನ್ನು ಆವರಿಸುತ್ತವೆ. ಟನೆಲ್ ಸಕ್ರಿಯವಾಗಿರುವಾಗ ಯಾವುದೇ ಹೊರಹೋಗುವ ಪ್ರಯತ್ನವಿಲ್ಲದ ತಿರಸ್ಕಾರ ಸ್ಥಳೀಯ ಸಾಗಣೆ ಪರಿಶೀಲನೆಯನ್ನು ಸೂಚಿಸುತ್ತದೆ. ಹೊರಹೋಗಿ ದೋಷ, ನಿರ್ದಿಷ್ಟ ಹೋಸ್ಟ್‌ನಲ್ಲಿ ಸಮಯ ಮುಗಿಯುವಿಕೆ ಅಥವಾ ಪ್ರದೇಶ ಸಂದೇಶದೊಂದಿಗೆ ಹಿಂತಿರುಗುವ ವಿನಂತಿ ದೂರದ ಬದಿಯನ್ನು ಸೂಚಿಸುತ್ತದೆ. ಟನೆಲ್ ಇಲ್ಲದೆ ಸೆಲ್ಯುಲಾರ್‌ನಲ್ಲಿ ಪುನರಾವರ್ತನೆಯಾಗುವ ವೈಫಲ್ಯ ಖಾತೆ, ಆ್ಯಪ್ ಆವೃತ್ತಿ ಅಥವಾ ಸೇವೆಯ ಸ್ವಂತ ನೀತಿಯನ್ನು ಸೂಚಿಸುತ್ತದೆ, ಮತ್ತು ಯಾವುದೇ VPN ಬದಲಾವಣೆ ಅದನ್ನು ಅಲ್ಲಾಡಿಸುವುದಿಲ್ಲ.

ತೀರ್ಪನ್ನು ಅದನ್ನು ಉಂಟುಮಾಡಿದ ಸಾಕ್ಷ್ಯದೊಂದಿಗೆ ಬರೆಯಿರಿ. ಈ ಹಂತದ ಮೌಲ್ಯ ಏನೆಂದರೆ, ಹ್ಯಾಂಡ್‌ಸೆಟ್‌ನಲ್ಲೇ ನಡೆಯುವ ಪರಿಶೀಲನೆಯನ್ನು ಸರಿಪಡಿಸಲು ಯಾರೋ ನಾಲ್ಕು ಬಾರಿ ಔಟ್‌ಲೆಟ್ ನೋಡ್‌ಗಳನ್ನು ಬದಲಿಸುವ ಚಕ್ರವನ್ನು ಅದು ನಿಲ್ಲಿಸುತ್ತದೆ.

ಇದು ಹೇಳಿಕೆಗಳನ್ನು ಪ್ರಾಮಾಣಿಕವಾಗಿಯೂ ಇಡುತ್ತದೆ. ಸ್ವಯಂ ಹೋಸ್ಟಿಂಗ್ ಎಂಡ್‌ಪಾಯಿಂಟ್ ಮತ್ತು ಅದರ ಇಂಟರ್ನೆಟ್ ಔಟ್‌ಲೆಟ್ ಬದಲಿಸುತ್ತದೆ; ಅದು VPN ನೆಟ್‌ವರ್ಕ್ ಸಕ್ರಿಯವಾಗಿದೆ ಎಂದು Android ಮರೆಯುವಂತೆ ಮಾಡುವುದಿಲ್ಲ, ಮತ್ತು ವಿಳಾಸಗಳನ್ನು ವರ್ಗೀಕರಿಸುವ ಸೇವೆಯ ಸ್ವೀಕೃತಿಗೆ ಖಾತರಿ ನೀಡುವುದಿಲ್ಲ. ಸ್ಥಳೀಯ ಫಿಲ್ಟರ್ ನಿಮ್ಮ ಸ್ವಂತ VPN ನೆಟ್‌ವರ್ಕ್‌ನಲ್ಲೂ ವಾಣಿಜ್ಯದಂತೆಯೇ ಸುಲಭವಾಗಿ ಸಕ್ರಿಯವಾಗಬಹುದು.

ಹಂತ 5: ಬೆಂಬಲಿತ ಮಾರ್ಗ ತೆಗೆದುಕೊಂಡು ಅದನ್ನು ಪರಿಶೀಲಿಸಿ

ಉತ್ಪನ್ನದ ದಾಖಲಿತ ನೀತಿ ಮತ್ತು ಅದರ ಬೆಂಬಲ ಮಾಲೀಕರಿಂದ ಪ್ರಾರಂಭಿಸಿ. ಕ್ಲೈಂಟ್ ಆವೃತ್ತಿ, ನಿಖರ ಸಂದೇಶ ಮತ್ತು ಸಣ್ಣ ವೈಫಲ್ಯ ಅವಧಿಯನ್ನು ಕಳುಹಿಸಿ; ದೋಷ ಇದೆ ಎಂದು ಸಾಬೀತುಪಡಿಸಲು ಮಾತ್ರ ಸಂಪೂರ್ಣ ಸಂಚಾರ ಕ್ಯಾಪ್ಚರ್ ಅಥವಾ ರುಜುವಾತುಗಳನ್ನು ಕಳುಹಿಸಬೇಡಿ.

ಸೇವೆ ನೇರ ಪ್ರವೇಶವನ್ನು ಅನುಮತಿಸಿ ಸಾಧನ ನೀತಿಯೂ ಅನುಮತಿಸಿದರೆ, ಪ್ರತಿ ಆ್ಯಪ್‌ಗೆ ಹೊರಗಿಡುವಿಕೆಯೇ ಬೆಂಬಲಿತ ಕಾರ್ಯವಿಧಾನ, ಮತ್ತು ಅದು ಟನೆಲ್ ಮರೆಮಾಡುವ ಬದಲು ಆ ಆ್ಯಪ್ ಅನ್ನು ಉದ್ದೇಶಪೂರ್ವಕವಾಗಿ ಟನೆಲ್‌ನಿಂದ ಹೊರತೆಗೆಯುತ್ತದೆ. ನಂತರ ಆ್ಯಪ್‌ನ ಸಂಚಾರ ತನ್ನದೇ ಮಾರ್ಗದಲ್ಲಿ ಹೊರಡುತ್ತದೆ, ಅದು ಯಾರಾದರೂ ಹೊತ್ತುಕೊಳ್ಳಬೇಕಾದ ನೀತಿ ನಿರ್ಧಾರ. VPN ಇಲ್ಲದೆ ತಡೆಯುವ ಸಂರಚನೆಯಲ್ಲಿ ಹೊರಗಿಡಲಾದ ಆ್ಯಪ್ ಸಂಪರ್ಕ ಕಳೆದುಕೊಳ್ಳಬಹುದು, ಹಾಗಾಗಿ ಕೆಲಸ ಮಾಡುತ್ತದೆ ಎಂದು ಭರವಸೆ ನೀಡುವ ಮೊದಲು ಆ ಸಂಯೋಜನೆಯನ್ನು ಪರೀಕ್ಷಿಸಿ.

ಯಾವುದೇ ಬದಲಾವಣೆಯ ನಂತರ ಹಂತ ಒಂದರ ಸಮಯ ಪರೀಕ್ಷೆಯನ್ನು ಪುನರಾವರ್ತಿಸಿ, ಆ್ಯಪ್ ಕೆಲಸ ಮಾಡುತ್ತಿದೆ ಎಂದು ಖಚಿತಪಡಿಸಿ ಮತ್ತು ಎಲ್ಲಾ ಇತರ ಆ್ಯಪ್‌ಗಳು ಇನ್ನೂ ಟನೆಲ್ ಬಳಸುತ್ತಿವೆ ಎಂದು ಖಚಿತಪಡಿಸಿ. ನಂತರ ಹಿಂದಿನ ಸಂರಚನೆಯನ್ನು ಮರುಸ್ಥಾಪಿಸಿ ಮತ್ತು ವೈಫಲ್ಯ ಮರಳುತ್ತದೆಯೇ ಎಂದು ಪರಿಶೀಲಿಸಿ, ಏಕೆಂದರೆ ನೀವು ಮರುಸೃಷ್ಟಿಸಲಾಗದ ಸರಿಪಡಿಸುವಿಕೆ ಮತ್ತೆ ಸಿಗುವ ಕಾಕತಾಳೀಯ.

ಸಂಬಂಧಿತ ಲೇಖನಗಳು