본문 바로가기
기타

Captive Portal

by sharekim 2022. 10. 25.

KT 와이파이, 스타벅스 와이파이, 호텔 와이파이 등등... 와이파이에 연결했더니 웹페이지가 뜨면서

인증 또는 무언가의 동의화면을 본 적이 있을 것이다.

 

라우터에 접근했을 뿐인데 웹 페이지를 띄워주는 이러한 액션이 어떻게 가능할까 알아보다

Captive Portal에 대해 알게 되었다.

 

Captive Portal은 국내 자료가 많이 안 보여서 Wiki를 참고했다.

 

https://en.wikipedia.org/wiki/Captive_portal

 

Captive portal - Wikipedia

From Wikipedia, the free encyclopedia Jump to navigation Jump to search Web page displayed to new users of a network An example of a captive web portal used to log onto a restricted network. A captive portal is a web page accessed with a web browser that i

en.wikipedia.org

 

정의

첫줄은 이렇다.

 

A captive portal is a web page accessed with a web browser that is displayed to newly connected users of a Wi-Fi or wired network before they are granted broader access to network resources.

Captive Portal은 네트워크 리소스에 대한 광범위한 액세스 권한이 부여되기 전에 Wi-Fi 또는 유선 네트워크에 새로 연결된 사용자에게 표시되는 웹 브라우저로 액세스하는 웹 페이지입니다.

 

요약하면, 네트워크에 처음 접근하는 사용자에게 보여주는 웹 페이지란다.

일반적으로 로그인이나 결제 등에 사용되는데, 공공 와이파이 연결 시에 뜨는 화면을 상상하면 되겠다.

 

구현 방법

1. HTTP redirect

네트워크로의 첫 연결 시에 HTTP Status 코드 200이나 204를 주지 않고 302(redirect) 또는 511(Network Authentication Required)을 보내는 방식이다.

이 중 511 상태코드는 처음 보는 것인데, RFC6585 에 따르면 511은 Captive Portal을 위해 고안되었다고 한다.

특징으로는,

1) 로그인 페이지 자체를 보내는 것이 아니라 redirect 링크를 보내야 하고

2) 캐시에 저장되지 않는다

 

아래는 예시

 For example, a user agent might connect to a network and make the
   following HTTP request on TCP port 80:

   GET /index.htm HTTP/1.1
   Host: www.example.com

   Upon receiving such a request, the login server would generate a 511
   response:

   HTTP/1.1 511 Network Authentication Required
   Content-Type: text/html
         

2. ICMP redirect

ICMP(Internet Control Message Protocol)는 라우터에서 사용되는 TCP의 보조 프로토콜로 에러메시지나 연결 정보를 포함한다.

ICMP에는 Type이 있는데 Type을 5로 구성하면 Redirect 기능을 수행하게 되어 Layer 3 수준에서 리다이렉트가 가능하다.

 

3. DNS

인증되지 않은 유저가 인증 받을 수 있는 특정 IP로 DNS 서비스를 사용하는 방법이 있다.

댓글