OS X'deki sabit portallara otomatik olarak nasıl giriş yapılır?


66

OS X'deki sabit portallara otomatik olarak nasıl giriş yapabilirim?

Bir tutsak portal adresinin giriş gerektiren kısa sürede bunlara bağlanacak şekilde bir web sayfası mevcut (çoğu zaman şifre korumalı) kablosuz ağlar, tarafından kullanılır.

Bunun gibi farklı kablosuz ağlara çok sık giriş yapmam gerekiyor ve esir portalların hiçbiri giriş / şifre bilgilerimi hatırlamıyor gibi görünmüyor. Giriş işlemini bir şekilde otomatikleştirmenin ya da en azından Giriş / şifre çiftlerini Anahtarlık'ta saklamanın bir yolu var mı?

Güncelleme: Temelde bunu idare eden AutoWifi adlı bir iOS uygulaması var . Bunu tüm kısıtlamaları ile iOS'ta yapabiliyorsanız, kesinlikle OS X'te de böyle bir şey yapmak mümkün olmalı, değil mi?


İlgili eğlenceli gerçek: Apple, OS X ve iOS'ta esir portallarını nasıl test ettiğini şöyle gösterir:

OS X ve iOS http://www.apple.com/library/test/success.html, bir WiFi ağına her bağlanışınızda istek yapar .

Yosemite'den itibaren URL şimdi: http://captive.apple.com/hotspot-detect.html

Bu URL aşağıdaki HTML’yi döndürür:

<!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 adresine bakın. Buradaki tercihleri ​​değiştirmek, kendi başına kesin olarak uyguladığı pek çok Apple'ın üstüne ciddi güvenlik risklerini kolayca artırabilir. Bu sabit portallar üzerinden bağlanmak için hangi tarayıcıyı kullandığınızdan emin değilim, ancak bunlar için ağ konumları belirlemeyi veya otomatik olarak doldurmak istediğinize bağlı olarak basit bir makro oluşturmayı deneyebilirsiniz.
Ben

2
Sorun bu - ne zaman OS X tutsak bir portal tespit ederse, giriş sayfasıyla birlikte bir WebView açılır penceresi (gerçek bir tarayıcı kullanıcı arayüzü değil) açar.
Mathias Bynens

Şansınız varsa açılır pencerenin kaynak kodunu gönderin.
l'L'l

@ ioi Sayfanın HTML kaynağı ağa bağlıdır. Açılır pencereyi açtıktan sonra, sadece herhangi bir tarayıcı açıp bir URL yüklemeye çalışarak aynı sayfaya göz atmak mümkündür.
Mathias Bynens

2
Cevapların hiçbiri soruyu cevaplamıyor!
Tyilo

Yanıtlar:


27

Yeniden adlandırabilirsin

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

içine

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

ve hepiniz hazırsınız. Parola şimdi girerek tercih ettiğiniz tarayıcıdan geçer ve 1 şifre veya başka eklentiler kullanılarak saklanabilir. Yeniden adlandırmayı yaparken zaten giriş yaptıysanız, oturumunuzun süresinin dolması biraz zaman alabilir ...


1
Bu test için bekliyorum :) Hiçbir olumsuzluk yok?
Mathias Bynens

1
Bu basit (st?) Bir çözüm olsa da, cwd'nin cevabının admin-ish olsa bile bunu yapmanın doğru yolu olduğunu düşünürdüm. Mac’te Apple’dan “farklı düşünmek” istediğimizde, Apple’ın bizi yönetici olmaya zorladığı bazı şeyler var.
David,

MacOS'un yeni sürümlerinde, bu dosyayı yeniden adlandırabilmeniz için önce System Integrity Protection'ı devre dışı bırakmanız gerekir. Gerektiğinde sistem öğelerini yeniden adlandırmaya karşı değilim, ancak cwd'nin cevabı bu durumda daha iyi.
Wowfunhappy

54

