Apple CNA, Android Connectivity Check, Microsoft NCSI: Como a Detecção de Captive Portal Realmente Funciona
Esta referência técnica definitiva explica como o Apple CNA, o Android connectivitycheck e o Microsoft NCSI detectam captive portals. Ela fornece orientação prática para gerentes de TI e arquitetos de rede sobre configuração de walled garden, modos de falha comuns e melhores práticas para uma implantação sem interrupções.
🎧 Ouça este Guia
Ver Transcrição
- Resumo Executivo
- Análise Técnica Detalhada
- Assistente de Rede Cativa da Apple (CNA)
- Verificação de Conectividade do Android
- Indicador de Status de Conectividade de Rede da Microsoft (NCSI)
- Guia de Implementação
- Configuração do Walled Garden
- Etapas de Implantação
- Melhores Práticas
- Solução de Problemas e Mitigação de Riscos
- ROI e Impacto nos Negócios
- Referências

Resumo Executivo
A detecção de Captive Portal é um componente crítico, mas frequentemente mal compreendido, das redes corporativas. Quando um dispositivo se conecta a uma rede WiFi pública, o sistema operacional executa uma série de sondas em segundo plano para determinar se o acesso à internet está disponível ou se um Captive Portal está interceptando o tráfego. Apple, Android e Windows usam mecanismos distintos — com diferentes URLs de sonda, respostas esperadas e modos de falha.
Para gerentes de TI e arquitetos de rede que implementam soluções de Guest WiFi em ambientes de Hospitalidade , Varejo ou setor público, a configuração incorreta desses mecanismos de detecção leva a uma sobrecarga significativa de suporte. Os convidados podem ver avisos de certificado, não conseguir ver a página inicial ou experimentar loops infinitos de login. Este guia de referência fornece a arquitetura técnica definitiva do Apple CNA, Android Connectivity Check e Microsoft NCSI, equipando você com o conhecimento prático necessário para construir walled gardens robustos e neutros em relação ao fornecedor e garantir uma experiência de conexão perfeita.
Análise Técnica Detalhada
Assistente de Rede Cativa da Apple (CNA)
Quando um dispositivo Apple (iOS ou macOS) se conecta a uma rede, ele envia imediatamente uma solicitação HTTP GET para sua URL de sonda principal: http://captive.apple.com/hotspot-detect.html. O dispositivo espera uma resposta HTTP 200 OK com um corpo HTML específico contendo a palavra "Success" [1].
Se a resposta corresponder a essa expectativa, o sistema operacional assume acesso total à internet. Se a resposta for qualquer outra coisa — como um redirecionamento HTTP 302 ou um tempo limite — o sistema operacional aciona o Assistente de Rede Cativa (CNA). O CNA abre o WebSheet, um mini-navegador em sandbox com funcionalidade limitada (sem extensões do Safari, sem salvamento de senha) [2].
Restrição crítica: A sonda inicial é HTTP. Se o seu gateway interceptar a sonda e redirecionar para uma URL HTTPS, o CNA falhará graciosamente, muitas vezes resultando em um aviso de certificado ou uma tela em branco. O redirecionamento inicial deve permanecer na porta HTTP 80. Além disso, se você permitir inadvertidamente captive.apple.com através do seu walled garden, o dispositivo alcançará o servidor real da Apple, receberá a resposta "Success" e ignorará seu portal completamente.
Verificação de Conectividade do Android
O Android opera em um princípio diferente. Sua sonda principal visa http://connectivitycheck.gstatic.com/generate_204 (com alternativas para clients2.google.com e connectivitycheck.android.com). Em vez de esperar uma resposta HTTP 200 com conteúdo específico, o Android espera uma resposta HTTP 204 No Content [3].
Se o Android receber um HTTP 204, ele assume conectividade com a internet. Se receber um redirecionamento ou uma resposta HTTP 200, ele sinaliza a rede como cativa e exibe uma notificação "Sign in to WiFi network". Tocar nesta notificação abre o navegador Chrome completo, permitindo uma experiência de portal mais rica em comparação com o CNA em sandbox da Apple.
Restrição crítica: Se o seu walled garden bloquear connectivitycheck.gstatic.com inteiramente, em vez de interceptá-lo e redirecioná-lo, o Android exibirá um aviso "Connected, no internet" e não solicitará que o usuário faça login.
Indicador de Status de Conectividade de Rede da Microsoft (NCSI)
O Windows emprega um mecanismo de sonda dupla através do serviço Network Connectivity Status Indicator (NCSI). Após a conexão, o Windows executa uma solicitação HTTP GET para http://www.msftconnecttest.com/connecttest.txt (esperando uma resposta 200 com o texto "Microsoft Connect Test") e uma resolução DNS para dns.msftncsi.com [4].
Se a sonda HTTP for interceptada, o Windows detecta o portal e abre o navegador padrão (Edge). No entanto, o Windows é propenso a um problema de loop pós-autenticação. Após o usuário se autenticar, o Windows executa novamente as sondas NCSI. Se o gateway ainda não tiver propagado a autorização do endereço MAC, a sonda é interceptada novamente, e o Windows reabre o portal, forçando o usuário a um loop de login.

