விதி எளிமையானது: தொலைபேசி அலுவலக Wi-Fi உடன் இணைந்திருக்கும் போது மட்டும் போக்குவரத்தை வடிகட்டு. அது மாதக்கணக்கில் நீடித்தது, பின்னர் ஒரு காலையில் தொலைபேசி அதே SSID இல் அதே சாவி ஐகானுடன் இருந்தது, வடிகட்டுதல் நின்றிருந்தது. நெட்வொர்க்கில் எதுவும் மாறவில்லை; மாறியது என்னவென்றால் செயலி நெட்வொர்க்கின் பெயரைப் பார்க்க முடியுமா என்பதுதான். Android இல், «நான் எந்த Wi-Fi இல் இருக்கிறேன்» மற்றும் «இந்தப் போக்குவரத்தைத் தடு» ஆகியவை இரண்டு தனித்தனி வேலைகள், இவற்றைக் கலக்கும் ஃபயர்வால் பெயர் கிடைக்காத தருணத்திலேயே திறந்தபடி தோல்வியடைகிறது.

அறிகுறி: அடையாளம் மறைந்து கொள்கை அதைத் தொடர்கிறது

SSID விதி ஒரு மதிப்பைப் படித்து பின்னர் ஒரு கிளையைத் தேர்ந்தெடுக்கிறது. படிப்பு பயனுள்ள எதையும் திருப்பித் தராதபோது, குறியீடு ஏதாவது செய்ய வேண்டும், சாதாரண இயல்புநிலை «எதிர்பார்க்கப்பட்ட நெட்வொர்க் இல்லை, எனவே வடிகட்ட வேண்டாம்». அந்த இயல்புநிலை அனுமதிச் சிக்கலைப் போக்குவரத்துக் கசிவாக மாற்றுகிறது. சாவி ஐகான் தெரியும், ஏனெனில் VPN சேவை இன்னும் இயங்குகிறது; அது வேறொரு கிளையைச் செயல்படுத்துகிறது.

நெட்வொர்க்கை அல்ல, நிகழ்வுகளின் வரிசையைப் பாருங்கள். நிராகரிக்கப்பட்ட அனுமதி உரையாடல், SSID அணுகலை வேறொரு அனுமதிக்குப் பின்னால் நகர்த்திய கணினி புதுப்பிப்பு, அணைக்கப்பட்ட இருப்பிடச் சேவைகள், அல்லது பணி சுயவிவரக் கொள்கை மாற்றம் ஆகியவை தொலைபேசி அதே அணுகல் புள்ளியில் இருக்கும்போதே அதே முடிவைத் தரலாம்.

பெயர் அறியாததாக ஏன் திரும்பி வரலாம்

WifiInfo.getSSID() தற்போதைய நெட்வொர்க்கின் சேவை-தொகுதி அடையாளங்காட்டியைத் திருப்பித் தருகிறது, மேலும் இருப்பிட-உணர்திறன் புலங்களுக்கான அணுகல் அனுமதியைப் பொறுத்தது என்று Android ஆவணப்படுத்துகிறது. அணுகல் இல்லாதபோது, அழைப்பு சத்தமாகத் தோல்வியடையாமல் UNKNOWN_SSID திருப்பித் தருகிறது. எனவே காலி அல்லது அறியாத மதிப்பு தொலைபேசி Wi-Fi ஐ விட்டது என்பதற்கான சான்று அல்ல; செயலி நெட்வொர்க்கை வகைப்படுத்த முடியாது என்பதற்கான சான்று.

இரண்டு சரிபார்ப்புகள் இந்த நிலைகளைப் பிரிக்கின்றன. தொலைபேசி இணைந்திருப்பதை உறுதிசெய்து கணினி என்ன தெரிவிக்கிறது எனப் பாருங்கள், பின்னர் இந்த Android பதிப்பில் செயலிக்குத் தேவையான அனுமதி உண்மையில் உள்ளதா என உறுதிசெய்யுங்கள்:

adb shell cmd wifi status
adb shell dumpsys package <your.app> | grep -i -E "ACCESS_FINE_LOCATION|NEARBY_WIFI_DEVICES"

நிலை வரி இணைந்த நெட்வொர்க்கைக் காட்டும்போது செயலி அறியாத பெயரைக் கண்டால், உங்கள் சிக்கல் அனுமதி அல்லது API நிலை சார்ந்தது, Wi-Fi சிக்கல் அல்ல. ஃபயர்வால் விதிகளைத் தொடுவதற்கு முன் அதைச் சரிசெய்யுங்கள், ஏனெனில் அடுத்தடுத்த ஒவ்வொரு விதியும் செயலி படிக்க முடியாத மதிப்புக்கு எதிராக மதிப்பிடப்படுகிறது.

வடிகட்டுதல் உண்மையில் எங்கே இயங்குகிறது

