Дүрэм энгийн байв: зөвхөн утас оффисын 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 апп интерфэйсийг авах. Тус бүрийн хувьд одоогийн холболтыг дахин хянах эсэх, төлөв үл мэдэгдэх үед хамгаалагдсан урсгал блоклогдсон хэвээр байх эсэхийг шийд.

Үр дүнг гурван өгүүлбэрээр бич: ажигласан нөхцөл, шийдвэрийг хэрэгжүүлж буй бүрэлдэхүүн хэсэг, санаатай нөөц үйлдэл. Гурвын аль нэг нь дутуу бол дүрэм одоохондоо бодлого биш; энэ нь оффисын сүлжээнд санамсаргүй ажилладаг таамаг юм.

Холбоотой нийтлэлүүд