OS X’te bu Devre Dışı Bırakma Ağ Desteğini yeni buldum

"Bunu devre dışı bırakmak için bu tercihi ayarlayın:" ifadesinden bahseder.

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

Bu ayarı hiç kaldırmak istemezseniz, şunları yapabilirsiniz:

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

Ardından, @Leon'un da bahsettiği gibi, giriş yapmak için normal web tarayıcısını kullanın. Ya da bir şekilde çalışmadığı bir ağdaysanız, o zaman uygulamayı el ile yine de açmayı deneyebilirsiniz ( /System/Library/CoreServices/Captive Network Assistant.app)


2
cwd ++ Bu hala en iyi cevap. Bugün
Mojave'de

16

Hillary'nin NetworkAutoLogin projesi github'daki "otomatik olarak Captive Portal Networks'e kullanıcı tarafından sağlanan kimlik bilgileriyle giriş yapan" bir os.x arka plan programıdır.

Gerekli bilgileri esir portalı giriş sayfasındaki alanlara göndermek için PhantomJS & CasperJS yazılımını kullanır. Gizli giriş "şifre", bir kullanıcı adı-şifre çifti veya sadece bir EULA onay kutusunu ve "bağlan" düğmesini etkinleştiriyor olabilir.

Nasıl tetiklendiğini tam olarak hatırlayamıyorum, ancak launchctl ile bir .plist yazıyor.

Yapılandırma seçeneklerini, sabit portal sayfasındaki alan kümesinin adını (isteğe bağlı) ve gerekli alan adı + içerik çiftlerini (gerekli) belirterek bir json dosyasına koyarsınız. İşte depolanan config dosyasına bir örnek~/.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
arka planda çalışan bir başka arka plan gerektirdiği için çılgınca değil
cwd

Bunu derledim ancak önceden belirlenmiş bir esir ağ giriş sayfası ile sunulduğunda daemon tetikleyicisini gözlemleyemedim.
Mac Cowell

Aynı şekilde (hatta yosemite + içindeki yeni ayarlarla güncellendi)
Jeef

6

Silme (veya yeniden adlandırma) /Library/Preferences/SystemConfiguration/CaptiveNetworkSupport/Settings.plistotomatik algılamayı durdurmuyor mu?

En azından WebView açılır penceresinin açılmasını durdurabilirdi.

Aksi halde, tüm URL'leri dosyanın Settings.plistyerel olarak barındırılan bir kopyasıyla değiştirin ve success.htmldosyayı success.htmlyerel sunucunuzda barındırın.


3

Her 5 dakikada bir ev ağımda esir portalı istekleri görüyorum. Ancak /Library/Preferences/SystemConfiguration/CaptiveNetworkSupport/Settings.plist dosyasında değiştim

string: http://www.apple.com/library/test/success.html - http://captive.apple.com/hotspot-detect.html (ProbeURL bölümünü kastettim). apple yeni işletim sistemi için prob URL'sini değiştirdi, nedenini bilmiyorum, ancak yeni URL yanıtı 200 (Tamam) ve çalışması gerekiyor (mbp 2011 Mavericks'imde aynı sorunla karşılaştım).


3

MacBook'um şimdi AppleScript, Lynx, Fakeapp / Safari ve ControlPlane kullanmaya yardımcı olarak ofisimdeki her zaman otomatik olarak esir portalına bağlandı. Bunu yapmak için hala etkili bir yol değil, ama yine de işi mükemmel bir şekilde tamamlıyor. Umarım birileri daha kolaylaştırabilir.

İşte kod:

  1. SSID'nin doğru olduğundan emin olun

    do shell script "/System/Library/PrivateFrameworks/Apple80211.framework/Resources/airport -I | awk '/ SSID: / {print $2}'"
    
  2. Esir portal adresinin varlığını kontrol et

    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. Portal bağlantısını test et

    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. Portala giriş yapma

    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. Bu komut dosyalarını tek bir uygulama olarak kaydedin. Ardından, belirtilen SSID ile tetiklendiğinde çalışmasını sağlamak için ControlPlane kurallarını kullanın.