உள்ளூர் Android ஃபயர்வால் வழக்கமாகப் போக்குவரத்தைத் தொலை சேவையகத்திற்கு அனுப்பாமல் VpnService மாதிரியைப் பயன்படுத்துகிறது: மெய்நிகர் இடைமுகத்தை எடுத்து, தன் சொந்த விதிகளைப் பயன்படுத்தி, அனுமதிப்பதை முன்னனுப்புகிறது. ஒவ்வொரு பயனர் சுயவிவரத்திற்கும் ஒரு செயலில் உள்ள VPN சேவையை மட்டுமே தளம் அனுமதிக்கிறது, இரண்டாவது முதல் மீது அடுக்காமல் அதை மாற்றுகிறது. எனவே தனி ஃபயர்வால் செயலியும் தனி பணி VPN உம் இரு-நிலைச் சங்கிலியை உருவாக்குவதில்லை; அவற்றில் ஒன்று வெல்லும்.

இது SSID விதிக்கு முக்கியம், ஏனெனில் செயலாக்கப் புள்ளியும் கண்காணிப்புப் புள்ளியும் வெவ்வேறு கூறுகள். சாதனத்திலிருந்து எது வெளியேறுகிறது என்பதை VpnService தீர்மானிக்கிறது; Wi-Fi API ஒரு லேபிளை மட்டும் வழங்குகிறது. செயலி சரியாகச் செயல்படுத்தி தவறாக வகைப்படுத்தலாம், இந்தக் கட்டுரையின் குறைபாடு சரியாக அதுவே.

அறியாததற்கு அதன் சொந்தக் கொள்கையைக் கொடுங்கள்

நெட்வொர்க் அடையாளத்தை மூன்று நிலைகளாகக் கருதி, விதியை வெளியிடும் முன் ஒவ்வொன்றுக்கும் கொள்கையை எழுதுங்கள். மூன்றாவது நிலையே மறக்கப்படுவது, தாக்குபவர் அல்லது தவறான கட்டமைப்பு உங்களை சரியாக அதில் வைக்கும்.

ObservationPolicy to specify
Expected SSID is readableThe explicit filtering policy you designed
A different SSID is readableThe default policy for untrusted networks
Unknown, changing or unreadableFail closed until classification is reliable

மூடியபடி தோல்வியடைவது என்றால் அறியாத நிலை மிகவும் வசதியானது அல்ல, மிகவும் கடுமையான நியாயமான கொள்கையைப் பெறுகிறது. அது புதிய நெட்வொர்க்கில் தொலைபேசியைப் பயன்படுத்த முடியாததாக்கினால், சரியான தீர்வு வேண்டுமென்றே செய்யப்பட்ட, தெரியும் விதிவிலக்கு, காலி மதிப்புச் சரிபார்ப்பில் மறைந்திருக்கும் அமைதியான நம்பிக்கை முடிவு அல்ல.

பரிச்சயமான SSID ஒரு லேபிள், நெட்வொர்க் இயக்குநருக்கான சான்று அல்ல. யாரும் அலுவலகத்தின் பெயரில் அணுகல் புள்ளியை இயக்கலாம், எனவே பெயர் பொருத்தம் உணர்திறன் அமர்வுக்கும் நம்பமுடியாத பகுதிக்கும் இடையே உள்ள ஒரே விஷயமாக இருக்கக் கூடாது.

நிலையான நிலை அல்ல, மாற்றங்களைச் சோதியுங்கள்

நிலையான நிலைச் சோதனை விதியைக் கட்டிய நெட்வொர்க்கில் தேர்ச்சி பெறுகிறது. தோல்விகள் மாற்றங்களில் வாழ்கின்றன: நிராகரிக்கப்பட்ட அனுமதி, Wi-Fi இலிருந்து மொபைலுக்கு, ஒரு SSID இலிருந்து மற்றொன்றுக்கு, VPN சேவை மறுதொடக்கம், மற்றொரு VPN செயலி இடைமுகத்தை எடுத்துக்கொள்வது. ஒவ்வொன்றுக்கும், இருக்கும் இணைப்புகள் மறுபரிசீலனை செய்யப்படுகிறதா, நிலை அறியாததாக இருக்கும்போது பாதுகாக்கப்பட்ட போக்குவரத்து தடுக்கப்பட்டிருக்கிறதா என முடிவு செய்யுங்கள்.

முடிவை மூன்று வாக்கியங்களில் எழுதுங்கள்: கவனிக்கப்பட்ட நிபந்தனை, முடிவைச் செயல்படுத்தும் கூறு, வேண்டுமென்றே செய்யப்பட்ட மாற்று வழி. இந்த மூன்றில் ஒன்று இல்லாவிட்டால் விதி இன்னும் கொள்கை அல்ல; அது அலுவலக நெட்வொர்க்கில் தற்செயலாக வேலை செய்யும் ஒரு ஊகம்.

தொடர்புடைய கட்டுரைகள்