Подтвердить что ты не робот

Ios7 и невольные порталы - изменение URL-адреса яблока

Похоже, что в ios7 URL-адрес, по которому устройство отправляет запрос, чтобы проверить, имеет ли он подключение к Интернету после подключения к Wi-Fi, изменилось (что намного хуже!).

в ios6 и ранее, запрос был:

GET /library/test/success.html HTTP/1.0
Host: www.apple.com
User-Agent: CaptiveNetworkSupport/1.0 wispr
Connection: close

(источник)

Но теперь в ios7 он может получить доступ к "до 200" (согласно cisco).

Проверяя это самостоятельно, я могу подтвердить запросы случайным образом перейти на appleiphonecell.com, captive.apple.com, airport.us, ibook.info и другие.

Итак, мой вопрос: у кого-нибудь есть полный список этих URL-адресов (может быть, это только каждый домен, принадлежащий Apple)? Мы запускаем плененный портал на нашем Wi-Fi, но просто чтобы пользователи знали, что им нужно подключиться к VPN после подключения к Wi-Fi. Нажатие кнопки "отменить" на странице входа в журнал для порталов иногда представляет собой вариант "использование без Интернета", который затем позволит пользователю подключаться к VPN, но иногда нажатие "cancel" не дает этой опции и просто отключает Wi-Fi сразу, что означает, что пользователь не может подключиться к VPN.

Прежде чем мы могли просто подделать ответ на конкретный URL (library/test/success.html), который затем оставил бы подключенный Wi-Fi. Мы можем сделать это снова, если у нас есть список сайтов, к которым он может получить доступ, иначе нам, возможно, придется вернуться к чертежной доске с нашим невольным порталом! (Или ждите обновления ios7, который исправляет возможность "использовать без Интернета", который не появляется каждый раз). Подумайте, что сейчас мы будем искать на основе пользовательского агента, если это возможно.

Обновление Edit-wee, похоже, что UA остается согласованным, по крайней мере, с CaptiveNetworkSupport, являющимся общим знаменателем, поэтому мы пока перейдем к проверке UA.

4b9b3361

Ответ 1

Достаточно интересно, www.appleiphonecell.com и captive.apple.com оба в настоящее время разрешены к адресам Akamai.

~/ > host captive.apple.com
captive.apple.com is an alias for captive.apple.com.edgekey.net.
captive.apple.com.edgekey.net is an alias for e7279.e9.akamaiedge.net.
e7279.e9.akamaiedge.net has address 23.212.87.91

Но airport.us и друзья напрямую решаются на Apple сеть класса A.

~/ > host airport.us
airport.us has address 17.149.160.87
airport.us has address 17.172.224.81

С этих IP-адресов вы можете найти еще несколько имен хостов, имеющих одну и ту же запись PTR. Добавление пути /library/test/success.html чаще всего приводит к прямому ответу или перенаправлению на ту же страницу на имя хоста www.apple.com.