Kesinlikle esir üzerinde giriş formu başka bir HTML elemanlarına sahip olabilir. Bazı ekran iletişim kutuları veya bildirimler, kendi HTML öğeleri ve kullanıcı adı / şifresi ile başka bir farklı SSID ekleyebilirsiniz. Sahte bir tarayıcı + otomatik, bu yüzden hayatı kolaylaştıracak.

Esir giriş açılır penceresini devre dışı bırakmayı unutma. Şimdi Mac'iniz% 100 otomatik olarak portala bağlanır.

Umarım yardımcı olur.


2

Esir portalı parola gibi değil. Sayfadaki bir tabela gibi. Bağlandığınız ağ DHCP üzerinden bir IP adresini her gönderdiğinde, size oturum açıp / onaylamanız için gerekli portalı verir ve daha sonra bağlanmanıza olanak tanır. Anladığım kadarıyla, bu değiştirilemeyecek bir çapraz platform kısıtlaması. Bu olabilir ağ yöneticileri değiştirebileceğiniz bir şey olabilir, ama bu bile kullanılıyor ekipman tipine bağlı olabilir.


Bir şifreden çok bir oturum açma sayfası gibi olduğundan kesinlikle haklısınız, ancak bu sayfayı otomatik olarak doldurmanın kolay bir yolu olmadığına şaşırdım :) iOS'de dikkat etmesi gereken uygulamalar var bu. OS X için benzer bir şey yok mu?
Mathias Bynens

İOS için hangi uygulamalar bunu yapabilir? Daha sonra web taraması vb. İçin bu uygulamayı kullanmak zorunda kalmaz mıydınız?
Matt Love

1
AutoWiFi uygulaması otomatik olarak yönetir; Yapmanız gereken tek şey bir kez "Bağlan" tıklayıp giriş
yaptınız

2

Birkaç yaşında olmasına rağmen, bu soru ve cevap, bu googling'de yüksek olduğunu gösteriyor. Maalesef MacOS o zamandan beri değişti. 2016'dan itibaren MacWorld'deki bu sayfa , şu anki (bu yazı itibariyle) durumunu açıklamaktadır.

Esas olarak SIP nedeniyle asistanı yalnızca kurtarma modunda devre dışı bırakabilirsiniz. Bu sorunun diğer kısmına henüz bir çözüm bulamadım, "girişi otomatikleştirebilir miyiz?"


1
High Sierra 'da, burada önerildiği gibi Captive \ Network \ Assistant.app adını değiştirmek artık mümkün görünmüyor. En azından root olarak çalıştığımda bile yapamadım.
Henry Story,

En son MacOS işletim koruma özelliğini devre dışı bırakmanız gerekir. support.intego.com/hc/en-us/articles/… Bu yaklaşım hala işe yarıyor mu bilmiyorum ama en azından şimdi deneyebilirsiniz.
historystamp

0

Otomatik giriş etkin nokta sayfaları için yazdığım açık kaynaklı bir araç olan Mili'yi kullanabilirsiniz . Aynı zamanda Linux üzerinde de çalışır.

Wi-Fi bağlantınızı değiştirdiğinizde, Mili Mikrotik servislerini kontrol eder ve ardından giriş bilgilerinizle giriş yapmaya çalışır.

Bunun gibi çoklu giriş bilgilerini de kullanabilirsiniz:

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

Farklı sormaya hoş geldiniz. Site kuralları, tavsiye ettiğiniz yazılıma bağlıysanız cevabınızı belirtmenizi gerektirir. Bu durumda, yazar sizsiniz ama cevabınızda bunu belirtmiyorsunuz. Lütfen burada cevapların sağlanmasına ilişkin bilgi için Nasıl Cevaplanır'a bakın ve eksik bilgileri eklemek için cevabınızı düzenleyin .
fsb,
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.