Obtenha o nome dos dispositivos na rede

9

Como no título, eu queria saber o nome de todos os dispositivos na rede. Eu já tentei sem grande sucesso muitos comandos encontrados na web, mas nada funcionou como eu queria.

Basicamente, quando entro nas configurações do meu roteador, posso obter o nome dos dispositivos que estão conectados à minha rede. Eu também consigo algumas aplicações, então acho que pode ser feito de alguma forma. Eu quero uma lista de nome de todos os dispositivos conectados à minha rede Wi-Fi via linha de comando.

Obrigado

Exemplo:

pi@raspberrypi ~ $ nmap -sP 192.168.4.0/24

Starting Nmap 6.00 ( http://nmap.org ) at 2015-03-05 13:55 UTC
Nmap scan report for 192.168.4.1
Host is up (0.0055s latency).
Nmap scan report for 192.168.4.2
Host is up (0.42s latency).
Nmap scan report for 192.168.4.4
Host is up (0.045s latency).
Nmap scan report for 192.168.4.5
Host is up (0.47s latency).
Nmap scan report for 192.168.4.6
Host is up (0.0032s latency).
Nmap scan report for 192.168.4.7
Host is up (0.79s latency).
Nmap scan report for 192.168.4.8
Host is up (0.0024s latency).
Nmap scan report for 192.168.4.9
Host is up (0.038s latency).
Nmap scan report for 192.168.4.10
Host is up (0.034s latency).
Nmap scan report for 192.168.4.11
Host is up (0.029s latency).
Nmap scan report for 192.168.4.22
Host is up (0.12s latency).
Nmap scan report for 192.168.4.27
Host is up (0.031s latency).
Nmap scan report for 192.168.4.28
Host is up (0.012s latency).
Nmap scan report for 192.168.4.100
Host is up (0.0038s latency).
Nmap done: 256 IP addresses (14 hosts up) scanned in 49.30 seconds
    
por Federico Ponzi 05.03.2015 / 14:25

7 respostas

7

Eu costumo usar fing para isso, é um scanner que varre a sub-rede em que você está e tenta extrair nomes de host e exibi-los ao lado de ip e MAC.

Ex:

14:19:05 > Discovery profile: Default discovery profile
14:19:05 > Discovery class:   data-link (data-link layer)
14:19:05 > Discovery on:      192.168.1.0/24

14:19:05 > Discovery round starting.
14:19:05 > Host is up:   192.168.1.151
           HW Address:   XX:XX:XX:XX:XX:XX
           Hostname:     My-laptop-hostname

14:19:05 > Host is up:   192.168.1.1
           HW Address:   YY:YY:YY:YY:YY:YY
           Hostname:     router.asus.com

14:19:06 > Discovery progress 25%
14:19:07 > Discovery progress 50%
14:19:08 > Discovery progress 75%
14:19:05 > Host is up:   192.168.1.10
           HW Address:   AA:BB:CC:DD:EE:FF (ASUSTek COMPUTER)

14:19:05 > Host is up:   192.168.1.11
           HW Address:   GG:HH:II:JJ:KK:LL

14:19:06 > Host is up:   192.168.1.99
           HW Address:   MM:NN:OO:PP:QQ:RR (Apple)
           Hostname:     iPhoneOfSomeone

Como você pode ver, nem todos os dispositivos fornecem seu nome de host; por exemplo, alguns periféricos, como impressoras, nem sempre fornecem nomes de host, mas a maioria dos dispositivos faz isso. Ele ainda tenta adivinhar o fabricante, analisando a parte id do MAC

Ele roda no Raspberry Pi, eu instalei no meu há um tempo atrás e ele funciona como esperado.

    
por 17.03.2015 / 14:28
5

Essa é uma pergunta antiga, mas acabei de descobrir e resolvi postar para ajudar alguém com um problema semelhante no futuro. Nenhuma das respostas acima funcionou para mim, então comecei a brincar com o arp-scan. Então, o que eu encontrei funcionou foi:

arp-scan -I [WIFI INTERFACE] -l

arp-scan varre sua rede e lista dispositivos. -Escolha a interface e -l diz ao arp-scan para ver a rede local. Em seguida, digite

arp

Isso retornará os dispositivos arp-scan localizados e listará seus nomes de host e endereços MAC.

Espero que isso seja capaz de ajudar outra pessoa no futuro.

    
por 08.08.2017 / 05:27
3

Para obter o nome do dispositivo dos hosts do Windows, use

nmap --script smb-os-discovery -p 445 192.168.1.0/24

(fonte: link )

    
por 05.03.2015 / 15:13
3

Eu acho que você precisa ser mais preciso sobre o seu problema, especialmente a definição de um nome do dispositivo .

Infelizmente eu não tenho acesso a um Raspberry Pi no momento, então tudo exibido aqui vem da minha caixa Debian 7.

nmap -sP faz pesquisas reversas de DNS, portanto, se seus dispositivos tiverem entradas DNS reversas, sua saída será semelhante a:

> nmap -sP 192.168.4.0/24
Starting Nmap 6.00 ( http://nmap.org ) at 2015-03-12 06:24 CET
Nmap scan report for device1.local (192.168.4.1)
Host is up (0.0021s latency).
Nmap scan report for device2.local (192.168.4.2)
Host is up (0.014s latency).
…

Os hosts que bloqueiam os testes de ping não aparecerão na saída. Nem os hosts que não oferecem serviços nas portas que você varre usando a opção -p . A varredura de todo o intervalo de portas com -p 0-65535 , enquanto gera uma pegada de rede significativa, ainda não mostrará hosts que simplesmente não possuem portas abertas.

A única informação confiável que você tem sobre hosts em sua rede é que eles têm endereços MAC e IP. Seu servidor DHCP conhece os dois desde que tenha atribuído os endereços IP. Além disso, muitos clientes DHCP enviam um nome de host incluído em sua solicitação DHCP, portanto, o servidor DHCP tem um nome para esse dispositivo, mesmo que esse nome não apareça em nenhum outro lugar (DNS, SMB,…).

Infelizmente, o servidor DHCP não parece informar os endereços IP atribuídos dinamicamente ao seu servidor de nomes, portanto você não pode recuperar essas informações.

Para encontrar todos os dispositivos em sua rede, é possível despejar a tabela ARP depois de executar ping em todos os hosts (por exemplo, usando nmap -sP ):

> arp -vn
Address               HWtype  HWaddress           Flags Mask            Iface
192.168.4.1           ether   12:34:56:78:9a:bc   C                     wlan0
192.168.4.2           ether   11:22:33:44:55:66   C                     wlan0
…

Com os endereços MAC e IP, você tem apenas as informações consistentes sobre sua vizinhança de rede. O teste de uma porta aberta 445 mostrará a você dispositivos que provavelmente suportam SMB (ou seja, rede Windows) - e, portanto, têm um nome de janela.

A conexão com outras portas abertas (por exemplo, 21 / ftp, 22 / ssh, 23 / telnet,…) também pode oferecer os nomes de host, mas sempre de um modo dependente de protocolo - e os hosts podem teoricamente se chamar de forma diferente em todas as portas.

Como alternativa, você pode configurar seu próprio servidor DHCP e DNS no Pi e fornecer um serviço DNS reverso funcional.

Se todos os seus dispositivos suportarem Zeroconf , você poderá fazer uma descoberta de dispositivo dessa maneira.

    
por 12.03.2015 / 07:24
1

No Linux, você pode usar nbtscan para conseguir o que procura.

Execute sudo apt-get install nbtscan para instalar.

Para ver os nomes de host do dispositivo conectados à sua rede,

execute sudo nbtscan 192.168.0.1-192.168.0.255 ,

assumindo que o host esteja em 192.168.0.1 e use uma máscara de sub-rede de 255.255.255.0 . Ajuste o alcance do IP de acordo com sua configuração de rede.

Espero que isso ajude!

    
por 01.10.2016 / 20:05
-1

O jcbermu é muito próximo, mas da página man do nmap:

-sL (List Scan) .
       The list scan is a degenerate form of host discovery that simply lists each host of the network(s) specified, without sending any packets to the target hosts. By default, Nmap still does
       reverse-DNS resolution on the hosts to learn their names.

Se ele estiver armazenado em uma entrada rDNS, isso o encontrará, caso contrário, talvez você precise escutar as solicitações DHCP e interceptá-las.

    
por 05.03.2015 / 16:12
-2

Você precisa do nmap . Emita um comando como:

nmap -sP 192.168.1.0/24

e ele fará uma descoberta de rede na sub-rede 192.168.1.0 - 192.168.1.255 mostrando seus nomes e endereços IP de todos os dispositivos nessa rede.

    
por 05.03.2015 / 14:54