Guia de Implementação
Para garantir a detecção confiável de Captive Portal em todos os dispositivos, você deve configurar sua zona de pré-autenticação (walled garden) para lidar com os requisitos específicos de cada sistema operacional.

Configuração do Walled Garden
Seu walled garden deve incluir os seguintes hosts. Crucialmente, você deve interceptar e redirecionar o tráfego HTTP para esses hosts, em vez de simplesmente permitir que eles passem para a internet.
- Apple:
captive.apple.com,www.apple.com,www.appleiphonecell.com,www.itools.info - Android:
connectivitycheck.gstatic.com,clients2.google.com,connectivitycheck.android.com - Windows:
www.msftconnecttest.com,dns.msftncsi.com,www.msftncsi.com(para clientes legados)
Etapas de Implantação
- Configurar Resolução DNS: Garanta que as solicitações DNS para as URLs de sonda sejam resolvidas com sucesso dentro da zona de pré-autenticação.
- Interceptar Sondas HTTP: Configure seu gateway para interceptar solicitações HTTP GET para as URLs de sonda e retornar um redirecionamento HTTP 302 para a página inicial do seu portal.
- Manter HTTP para Redirecionamento Inicial: O redirecionamento inicial deve ser servido via HTTP (porta 80). Você pode redirecionar o usuário para uma página de login HTTPS posteriormente, mas o primeiro salto deve ser HTTP em texto simples para satisfazer o Apple CNA.
- Propagar Autorização Rapidamente: Garanta que seu gateway atualize imediatamente suas regras de firewall após a autenticação bem-sucedida para permitir que as sondas NCSI passem, evitando loops do Windows.
Melhores Práticas
- Adote RFC 8910 (Captive Portal API): Sistemas operacionais modernos (iOS 16+, Android 11+) suportam a opção DHCP 114, que fornece um sinal positivo da presença de um Captive Portal via uma URL de API designada [5]. Isso elimina a dependência da interceptação de sondas e é a abordagem recomendada e à prova do futuro.
- Teste em Todas as Plataformas: Nunca presuma que um portal funciona apenas com base em testes com um iPhone. Exija uma matriz de testes que inclua dispositivos iOS, Android puro e Windows 10/11.
- Aproveite Plataformas Automatizadas: Gerenciar URLs de sondas em constante evolução manualmente é propenso a erros. Plataformas como Purple atualizam automaticamente as definições de walled garden à medida que Apple, Google e Microsoft modificam sua infraestrutura, garantindo a coleta consistente de dados de WiFi Analytics .
Solução de Problemas e Mitigação de Riscos
| Sintoma | Causa Raiz | Resolução |
|---|---|---|
| Apple CNA falha ao abrir; usuário vê aviso SSL. | Gateway intercepta sonda e redireciona diretamente para HTTPS. | Garanta que a interceptação inicial e o redirecionamento usem a porta HTTP 80. |
| Dispositivo Apple conecta sem mostrar portal. | captive.apple.com é permitido através do walled garden para a internet. |
Remova captive.apple.com da lista de permissões; garanta que seja interceptado. |
| Android mostra "Conectado, sem internet". | connectivitycheck.gstatic.com é bloqueado pelo firewall. |
Permita a URL da sonda no walled garden, mas intercepte e redirecione-a. |
| Windows solicita ao usuário que faça login várias vezes (looping). | Gateway é lento para aplicar regras MAC pós-autenticação; NCSI ainda é interceptado. | Otimize a propagação de regras do gateway; garanta que msftconnecttest.com passe pós-autenticação. |
ROI e Impacto nos Negócios
Uma arquitetura robusta de detecção de Captive Portal impacta diretamente o resultado final. Em um hotel de 500 quartos ou em um grande ambiente de varejo, falhas de Captive Portal geram um volume desproporcional de tickets de suporte de TI. Ao eliminar esses pontos de atrito, os locais reduzem os custos de suporte, melhoram as pontuações de satisfação dos hóspedes e aumentam a taxa de captura de dados primários.
Quando os usuários se conectam sem problemas, eles interagem com suas splash pages, permitindo que você entregue marketing direcionado, integre-se a programas de fidelidade e gere receita mensurável — conforme detalhado em nosso guia Indoor Positioning System: UWB, BLE, & WiFi Guide . Para locais que operam internacionalmente, um portal confiável garante a coleta consistente de dados de conformidade, suportando as estruturas discutidas no Brazil LGPD and Guest WiFi: A Compliance Guide .
Referências
[1] Apple Support, "Use redes Wi-Fi cativas no seu iPhone ou iPad," 2024. [2] SecureW2, "O Que É o Apple Captive Network Assistant?," 2023. [3] Android Developers, "Suporte à API de Captive Portal," Android 11 Features, 2020. [4] Microsoft Learn, "Detecção de Captive Portal e Experiência do Usuário no Windows," Windows Hardware Developer, 2025. [5] IETF, "RFC 8910: Identificação de Captive Portal em DHCP e Anúncios de Roteador," 2020.
Termos-Chave e Definições
Captive Network Assistant (CNA)
Apple's built-in mechanism for detecting captive portals and displaying them in a sandboxed mini-browser (WebSheet) rather than the full Safari browser.
IT teams must ensure their splash pages are responsive and do not rely on advanced browser features, as the CNA environment is highly constrained.
Network Connectivity Status Indicator (NCSI)
The Windows service responsible for determining internet connectivity by probing specific Microsoft domains via HTTP and DNS.
Understanding NCSI is critical for preventing the common 'Windows looping' issue where users are repeatedly prompted to sign in.
Walled Garden
A restricted network environment that allows unauthenticated users access to a specific list of approved hostnames or IP addresses.
Properly configuring the walled garden is the foundation of captive portal deployment, ensuring OS probes are handled correctly.
HTTP 204 No Content
An HTTP status code indicating the server successfully processed the request but is not returning any content.
This is the specific response Android devices expect from `connectivitycheck.gstatic.com` to confirm full internet access.
RFC 8910 (Captive Portal API)
An IETF standard that uses DHCP option 114 to explicitly notify a device of a captive portal's presence and provide the portal URL.
This modern standard replaces unreliable probe interception and is supported by newer versions of iOS and Android.
WebSheet
The sandboxed, limited-functionality mini-browser used by Apple's CNA to render captive portal splash pages.
Portal designers must test their pages in WebSheet, as it lacks features like password saving and full cookie support found in standard browsers.
MAC Authorisation
The process by which a gateway grants network access to a specific device based on its Media Access Control address after successful portal authentication.
Delays in applying MAC authorisation cause post-authentication probes (like Windows NCSI) to fail, leading to poor user experiences.
Probe Interception
The technique of capturing an operating system's background connectivity check and forcibly redirecting it to a captive portal login page.
This is the legacy, yet most common, method for triggering captive portals, requiring precise HTTP 302 redirects.
Estudos de Caso
A 300-room hotel reports that guests using iPhones are connecting to the guest WiFi but are not being prompted with the captive portal splash page. Android and Windows users are unaffected.
- Review the walled garden (pre-authentication) allowlist on the gateway.
- Identify that
captive.apple.comhas been added as a permitted passthrough host. - Remove
captive.apple.comfrom the passthrough list. - Configure the gateway to intercept HTTP requests to
captive.apple.comand redirect them (via HTTP 302) to the portal URL.
A conference centre's IT team receives complaints that Windows 11 users are authenticating successfully but are immediately prompted to sign in again, creating an endless loop.
- Verify that the captive portal gateway is successfully authorising the client's MAC address post-authentication.
- Inspect the post-authentication firewall rules to ensure traffic to
www.msftconnecttest.comanddns.msftncsi.comis permitted. - Adjust the gateway configuration to ensure MAC authorisation is applied instantaneously, preventing subsequent NCSI probes from being intercepted.
Análise de Cenário
Q1. You are deploying a captive portal for a large retail chain. The security team insists that all network traffic, including the initial portal redirect, must be encrypted using HTTPS. What is the technical implication of this policy?
💡 Dica:Consider how Apple's Captive Network Assistant (CNA) handles initial probe requests.
Mostrar Abordagem Recomendada
Enforcing HTTPS for the initial redirect will break Apple CNA detection. The CNA probe is an HTTP GET request. If the gateway intercepts this and redirects to an HTTPS URL, the CNA will not follow the redirect gracefully, resulting in a certificate error or a failure to open the portal. The initial interception must use HTTP port 80; the user can subsequently be redirected to an HTTPS page for authentication.
Q2. A stadium network engineer reports that Android devices are showing a 'Connected, no internet' warning without prompting the user to sign in. How should the walled garden be adjusted?
💡 Dica:Think about the difference between blocking a probe and intercepting it.
Mostrar Abordagem Recomendada
The engineer needs to ensure that connectivitycheck.gstatic.com is allowed to resolve via DNS within the walled garden, but the HTTP traffic must be intercepted and redirected. Currently, the firewall is likely dropping the traffic entirely, causing Android to assume the internet is down rather than detecting a captive portal.
Q3. A venue wishes to implement RFC 8910 (Captive Portal API) to improve the user experience. What infrastructure changes are required to support this?
💡 Dica:RFC 8910 relies on a positive signal during the IP assignment phase.
Mostrar Abordagem Recomendada
The venue must update its DHCP server or access points to advertise DHCP option 114. This option must provide the URL of the Captive Portal API endpoint. When compatible devices (iOS 16+, Android 11+) receive this option during the DHCP handshake, they will immediately fetch the API and prompt the user, bypassing the need for HTTP probe interception.



