11Aug
O Windows é bastante habilidoso em dizer-lhe se você possui uma conexão de internet que funciona corretamente, mas como exatamente isso acontece? Explorar a forma como o Windows lida com o problema oferece uma visão das mensagens de conectividade do Windows.
Today's Question &A sessão de resposta vem a nós com cortesia do SuperUser - uma subdivisão do Stack Exchange, um grupo de unidade comunitária de sites Q e A.
O questionário
SuperUser N. Hinkle coloca a seguinte pergunta sobre o processo de verificação e autenticação da Internet do Windows:
No Windows 7, o ícone de rede da área de notificação mostrará um indicador de erro se não houver acesso à internet e o ícone de erro desapareceruma vez que existe uma conexão bem sucedida com a internet.Às vezes, se a conexão Wi-Fi requer um passo de autenticação no navegador, como em muitas redes convidadas em hotéis ou universidades, aparece a seguinte bolha pop-up, dizendo tanto quanto:
Como o Windows sabe se possui ou não uma internet bem-sucedidaconexão?
Presumivelmente, está verificando algum serviço online da Microsoft para ver se ele possui uma conexão bem-sucedida, é redirecionado para alguma outra página ou não recebe nenhuma resposta, mas não vi em nenhum lugar que esse processo ou os serviços usados sãodocumentado. Alguém pode explicar como isso funciona?
Essas verificações são uma das muitas coisas que damos por adquiridas ao usar um sistema operacional moderno, mas mesmo os elementos mais aceitos para a experiência do usuário têm um mecanismo subjacente. Como o Windows nos diz se existe uma conexão com a internet e se precisamos ou não fazer login em um portal de autenticação Wi-Fi?
A resposta
Contribuinte do SuperUser Tobias Plutat oferece alguma visão sobre o processo:
Depois de algumas escavações( o grande número de serviços relacionados à rede e à Internet no Windows é surpreendente), acho que encontrei. O Windows Vista e o 7 possuem uma variedade de recursos de Consciência de Rede, um dos quais é o Indicador de Status de Conectividade de Rede que executa testes de conectividade que, por sua vez, são usados pelo ícone de rede do systray. O teste para conectividade com a internet é simples:
- NCSI tenta carregar uma página específica via HTTP( mais precisamente: um documento de texto) e verifica se ela pode ser recuperada.
- Se isso não for bem-sucedido, o Windows informa "Sem acesso à Internet".
O mecanismo também verifica se o domínio em que o documento está hospedado resolve o endereço IP esperado. Assim, também pode assumir o acesso apropriado à Internet se esse teste for bem-sucedido, mas o documento não pode ser recuperado.
A razão pela qual ele informa "Sem Acesso à Internet" quando você não se autenticou em um Hotspot ainda está na forma como um Hotspot funciona. Ele bloqueia todas as portas além de 80 e 443( para HTTP e HTTPS, respectivamente), que são redirecionadas para o servidor de autenticação do Hotspot e podem mexer com pedidos de DNS de uma forma ou de outra. Assim, o NCSI não pode resolver o domínio em que o seu arquivo de teste está hospedado, e mesmo que ele não atinja o arquivo real porque o tráfego HTTP é redirecionado para o servidor de autenticação.
Outro contribuidor, Jeff Atwood, destaca algumas citações do documento Referências de Tobias:
Aqui estão os detalhes do processo de determinação do status da conexão:
A lista a seguir descreve como o NCSI pode se comunicar com um site para determinar se uma rede possui conectividade com a Internet:
- Uma solicitação de resolução de nomes DNS de dns.msftncsi.com
- Uma solicitação HTTP para http: //www.msftncsi.com/ ncsi.txt retornando 200 OK e o textoMicrosoft NCSI
Isso pode ser desativado com uma configuração de registro. Se você definir:
HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ NlaSvc \ Parameters \ Internet \ EnableActiveProbing
para 0, o Windows não poderá mais pesquisar a conectividade com a internet.
A Apple faz algo muito similar no iOS para detectar a conectividade com a internet e possíveis páginas de wifi de "login" do hotel, etc.
Enquanto este processo inteiro geralmente é 100% transparente para os usuários finais, ocasionalmente após a autenticação através do portal da Web de um ponto de acesso Wi-Fi, você se verá olhando para o conteúdo atual do NSCSI.txt. Como você acabou olhando para um documento de texto indefinido em vez da página da Web que você estava tentando carregar não é mais um mistério quando combinado com as respostas anteriores sobre o assunto.
Tem alguma coisa a adicionar à explicação? Som na parte dos comentários. Deseja ler mais respostas de outros usuários Tech-savvy Stack Exchange? Confira o tópico de discussão completo aqui.