~/ > host 17.149.160.87
87.160.149.17.in-addr.arpa domain name pointer airport.us.
87.160.149.17.in-addr.arpa domain name pointer ibook.info.
87.160.149.17.in-addr.arpa domain name pointer macbookair.net.
87.160.149.17.in-addr.arpa domain name pointer macintosh.me.
87.160.149.17.in-addr.arpa domain name pointer applecare.info.
87.160.149.17.in-addr.arpa domain name pointer macintosh.info.
87.160.149.17.in-addr.arpa domain name pointer itunes.info.
87.160.149.17.in-addr.arpa domain name pointer itunes.us.
87.160.149.17.in-addr.arpa domain name pointer iphoto.us.
87.160.149.17.in-addr.arpa domain name pointer applecare.us.
87.160.149.17.in-addr.arpa domain name pointer macbook.us.
87.160.149.17.in-addr.arpa domain name pointer itunesmobile.com.
87.160.149.17.in-addr.arpa domain name pointer ipod.us.
87.160.149.17.in-addr.arpa domain name pointer itunestelevision.com.
87.160.149.17.in-addr.arpa domain name pointer macosxversions.com.
87.160.149.17.in-addr.arpa domain name pointer itunes.me.
87.160.149.17.in-addr.arpa domain name pointer itunesaircheck.com.
87.160.149.17.in-addr.arpa domain name pointer mac.us.
87.160.149.17.in-addr.arpa domain name pointer macbookair.us.
87.160.149.17.in-addr.arpa domain name pointer ipod.me.
87.160.149.17.in-addr.arpa domain name pointer applestore.info.
87.160.149.17.in-addr.arpa domain name pointer iphone.me.
87.160.149.17.in-addr.arpa domain name pointer osxlionlaunchpad.com.
87.160.149.17.in-addr.arpa domain name pointer macgestures.com.
87.160.149.17.in-addr.arpa domain name pointer macbookair.org.
87.160.149.17.in-addr.arpa domain name pointer mac.info.
87.160.149.17.in-addr.arpa domain name pointer macos.us.
87.160.149.17.in-addr.arpa domain name pointer myipod.net.
87.160.149.17.in-addr.arpa domain name pointer itunesu.net.
87.160.149.17.in-addr.arpa domain name pointer appleiphonecell.com.
87.160.149.17.in-addr.arpa domain name pointer firewire.us.
87.160.149.17.in-addr.arpa domain name pointer airport.info.
87.160.149.17.in-addr.arpa domain name pointer itunesparty.com.
87.160.149.17.in-addr.arpa domain name pointer applecomputer.info.
87.160.149.17.in-addr.arpa domain name pointer appletv.info.
87.160.149.17.in-addr.arpa domain name pointer applecomputers.us.
87.160.149.17.in-addr.arpa domain name pointer idvd.us.
87.160.149.17.in-addr.arpa domain name pointer osx.info.
87.160.149.17.in-addr.arpa domain name pointer macbookair.info.
87.160.149.17.in-addr.arpa domain name pointer itunesu.org.
87.160.149.17.in-addr.arpa domain name pointer itunesuniversity.com.
87.160.149.17.in-addr.arpa domain name pointer imovie.us.
87.160.149.17.in-addr.arpa domain name pointer theapplestore.org.
87.160.149.17.in-addr.arpa domain name pointer macbookpro.org.
87.160.149.17.in-addr.arpa domain name pointer apple.me.
87.160.149.17.in-addr.arpa domain name pointer itools.info.
87.160.149.17.in-addr.arpa domain name pointer thinkdifferent.us.
87.160.149.17.in-addr.arpa domain name pointer thinkdifferent.info.
87.160.149.17.in-addr.arpa domain name pointer macintosh.us.
87.160.149.17.in-addr.arpa domain name pointer ipod.info.
87.160.149.17.in-addr.arpa domain name pointer applescript.us.
87.160.149.17.in-addr.arpa domain name pointer quicktime.info.
87.160.149.17.in-addr.arpa domain name pointer macosxlionairdrop.com.
87.160.149.17.in-addr.arpa domain name pointer itunesshow.com.
87.160.149.17.in-addr.arpa domain name pointer airtunes.net.
87.160.149.17.in-addr.arpa domain name pointer ipod.net.
87.160.149.17.in-addr.arpa domain name pointer macos.info.
87.160.149.17.in-addr.arpa domain name pointer imac.info.
87.160.149.17.in-addr.arpa domain name pointer imac.us.
87.160.149.17.in-addr.arpa domain name pointer appleiosv.com.
87.160.149.17.in-addr.arpa domain name pointer ipodnano.me.

Ответ 2

В наших тестах было похоже, что CNA также запускает запросы не только с CaptiveNetworkSupport, но и с общим идентификатором User-Agent WebKit. Действительно ли вам удалось проверить только заголовок User-Agent для CaptiveNetworkSupport?

Это действительно беспорядок.

Ответ 3

Проверьте агент Userv 'CaptiveNetworkSupport'. Я тестировал это на своем веб-сервере nginx и отлично работает на всех устройствах iOS.

if ($http_user_agent ~* (CaptiveNetworkSupport)) {
            return 200;
        }

Ответ 4

Добавьте те, что в /etc/lighttpd/lighttpd.conf

$HTTP["host"] =~ "^(appleiphonecell.com|captive.apple.com|www.itools.info|www.ibook.info|www.aiport.us|www.thinkdifferent.us|www.apple.com)" {
    server.document-root    = "/www/library/test/"
    index-file.names        = ( "success.html" )                                
    dir-listing.activate    = "disable"                                         
    server.error-handler-404 = "/success.html"
    #accesslog.filename = "/var/log/lighttpd/apple-access.log" 
    #server.errorlog = "/var/log/lighttpd/apple-error.log"
    url.rewrite = (
        "^/(.*/)" => "/success.html",
    )
}

Протестировано на iOS6 и iOS7

Ответ 5

Обходной путь был отправлен в виде конфигурации для сервера Lighttpd:

http://forum.daviddarts.com/read.php?9,8879

Этот способ основан на проверке UA для CaptiveNetworkSupport - хотя iOS также попытается загрузить одинаковые длинные рандомизированные URL-адреса с веб-сайта Apple с помощью WebKit UA.