OS X에서 캡 티브 포털에 자동 로그인하는 방법은 무엇입니까?


66

OS X에서 캡 티브 포털에 자동으로 로그인하려면 어떻게해야합니까?

캡 티브 포털 은 로그인을 필요로하는 바로 당신이 그들에 연결로 웹 페이지를 제공 (종종 암호로 보호 된) 무선 네트워크에 의해 사용됩니다.

이와 같은 다른 무선 네트워크에 매우 자주 로그인해야하는데, 포로 포털 중 어느 것도 내 로그인 / 암호 정보를 기억하지 않는 것 같습니다. 로그인 프로세스를 어떻게 든 자동화하거나 최소한 로그인 / 암호 쌍을 키 체인에 저장하는 방법이 있습니까?

업데이트 : 기본적으로이를 처리하는 AutoWifi 라는 iOS 앱 이 있습니다. 모든 제한 사항이있는 iOS에서이 작업을 수행 할 수 있다면 반드시 OS X에서 이와 같은 작업을 수행 할 수 있어야합니다.


관련 재미있는 사실 : Apple이 OS X 및 iOS에서 캡 티브 포털을 테스트하는 방법입니다.

OS X 및 iOS http://www.apple.com/library/test/success.html는 WiFi 네트워크에 연결할 때마다 요청 합니다.

요세미티 현재 URL은 다음과 같습니다. http://captive.apple.com/hotspot-detect.html

이 URL은 다음 HTML을 반환합니다.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
    <TITLE>Success</TITLE>
</HEAD>
<BODY>
Success
</BODY>
</HTML>

1
/Library/Preferences/SystemConfiguration/CaptiveNetworkSupport/Settings.plist를 살펴보십시오. 여기에서 기본 설정을 조작하면 Apple이 자체적으로 결정한 많은 보안 문제에 쉽게 심각한 보안 위험을 초래할 수 있습니다. 이러한 캡 티브 포털을 통해 연결하는 데 어떤 브라우저를 사용하는지 잘 모르겠지만 자동 채우기에 따라 네트워크 위치를 설정하거나 간단한 매크로를 만들 수도 있습니다.
l' L' l

2
OS X가 캡 티브 포털을 감지 할 때마다 로그인 페이지와 함께 WebView 팝업 창이 열립니다 (실제 브라우저 UI 아님).
Mathias Bynens

기회가 있다면 팝업의 소스 코드를 게시하십시오.
l' L' l

@ioi 페이지의 HTML 소스는 네트워크에 따라 다릅니다. 팝업이 표시되면 브라우저를 열고 URL을로드하여 동일한 페이지를 탐색 할 수 있습니다.
Mathias Bynens

2
어떤 대답도 질문에 대답하지 않습니다!
Tyilo 2016 년

답변:


27

당신은 이름을 바꿀 수 있습니다

/System/Library/CoreServices/Captive Network Assistant.app

으로

/System/Library/CoreServices/No More Captive Network Assistant.app

그리고 당신은 모두 설정되었습니다. 비밀번호 입력은 이제 선택한 브라우저를 통해 이루어지며 1password 또는 다른 플러그인을 사용하여 저장할 수 있습니다. 이름 변경을 수행하는 동안 이미 로그인 한 경우 세션이 만료되는 데 시간이 걸릴 수 있습니다.


1
이것을 테스트하기를 기대합니다 :) 단점이 있습니까?
Mathias Bynens

1
이것이 간단한 (st?) 해결책 일 수는 있지만 cwd의 대답은 관리적 인 경우에도 올바른 방법이라고 생각합니다. 우리가 애플과 "다른 생각"을하고 싶을 때, 맥에는 애플이 우리를 강제로 관리해야하는 특정한 것들이있다.
David

최신 버전의 macOS에서는이 파일의 이름을 바꾸기 전에 시스템 무결성 보호를 비활성화해야합니다. 필요할 때 시스템 이름을 바꾸는 데 반대하지 않지만이 경우 cwd의 대답이 더 좋습니다.
Wowfunhappy

54

OS X 에서이 Captive Network Support 비활성화를 찾았습니다.

"사용 중지하려면이 환경 설정을 지정하십시오."

sudo defaults write /Library/Preferences/SystemConfiguration/com.apple.captive.control Active -boolean false

이 설정을 제거하려면 다음을 수행하십시오.

sudo defaults delete /Library/Preferences/SystemConfiguration/com.apple.captive.control Active

