Como posso encontrar o nome dos dispositivos conectados do ponto de acesso a partir da linha de comando?

2

Na minha máquina debian eu criei um hotspot (hostapd) e alguns dispositivos são conectados usando o Wi-Fi. Como posso obter o nome dos dispositivos conectados ex: xyz iphone, apple tv, john pc na linha de comando?

Observação: Atualmente estou obtendo o MAC e os endereços IP usando o comando arp , mas não o nome do dispositivo .

    
por praveen 18.08.2017 / 08:10

1 resposta

2

Lembrete rápido das camadas envolvidas: LAN e WLAN comunicam usando endereços MAC (nível OSI 2). O protocolo ARP informa qual endereço MAC pertence a qual endereço IP (nível 3 OSI). Os nomes das máquinas são tratados pelo DNS. Normalmente, o roteador doméstico executa um servidor DNS, no qual você pode inserir qual nome pertence a qual endereço MAC ou automaticamente usar nomes, se forem fornecidos pelo DHCP.

Então:

  1. Obtenha os MACs das estações conectadas usando iw wlan0 station dump , onde wlan0 é o SE do seu hotspot. Isso é mais confiável que o cache de arp, porque o cache de arp pode não incluir todas máquinas conectadas, e também pode incluir outras máquinas em outras LANs, etc. arp-scan também é menos confiável, porque ele tentará obter respostas ARP pela WLAN, mas o hotspot já sabe exatamente quais máquinas estão conectadas.

  2. Para cada um desses MACs, encontre o endereço IP correspondente. A única ferramenta de linha de comando para a qual posso pensar é arping , mas provavelmente há uma maneira melhor.

  3. Para cada um dos IPs, faça uma pesquisa reversa de DNS para usar o roteador doméstico, por exemplo, %código%.

Sim, é tão difícil e, se você quiser fazer isso corretamente, não pode usar atalhos. Pode haver alguma ferramenta que faça isso para você, mas eu não conheço nenhuma, então você terá que fazer o script.

    
por 18.08.2017 / 09:27