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

ಕೌಂಟರ್ ಬೈಟ್‌ಗಳನ್ನು ಅಳೆಯುತ್ತದೆ, ವಿತರಣೆಯನ್ನಲ್ಲ

Android ಸಂಚಾರವನ್ನು UIDಗೆ ಆರೋಪಿಸುತ್ತದೆ ಮತ್ತು ಎರಡೂ ದಿಕ್ಕುಗಳಲ್ಲಿ ಎಣಿಸುತ್ತದೆ, ಮತ್ತು ಅದನ್ನು ಇಂಟರ್‌ಫೇಸ್ ಗಡಿಯಲ್ಲಿ ಮಾಡುತ್ತದೆ, ಅಪ್ಲಿಕೇಶನ್‌ನ ವಿನಂತಿ ಯಶಸ್ವಿಯಾಗುವ ಕ್ಷಣದಲ್ಲಿ ಅಲ್ಲ.

ನಿರಾಕರಿಸಲಾದ ಸಂಪರ್ಕ ಪ್ರಯತ್ನವೂ ಪ್ಯಾಕೆಟ್‌ಗಳನ್ನು ಚಲಿಸುತ್ತದೆ: SYN, ಮರುಹೊಂದಿಕೆ ಅಥವಾ ಅದರ ನಂತರದ ಮರುಪ್ರಸಾರಗಳು, ಜೊತೆಗೆ ಎರಡಕ್ಕೂ ಮೊದಲು ಬಂದ DNS ಪ್ರಶ್ನೆ. ಏನನ್ನೂ ತಲುಪಿಸದಿದ್ದರೂ ಆ ಬೈಟ್‌ಗಳು ಅಸ್ತಿತ್ವದಲ್ಲಿವೆ, ಮತ್ತು ಕೆಲವು ಮಾರ್ಗಗಳಲ್ಲಿ ಯಾವುದೇ ಫಿಲ್ಟರ್ ನಿರ್ಧರಿಸುವ ಮೊದಲೇ ಅವುಗಳನ್ನು ಎಣಿಸಲಾಗುತ್ತದೆ.

ಆದ್ದರಿಂದ ಪ್ರತಿ ವಿನಂತಿಯೂ ವಿಫಲವಾದರೂ ಬ್ಲಾಕ್ ಮಾಡಿದ ಅಪ್ಲಿಕೇಶನ್‌ನ ಸಾಲು ಬೆಳೆಯಬಹುದು. ಕೌಂಟರ್ «ಈ ಗುರುತಿಗೆ ಎಷ್ಟು ಬೈಟ್‌ಗಳನ್ನು ಆರೋಪಿಸಲಾಗಿದೆ» ಎಂಬುದಕ್ಕೆ ಉತ್ತರಿಸುತ್ತದೆ, «ಈ ಗುರುತು ಇಂಟರ್ನೆಟ್ ತಲುಪಿತೇ» ಎಂಬುದಕ್ಕಲ್ಲ. ಒಂದು ಚಾರ್ಟ್ ಸ್ವೀಕೃತ ಹರಿವನ್ನು ವಿನಯದಿಂದ ನಿರಾಕರಿಸಲಾದ ಹಸ್ತಲಾಘವದಿಂದ ಪ್ರತ್ಯೇಕಿಸಲಾರದು, ಎರಡೂ ದಿಕ್ಕುಗಳನ್ನು ಸೇರಿಸುವ ಒಟ್ಟು ಮೊತ್ತವೂ ಸಾಧ್ಯವಿಲ್ಲ.

ಆರೋಪಣೆ ಚಿಹ್ನೆಯನ್ನಲ್ಲ, UID ಅನ್ನು ಅನುಸರಿಸುತ್ತದೆ

