기기가 액세스 포인트 또는 라우터에 연결을 시도하면 캡 티브 포털 페이지에서 다음 메시지와 함께 로그인해야합니다.
“Wi-Fi 네트워크에 로그인”.
액세스 포인트 / 라우터는 어떻게 작동합니까? 기기에 로그인이 필요하며 그 뒤에있는 프로세스는 무엇인지 식별합니까?
답변
감지 URL은 다른 Android 버전.
Marshmallow의 경우 connectivitycheck.gstatic.com/generate_204를 사용합니다. 여기에서 코드를 확인하십시오. AndroidXRef-Marshmallow 6.0.0_r1
Kitkat의 경우 clients3.google.com/generate_204를 사용합니다. 코드를 확인합니다. AndroidXRef-KitKat 4.4.4_r1
댓글
h3>
Answer
이 기술을 “Captive Portal”이라고합니다. 몇 가지 구현이 있습니다. 아시다시피 Android는 Google 서버 중 하나에서 generate_204
라는 파일에 도달하려고 시도하며 가능하지 않은 경우 알림이 생성됩니다.
추가 정보 Wikipedia : Captive_portal
댓글
- 사실 캡 티브 포털에 대해 알고 있습니다. 하지만 확인을위한 특정 URL을 알고 있습니다. 어떻게 작동하는지 알고 싶습니다. 그게 아닙니다.
- 무슨 뜻인가요-" 작동 방식 "? Android가 요청을 보내고 긍정적 인 응답이 없으면 인터넷에 연결되어 있지 않음을 의미하며 알림이 생성됩니다. 이것이 ' 작동 방식입니다.
- Android 요청에 대한 특정 URL입니다. 문제에 대해 언급했습니다.
- 이전 의견에서 특정 URL을 알고 있다고 말씀하셨습니다. '의
https://www.gstatic.com/generate_204
- URL이 clients3.google.com/generate_204 이 사이트에서 가져온 정보는 아마도 안드로이드와 동일 할 것입니다. chromium.org/chromium-os/chromiumos-design-docs/ …
답변
캡 티브 포털은 일반적으로 모든 트래픽을 유효한 HTTP 응답 (200)으로 전달하여 구현됩니다. 이 HTTP 응답은 캡 티브 포털에 표시됩니다.
이 작업은 iptables 또는 dnsmasq와 같은 도구로 수행 할 수 있습니다.
http://connectivitycheck.gstatic.com/generate_204
는 실제로 콘텐츠가없는 204를 반환하고 분명히 작동하기 때문에 이상하게 보입니다.Content-Length: 0
헤더를 생략했을 수 있습니다.