그런 다음 @Leon에서 언급했듯이 일반 웹 브라우저를 사용하여 로그인하십시오. 또는 네트워크가 작동하지 않는 경우에도 앱을 수동으로 열려고 시도 할 수 있습니다 (에 위치 /System/Library/CoreServices/Captive Network Assistant.app)


2
cwd ++ 이것은 여전히 ​​가장 좋은 대답입니다. 오늘은 모하비에, 내가 이름을 바꾸거나 포로 네트워크 Assistant.app을 삭제 할 수 없습니다,하지만 기본 설정을 통해 비활성화를 강제 할 수 있었다
danielpops

16

github 에있는 Tyilo의 NetworkAutoLogin 프로젝트 는 사용자 제공 자격 증명을 사용하여 "포괄 포털 네트워크에 자동으로 로그인"하는 os.x 데몬입니다.

PhantomJS & CasperJS를 사용하여 필요한 정보를 캡 티브 포털 로그인 페이지의 필드에 게시합니다. 비밀 로그인 "암호", 사용자 이름-암호 쌍 또는 EULA 확인란과 "연결"버튼을 활성화하는 것일 수 있습니다.

정확히 어떻게 트리거되는지 기억할 수 없지만 launchctl에 .plist를 등록합니다.

캡 티브 포털 페이지에서 필드 세트 이름 (선택 사항) 및 필수 필드 이름 + 컨텐츠 쌍 (필수)을 지정하여 구성 옵션을 json 파일에 넣습니다. 여기에 저장된 설정 파일의 예가 있습니다.~/.networkautologin.js

{ // Example with all possible options
    match: {
        SSID: ['Example WiFi 1', 'Example WiFi 2'],
        BSSID: '01:23:45:67:89:AB',
        URL: 'http://logon.example.org/?url=http://www.apple.com/library/test/success.html'
    },
    form_selector: 'form#login_form',
    fields: {
        'username': 'test',
        'password': '123123'
    }
}

1
그것은 또 다른 데몬이 백그라운드에서 실행하는 데 필요한 미치지 않았어
CWD

미리 컴파일했지만 미리 설정된 캡 티브 네트워크 로그인 페이지가 표시 될 때 데몬 트리거를 관찰 할 수 없습니다.
Mac Cowell

마찬가지로 (요세미티 +의 새로운 설정으로 업데이트 한 경우에도)
Jeef

6

삭제하거나 이름을 바꾸면 /Library/Preferences/SystemConfiguration/CaptiveNetworkSupport/Settings.plist자동 검색이 중지 되지 않습니까?

적어도 WebView 팝업 열기를 중지 할 수 있습니다.

그렇지 않으면 해당 URL의 모든 URL을 Settings.plist로컬 호스트 success.html파일 복사본으로 바꾸고 로컬 호스트 success.html웹 서버 에서 파일을 호스팅하십시오 .


3

5 분마다 홈 네트워크에서 캡 티브 포털 요청이 표시됩니다. 그러나 /Library/Preferences/SystemConfiguration/CaptiveNetworkSupport/Settings.plist 파일에서 변경했습니다.

문자열 : http://www.apple.com/library/test/success.html to http://captive.apple.com/hotspot-detect.html (ProbeURL 섹션을 의미). 애플이 새로운 OS에 대한 프로브 URL을 변경했지만 이유를 모르겠지만 새로운 URL 응답은 200 (OK)이며 작동해야합니다 (2011 년 Mbpricks에서 Mbpricks에서 동일한 문제에 직면했습니다).


3

AppleScript, Lynx, Fakeapp / Safari 및 ControlPlane 사용에 대한 도움으로 My MacBook은 항상 사무실에서 자동으로 캡 티브 포털에 연결됩니다. 여전히 효율적인 방법은 아니지만 작업을 완벽하게 수행합니다. 누군가가 더 간단하게 만들 수 있기를 바랍니다.

코드는 다음과 같습니다.

  1. 올바른 SSID인지 확인하십시오

    do shell script "/System/Library/PrivateFrameworks/Apple80211.framework/Resources/airport -I | awk '/ SSID: / {print $2}'"
    
  2. 포로 포털 주소 존재 확인

    try
        do shell script ("ping -c 2 " & CaptiveAddress) -- set your captive address here
        set CaptiveExist to "yes"
    on error
        set CaptiveExist to "no"
    end try
    
  3. 포털 연결 테스트

    try
        set PortalOpened to do shell script ("/usr/local/bin/lynx --dump http://www.apple.com/library/test/success.html | grep 'Success'")
        if PortalOpened is "   Success" then
            set PortalOpened to "yes"
        else
            set PortalOpened to "no"
        end if
    on error
        set PortalOpened to "no"        
    end try
    
  4. 포털에 로그인

    tell application "Fake"
        load URL "http://YourPortalAddress.html" -- put your captive address here
        set value of element with name "username" to "user"
        set value of element with name "password" in form with name "password" to "password"
        click element with id "logincaption"
    end tell
    
  5. 해당 스크립트를 하나의 응용 프로그램으로 저장하십시오. 그런 다음 ControlPlane 규칙을 사용하여 지정된 SSID로 트리거 될 때 실행되도록하십시오.