ಸಾಲು ಪ್ರತಿ UIDಗೆ, ಮತ್ತು ಒಂದು UID ಅನ್ನು ಒಂದಕ್ಕಿಂತ ಹೆಚ್ಚು ಪ್ಯಾಕೇಜ್‌ಗಳು ಹಂಚಿಕೊಳ್ಳಬಹುದು, ಆದರೆ ಗೋಚರ ಅಪ್ಲಿಕೇಶನ್ ತನ್ನದೇ ಗುರುತಿನ ಅಡಿಯಲ್ಲಿ ಚಲಿಸುವ ಪ್ರತ್ಯೇಕ ಘಟಕಕ್ಕೆ ಕೆಲಸವನ್ನು ಒಪ್ಪಿಸಬಹುದು. ಹಂಚಿಕೆಯ WebView ಪ್ರಕ್ರಿಯೆಯಿಂದ ಚಿತ್ರಿಸಲಾದ ಬ್ರೌಸರ್ ಟ್ಯಾಬ್, ಹಿನ್ನೆಲೆ ಸಿಂಕ್ ಸೇವೆ, ಅಥವಾ ಮುಖ್ಯ ಅಪ್ಲಿಕೇಶನ್ ಜೊತೆ ಸ್ಥಾಪಿಸಲಾದ ಒಡನಾಡಿ ಪ್ಯಾಕೇಜ್ — ಎಲ್ಲವೂ ಬಳಕೆ ಪರದೆಯು ನೀವು ನಿರೀಕ್ಷಿಸದ ಹೆಸರಿನಲ್ಲಿ, ಅಥವಾ ನೀವು ಬ್ಲಾಕ್ ಮಾಡಿದ ಅಪ್ಲಿಕೇಶನ್ ಅಡಿಯಲ್ಲಿ ತೋರಿಸಬಹುದಾದ ಸಂಚಾರವನ್ನು ಉತ್ಪಾದಿಸುತ್ತವೆ. ಬ್ಲಾಕ್ ಮಾಡಿದ ಪ್ಯಾಕೇಜ್ ಮತ್ತು ಅದರ ವಿನಂತಿಗಳನ್ನು ಹೊತ್ತೊಯ್ಯುವ ಸಹಾಯಕ ಎರಡು ವಿಭಿನ್ನ ವಿಷಯಗಳು, ಮತ್ತು ನಿಯಮವು ಅವುಗಳಲ್ಲಿ ಒಂದನ್ನು ಮಾತ್ರ ಆವರಿಸಿತ್ತು.

ಸಂಖ್ಯೆಗಳು ತಪ್ಪಾಗಿ ಕಂಡಾಗ, ಲೇಬಲ್ ಅಲ್ಲ, UID ಹೋಲಿಸಿ. ಬಳಕೆ API ಅನ್ನು UID ಮೂಲಕ ಕೇಳಲಾಗುತ್ತದೆ, ಮತ್ತು ಹೋಲಿಸಬೇಕಾದ ಸಂಖ್ಯೆಯನ್ನು adb shell dumpsys package <package> | grep userId= ಮುದ್ರಿಸುತ್ತದೆ, ಆದ್ದರಿಂದ ಒಂದೇ UID ಹೊಂದಿರುವ ಎರಡು ನಮೂದುಗಳು ಕೌಂಟರ್‌ನ ದೃಷ್ಟಿಯಿಂದ ಒಂದೇ ಗುರುತು.

ಸಮಯ ವಿಂಡೋ ನಿಮ್ಮ ನಿಯಮಕ್ಕಿಂತ ಹಿಂದಿನದಾಗಿರಬಹುದು

ಬಳಕೆ ಡೇಟಾವನ್ನು ಬಕೆಟ್‌ಗಳಲ್ಲಿ ಸಂಗ್ರಹಿಸಿ ಕಾಲಕಾಲಕ್ಕೆ ಕೇಳಲಾಗುತ್ತದೆ, ನೇರ ಪ್ರಸಾರವಲ್ಲ. ದೈನಂದಿನ ಒಟ್ಟು ಮೊತ್ತವು ಬ್ಲಾಕ್ ಸಕ್ರಿಯಗೊಳಿಸುವ ಮೊದಲಿನ ನಿಮಿಷಗಳನ್ನು, ಹಿಂದಿನ ಗಂಟೆಯ ಹಿನ್ನೆಲೆ ಸಿಂಕ್ ಅನ್ನು, ಅಥವಾ ಈಗಾಗಲೇ ದಾರಿಯಲ್ಲಿದ್ದ ಸಂಚಾರವನ್ನು ಒಳಗೊಳ್ಳಬಹುದು. ಸಂಚಿತ ಒಟ್ಟು ಮೊತ್ತವನ್ನು ಒಂದು ನಿರಾಕರಿಸಿದ ವಿನಂತಿಯೊಂದಿಗೆ ಹೋಲಿಸಿ ವ್ಯತ್ಯಾಸವನ್ನು ಸೋರಿಕೆ ಎಂದು ಕರೆಯುವುದು ಮಾಪನ ದೋಷ, ಫೈರ್‌ವಾಲ್ ಕಂಡುಹಿಡಿಯುವಿಕೆ ಅಲ್ಲ.

