Gostaria de saber se os dispositivos Android fazem uma verificação ativa ou passiva ao procurar o ponto de acesso. Eu já fiz um teste usando o Wireshark e o wifi sniffer e parece que enquanto um iPhone envia quadros de solicitação de sonda para descobrir os APs disponíveis (verificação ativa), meu dispositivo Android às vezes envia a moldura de solicitação de sonda, mas na maioria das vezes não envia Probe Request frames, mas aguarda o AP enviar um quadro Beacon (varredura passiva).
Estive procurando informações / documentação oficiais sobre esse tópico, mas ainda não encontrei nada útil. Ficaria muito grato se alguém pudesse me fornecer a resposta para esta pergunta.
wi-fi
hardware
networking
system
fragon
fonte
fonte
Respostas:
A única explicação "oficial" que encontrei está neste comentário (datado de julho de 2009) nos repositórios Git no android:
A existência de uma função oculta para iniciar uma verificação ativa (relatada aqui ) sugere que a função normal de verificação é realmente passiva. Porém, isso deve ser tomado com um pouco de sal, pois a documentação do Android não informa explicitamente se a função WifiManager.startScan () é passiva ou não.
Também relacionado: essas duas publicações no SO ( publicação 1 , publicação 2 ) relatam que a atividade de verificação é passiva (publicação 1) e que, desde o Android 4.3, nem é possível chamar o método de verificação ativa (publicação 2) - mas não há link para fontes oficiais.
fonte
Também procurei no documento oficial uma resposta exata. Mas não consegui encontrar nenhum. Por isso, estou escrevendo esta base minha própria suposição. Acredito que um dispositivo cliente (móvel neste caso) faz a verificação ativa e passiva. Minhas razões são as seguintes:
fonte