캡 티브 포털 네트워크 연결은 어떻게 작동합니까?


8

호텔, 공항 카페의 인터넷 액세스는 종종 캡 티브 포털에 의해 제공되어 처음 사용시 특정 웹 페이지 (예 : 지불 페이지 또는 일부 페이지는 서비스 약관 또는 인증 / 승인 페이지)를 허용합니다. 무선 및 유선 연결 모두에서이 사실을 알 수 있습니다.

어떻게 작동합니까?


1
이런 식으로하지만 악을 위해 수행되지 않았습니다. ex-parrot.com/~pete/upside-down-ternet.html
Zoredache

답변:


14

그것은 무선 제품의 공급 업체에 따라 다르지만 내 경험상 일반적으로 다음과 같이 작동합니다.

  1. 랩탑은 중앙 관리 스테이션에 연결된 지능형 액세스 포인트에 무선으로 연결합니다.
  2. 첫 번째 웹 요청은 가로 채서 Location:로그인 / 정책 페이지 (예 : http://hotelwireless.net/login )로 리디렉션 되는 헤더 와 함께 응답됩니다 . 이는 지능형 액세스 포인트 또는 중앙 관리 스테이션에 직접 존재할 수 있습니다.
  3. 인증이 완료되면 MAC 주소가 허용 된 클라이언트 목록에 추가되어 향후 요청이 인터넷 또는 액세스 가능한 인트라넷 리소스로 올바르게 라우팅되도록합니다.

무엇을 부를 것인지에 관해, 나는 그것이 "포로 포털"또는 "무선 액세스 포털"이라고 가장 자주 들었습니다.


2
나는 또한 DNS를 사용하여 그것을 보았으므로 첫 번째 DNS 쿼리는 로그인 / 정책 페이지로 해결됩니다.
Niko SP

1
당신은 하나를 설정 찾고 있습니까? 1 시간 이내에 배포 할 수있는 pfSense와 같은 빠르고 쉽고 안전한 Linux 배포판이 있습니다.
G Koe

2
클라이언트 측은 어떻게 작동합니까? Wi-Fi에 연결되면 Windows 10은 기본 브라우저를 시작하여 포털로 이동합니다. Android 5 휴대 전화는 Sign-in to Network기본적으로 해당 포털 페이지 만 표시 하는 앱 (기본 브라우저 아님)을 시작합니다. 새로운 프로토콜이 있습니까? 사양은 무엇입니까?
Old Geezer

나는 그것이 오래된 게시물이라는 것을 알고 있지만 첫 번째 웹 요청 (또는 사용자가 버튼을 클릭하는 것과 같은 수단으로 인증 될 때까지 웹 요청)을 어떻게 가로 챌 수 있습니까?
도미니크

4

먼저 리디렉션을 수행하려면 인라인 인증 자 (액세스 컨트롤러)가 필요합니다. 주제와 관련하여 AP의 중앙 관리를 선택하는 경우 무선 LAN 컨트롤러가 필요합니다. 또는 Wall Garden 기능이있는 캡 티브 포털 유형의 네트워크 액세스 컨트롤러를 배치 할 수도 있습니다.

NAS는 무차별 모드 원시 소켓을 통해 다운 링크 (클라이언트 측)로 들어오는 트래픽을 모니터링하고 인증되지 않은 클라이언트에 대한 브라우저 시작 트래픽이 감지되면 응답으로 HTTP 리디렉션이 제공됩니다. 따라서 수신 브라우저는 인증 자에서 인라인으로 또는 외부 웹 서버에서 즉시 호스팅 할 수있는 CAPTIVE 포털 홈페이지로 리디렉션됩니다.

이 페이지의 유일한 작업은 사용자에게 자격 증명을 입력 할 수있는 UI를 제공하는 것입니다. 입력 된 자격 증명은 coova chilli의 경우 고추와 같은 인증 자 데몬으로 다시 전달됩니다. 이러한 자격 증명이 반경 요청으로 RADIUS 서버에 전달되거나 로컬에서 확인할 수 있습니다. 인증에 성공하면 인증 자의 클라이언트 상태가 인증 된 것으로 표시되고 클라이언트에게 액세스 권한이 부여됩니다.

리디렉션이 달성되는 방법

가장 널리 사용되는 방법은 사용자에 의해 시작된 HTTP 요청과 클라이언트에 대한 응답으로 302 코드를 가로채는 것입니다. 고추에서는 아래 기능을 통해 수행됩니다.

http_redirect2() {

cat < <  EOF
HTTP/1.1 302 Redirect 

Location: $1

Set-Cookie: PORTAL_SESSIONID=$PORTAL_SESSIONID

Set-Cookie: COOVA_USERURL=$COOVA_USERURL

Connection: close

EOF
    exit

}

이 리디렉션은 클라이언트 트래픽을 가로채는 클라이언트 측 인터페이스로 실제적으로 제어되는 툰 탭 인터페이스를 쉽게 달성 할 수 있습니다. DNS 포이즌을 통해 추가 리디렉션을 수행 할 수도 있지만 클라이언트 브라우저에서 응답이 캐시되면 문제가 발생할 수 있습니다. 문제 영역에 따라 더 구체적으로 수행 할 수 있습니다. 당신이 원한다면 나는 당신을 도울 수 있습니다.


2

https://www.arubanetworks.com/vrd/GuestAccessAppNote/wwhelp/wwhimpl/js/html/wwhelp.htm 에 이에 대한 자세한 설명이 있습니다 .

여기 그 일부가 있습니다 :

포로 포털 인증 프로세스

캡 티브 포털은 레이어 3 인증으로, 캡 티브 포털을 통해 인증하기 전에 장치가 네트워크에 연결하고 IP 주소 및 관련 DNS 정보를 가져와야합니다. 다음 단계는 네이티브 ArubaOS가 캡 티브 포털 인증에 사용될 때 전체 캡 티브 포털 프로세스를 설명합니다.

1. 게스트 SSID에 연결된 장치에는 초기 역할 (예제 구성의 게스트 로그온 역할)이 할당됩니다. 이 초기 역할은 DHCP를 허용하므로 사용자는 IP 주소를 얻습니다.

2. 사용자가 브라우저를 열고 일부 대상 (예 : www.bbc.com)에 HTTP (또는 HTTPS) 요청을합니다.

3. 장치의 리졸버가 www.bbc.com을 해결하기 위해 DNS 요청을 보냅니다. 초기 역할 (게스트 로그온 역할)은 DNS 서비스를 허용하므로 확인자가 DNS 서버와 통신 할 수 있습니다.

4. DNS 서버가 www.bbc.com에 올바른 주소로 회신합니다.

5. 확인자는 DNS 응답을 기반으로 사용할 IP 주소를 브라우저에 알려줍니다.

6. 브라우저가 www.bbc.com 주소의 포트 80에 TCP 연결을 시작합니다.

7. 컨트롤러가 연결을 차단하고 HTTP 프로세스의 초기 TCP 핸드 셰이크를 스푸핑합니다. 현재 클라이언트 브라우저는 bbc.com 서버와 통신하고 있다고 생각합니다.

8. 브라우저가 웹 페이지에 대한 HTTP GET 요청을 보내면 컨트롤러는 bbc.com이 "임시로 이동했다"고 응답합니다.

9. 브라우저가 연결을 닫습니다.

10. 브라우저가에 연결을 시도하지만 먼저 주소에 대한 DNS 요청을 보내야합니다.

11. 실제 DNS 서버는 https://securelogin.arubanetworks.com을 해결할 수 없다고 응답 하지만 컨트롤러는 응답을 차단하고 securelogin.arubanetworks.com이 컨트롤러 자체의 IP 주소에 있다고 패킷을 변경합니다. DNS 서버가 쿼리에 대한 응답을 다시 보내는 것이 중요합니다. 그러면 컨트롤러가 DNS 서버에서 회신을 스푸핑 할 수 있습니다. 회신이 없으면 컨트롤러가 클라이언트가 securelogin.arubanetworks.com을 해결하는 데 도움이되지 않으므로 회신을받지 않고 DNS 요청을 보내는 것으로는 충분하지 않습니다.

12. 브라우저는 컨트롤러의 주소에 대한 HTTPS 연결을 시작하며 게스트가 인증하는 캡 티브 포털 로그인 페이지로 응답합니다.

13. 인증에 성공한 후 사용자에게 사후 인증 역할 (예제 구성의 인증-게스트 역할)이 할당됩니다. 이는 캡 티브 포털 프로파일의 기본 역할입니다.

14. 인증 후 브라우저는 DNS에서 원래 확인한 주소에서 bbc.com으로 리디렉션됩니다. 또는 시작 페이지가 구성된 경우 브라우저가 시작 페이지로 경로 재 지정됩니다.

15. 컨트롤러는 원본 웹 페이지로 성공적으로 리디렉션하기 위해 bbc.com의 회신을 스푸핑하여 bbc.com이 bbc.com으로“영구적으로 이동”했음을 클라이언트에 알립니다. 이 단계는 캡 티브 포털 로그인의 일부로 발생한 "임시 재배치"를 수정합니다.

16. 이로 인해 클라이언트는 www.bbc.com 주소에 대한 DNS를 다시 쿼리합니다.

17. 브라우저가 실제 bbc.com 서버와 통신을 시작합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.