ಚಿಕ್ಕ ವಿಂಡೋ ಮತ್ತು ಹೊಸ ಆರಂಭ ಬಳಸಿ. ನಿಯಮ ಬದಲಿಸುವಾಗ ಸಮಯ ಮುದ್ರೆಯನ್ನು ಗಮನಿಸಿ, ಒಂದು ಸಂಗ್ರಹ ಮಧ್ಯಂತರ ಕಾಯಿರಿ, ನಂತರ ಅದರ ನಂತರದ ಡೇಟಾವನ್ನು ಮಾತ್ರ ನೋಡಿ. ನಿಯಮದ ನಂತರ ಪ್ರಾರಂಭವಾಗುವ ವಿಂಡೋದಲ್ಲಿ ಒಟ್ಟು ಮೊತ್ತ ಏರುತ್ತಲೇ ಇದ್ದರೆ, ತನಿಖೆ ಮಾಡಲು ಏನೋ ಇದೆ; ಏರಿಕೆ ನಿಂತರೆ, ಹಿಂದಿನ ಬೆಳವಣಿಗೆ ತೋರಿಸುತ್ತಿದ್ದ ಇತಿಹಾಸವಾಗಿತ್ತು.

VPN ಸೇವೆ ನೀವು ಸಂರಚಿಸಿದ ಸೇವೆಯಲ್ಲದಿರಬಹುದು

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

IPv4, IPv6 ಮತ್ತು DNS ಕೂಡ ಭಿನ್ನವಾಗಬಹುದು. IPv4 ನಿರ್ವಹಿಸುವ ಫಿಲ್ಟರ್ IPv6 ಅಥವಾ ಖಾಸಗಿ DNS ರಿಜಾಲ್ವರ್ ಅನ್ನು ಹೊರಗೆ ಬಿಡಬಹುದು, ಆದ್ದರಿಂದ ಅಪ್ಲಿಕೇಶನ್‌ನ ಸಂಚಾರದ ಒಂದು ಭಾಗ ನಿಮ್ಮ ನಿಯಮಗಳು ಎಂದೂ ವಿವರಿಸದ ಮಾರ್ಗದಲ್ಲಿ ಸಾಗುತ್ತದೆ. ಏನನ್ನಾದರೂ ಮತ್ತೆ ಬರೆಯುವ ಮೊದಲು ಯಾವ ಅಪ್ಲಿಕೇಶನ್ ಈಗ VPN ಹೊಂದಿದೆ ಮತ್ತು ಹೊರಗಿಡುವ ಪಟ್ಟಿ ಏನು ಹೇಳುತ್ತದೆ ಎಂದು ಪರಿಶೀಲಿಸಿ:

adb shell settings get secure always_on_vpn_app
adb shell dumpsys connectivity
adb shell dumpsys netstats detail

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

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

ಸಮರ್ಥನೀಯ ತೀರ್ಮಾನವು ಏನನ್ನು ನಿರಾಕರಿಸಲಾಯಿತು ಮತ್ತು ಯಾವ ವೀಕ್ಷಣೆ ಅದನ್ನು ದೃಢೀಕರಿಸಿತು ಎಂದು ಹೆಸರಿಸುತ್ತದೆ. «ಕೌಂಟರ್ ಏರಿತು» ಕಂಡುಹಿಡಿಯುವಿಕೆ ಅಲ್ಲ, «ಎಲ್ಲಾ ಬಳಕೆ ಕೌಂಟರ್‌ಗಳು ನಕಲಿ» ಕೂಡ ಅಲ್ಲ. OSI ಪದರದ ಘೋಷಣೆ ಇದನ್ನು ತೀರ್ಮಾನಿಸುವುದಿಲ್ಲ: ಪ್ರಾಮಾಣಿಕ ಉತ್ತರವೆಂದರೆ ಕೌಂಟರ್ ಮತ್ತು ಬ್ಲಾಕ್ ಎರಡೂ ಸರಿಯಾಗಿರಬಹುದು, ಅವು ಬೇರೆ ಬೇರೆ ವಿಷಯಗಳನ್ನು ವಿವರಿಸುತ್ತವೆ. Androidನ NetworkStatsManager ಉಲ್ಲೇಖವು ಆ ಬಕೆಟ್‌ಗಳನ್ನು ಹೇಗೆ ಕೇಳಲಾಗುತ್ತದೆ ಮತ್ತು ಆರೋಪಿಸಲಾಗುತ್ತದೆ ಎಂದು ದಾಖಲಿಸುತ್ತದೆ.

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