포로의 로그인 양식에는 다른 HTML 요소가있을 수 있습니다. 자체 HTML 요소 및 사용자 이름 / 암호가있는 다른 SSID와 같은 디스플레이 대화 상자 나 알림을 추가 할 수 있습니다. 가짜는 브라우저 + 자동화 기이므로 삶을 더 쉽게 만들 수 있습니다.

캡 티브 로그인 팝업을 비활성화하는 것을 잊지 마십시오. 이제 Mac 100 %가 포털에 자동 연결됩니다.

희망이 도움이됩니다.


2

포로 포털은 비밀번호와 다릅니다. 시트에 표시하는 것과 같습니다. 연결 한 네트워크가 DHCP를 통해 IP 주소를 전달할 때마다 로그인 / 동의 할 수있는 포탈 포털을 제공 한 다음 연결할 수 있습니다. 내가 이해 한 바에 따르면, 이것은 변경할 수없는 크로스 플랫폼 제한입니다. 이 는 네트워크 관리자가 변경할 수있는 일 수 있지만, 심지어는 사용되는 장비의 종류에 따라 달라질 수 있습니다.


비밀번호보다 로그인 시트와 비슷하다는 것이 절대적으로 맞습니다.하지만이 시트를 자동 완성하는 쉬운 방법이없는 것 같습니다.) iOS에는 처리 할 수있는 앱이 있습니다. 이. OS X와 ​​비슷한 것이 없습니까?
Mathias Bynens

iOS 용 앱은 무엇입니까? 그런 다음 웹 탐색 등을 위해 해당 앱을 사용해야하지 않습니까?
Matt Love

1
AutoWiFi의 응용 프로그램은이 작업을 자동으로 처리합니다; "연결"을 한 번 클릭하면 로그인하면됩니다.
Mathias Bynens

2

몇 년 전이 질문과 답변은 인터넷 검색에서 높은 것으로 나타났습니다. 불행히도 MacOS는 그 이후로 변경되었습니다. 2016 년 MacWorld 의이 페이지 는 현재 (이 글을 쓰는 시점) 상태를 설명하는 것 같습니다.

본질적으로 SIP 때문에 복구 모드에서만 도우미를 비활성화 할 수 있습니다. 이 질문의 다른 부분에 대한 해결책을 아직 찾지 못했습니다. "로그인을 자동화 할 수 있습니까?"


1
높은 시에라에서는 더 이상 제안 된대로 Captive \ Network \ Assistant.app의 이름을 바꿀 수 없습니다. 적어도 루트로 실행할 때조차도 할 수 없었습니다.
Henry Story

최신 MacOS 운영 보호 기능을 비활성화해야합니다. support.intego.com/hc/en-us/articles/… 이 방법이 여전히 효과가 있는지 모르겠지만 적어도 지금 시도해 볼 수 있습니다.
historystamp

0

자동 로그인 핫스팟 페이지 용으로 작성한 오픈 소스 도구 인 Mili 를 사용할 수 있습니다 . Linux에서도 작동합니다.

Wi-Fi 연결을 변경하면 Mili가 Mikrotik 서비스를 확인한 다음 로그인 정보로 로그인을 시도합니다.

다음과 같이 멀티 로그인 정보를 사용할 수도 있습니다.

{
    "username": "USER 1",
    "password": "PASS 1",
    "share": 5
}, 
{
    "username": "USER 2",
    "password": "PASS 2",
    "share": 1
}

다른 질문에 오신 것을 환영합니다. 사이트 규칙에 따라 권장 소프트웨어와 제휴 한 경우 답변에 표시해야합니다. 이 경우, 귀하는 저자이지만 귀하의 답변에이를 명시하지 않습니다. 여기에 답변 제공에 대한 정보는 답변 방법을 참조 하고 누락 된 정보를 포함하도록 답변을 편집 하십시오.
fsb
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.