OSX - Descubra se o telefone está conectado à rede Wi-Fi

1

Estou tentando encontrar programaticamente se meu telefone está conectado à rede atual, pois sei o endereço MAC do meu dispositivo.

Algo como isso, às vezes, funciona:

arp -a | grep "11:11:11:11:11:11"

Embora demore alguns segundos para encontrar resultados. E às vezes isso simplesmente não funciona. Qualquer ajuda é muito apreciada!

    
por bamboo_inside 16.05.2017 / 02:08

2 respostas

3

Em geral, usar sua tabela ARP como um mecanismo para descobrir se um dispositivo está presente não será confiável. Isso ocorre porque sua máquina só terá uma entrada ARP se tiver visto recentemente um pacote IP do telefone.

Uma maneira (não aconselhada) de fazer com que a pesquisa ARP / MAC funcione de forma confiável é executar ping em todos os endereços da rede local antes de tentar ver o que a tabela ARP contém. Isso pode funcionar porque o ping fará resolução de endereço para cada endereço como parte do processo de ping. Mas o ping de todos os endereços possíveis na rede local pode ser visto como anti-social.

Outra possibilidade é usar o Bonjour . O Bonjour permite que os dispositivos se encontrem por meio de um mecanismo de transmissão que pode funcionar sem considerar o ARP.

    
por 16.05.2017 / 02:45
0

Portanto, use nmap .
Ou defina um IP estático e apenas ping it.
Ou se você tiver acesso ao Linux, tente algo como:

sudo iw dev wlan0 station get <peer-MAC-address>
    
por 17.05.2017 / 00:41