Obtener nombres de dispositivos en la red

14

Quería saber los nombres de todos los dispositivos en la red. Ya probé sin gran éxito muchos comandos encontrados en la web, pero nada funcionó como quería.

Básicamente, cuando ingreso la configuración de mi enrutador, puedo obtener los nombres de los dispositivos que están conectados a mi red. Puedo obtenerlo también en algunas aplicaciones, así que supongo que se puede hacer de alguna manera.

Quiero una lista de nombres de todos los dispositivos conectados a mi red Wi-Fi a través de la línea de comandos.

Gracias


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
Federico Ponzi
fuente

Respuestas:

8

Tiendo a usar fing para esto, es un escáner que escanea la subred en la que se encuentra e intenta extraer nombres de host y mostrarlos junto con ip y 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 puede ver, no todos los dispositivos dan su nombre de host; por ejemplo, algunos periféricos como las impresoras no siempre proporcionan nombres de host, pero la mayoría de los dispositivos sí. Incluso intenta adivinar el fabricante analizando la parte id del MAC

Se ejecuta en Raspberry Pi, lo instalé en el mío hace un tiempo y funciona como se esperaba.

Jake
fuente
1
¿Cómo instalas fing? Su enlace está inactivo y no está incluido en ninguno de los repositorios de Raspberry Pi.
Patrick Cook
55
Indique cómo llamó a fing para obtener esa salida. Sin el comando, la respuesta está incompleta.
user666412
2
Solía apt-get install libpcap-dev ; wget https://www.fing.io/wp-content/uploads/2016/10/overlook-fing-3.0.deb ; dpkg -i overlook-fing-3.0.deb instalarlo y luego fingejecutarlo. No informó un nombre de host para mi Rpi, pero lo reconoció como HW Address: B8:27:EB:1B:E6:0C (Raspberry Pi Foundation).
Dave X
1
Ni siquiera se detectó un nombre de host en una red de 22 dispositivos en una primera red de prueba. Lo mismo con otros 24 anfitriones. Fing, por ahora (Febr 2018) me parece un desastre.
Sopalajo de Arrierez
55
¿El enlace sigue siendo correcto? Parece ser un producto IoT en lugar de una herramienta de línea de comandos ahora.
Venryx
8

Ninguna de las respuestas anteriores funcionó para mí, así que comencé a perder el tiempo con arp-scan. Entonces, lo que encontré trabajado fue:

arp-scan -I [WIFI INTERFACE] -l

arp-scan escanea su red y enumera los dispositivos. -I selecciona la interfaz y -l le dice a arp-scan que busque en la red local. A continuación, escriba

arp

Esto devolverá los dispositivos arp-scan recién ubicados y enumerará sus nombres de host y direcciones MAC.

GarrukApex
fuente
6

Creo que debe ser más preciso sobre su problema, especialmente la definición del nombre de un dispositivo .

Desafortunadamente, no tengo acceso a una Raspberry Pi en este momento, por lo que todo lo que se muestra aquí proviene de mi caja Debian 7.

nmap -sP realiza búsquedas de DNS inversas, por lo que si sus dispositivos tienen entradas de DNS inversas, su salida se verá así:

> 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).
…

Los hosts que bloquean las sondas de ping no aparecerán en la salida. Tampoco lo hará ningún host que no ofrezca servicios en los puertos que escanea con la -popción. Escanear todo el rango de puertos con -p 0-65535, mientras genera una huella de red significativa, aún no mostrará hosts que simplemente no tengan puertos abiertos.

La única información confiable que tiene sobre los hosts en su red es que tienen direcciones MAC e IP. Su servidor DHCP los conoce a ambos ya que ha asignado las direcciones IP. Además, muchos clientes DHCP envían un nombre de host incluido en su solicitud DHCP, por lo que el servidor DHCP tiene un nombre para este dispositivo, incluso si ese nombre no aparece en ningún otro lugar (DNS, SMB, ...).

Lamentablemente, su servidor DHCP no parece informar las direcciones IP asignadas dinámicamente a su servidor de nombres, por lo que no puede recuperar esta información.

Para encontrar todos los dispositivos dentro de su red, puede volcar la tabla ARP después de hacer ping a todos los hosts (por ejemplo, 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
…

Con las direcciones MAC e IP, tiene la única información coherente sobre el entorno de su red. La búsqueda de un puerto abierto 445 le mostrará los dispositivos que probablemente admitan SMB (es decir, la red de Windows) y, por lo tanto, tienen un nombre de Windows.

La conexión a otros puertos abiertos (por ejemplo, 21 / ftp, 22 / ssh, 23 / telnet, ...) también puede ofrecer los nombres de host, pero siempre de forma dependiente del protocolo, y los hosts teóricamente pueden llamarse a sí mismos de manera diferente en todos los puertos.

Alternativamente, puede configurar su propio servidor DHCP y DNS en el Pi y proporcionar un servicio DNS inverso que funcione.

Si todos sus dispositivos son compatibles con Zeroconf , es posible que pueda hacer un descubrimiento de dispositivos de esta manera.

ua2b
fuente
3

Para obtener el nombre del dispositivo de los hosts de Windows, use

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

(fuente: http://www.blackbytes.info/2013/07/finding-windows-host/ )

rand
fuente
Ciao Simone! Esto solo funciona para hosts de Windows, pero necesito descubrir cada nombre de dispositivo en mi red.
Federico Ponzi
1
Puedo estar equivocado, pero no estoy seguro de cuál sería el concepto de "nombre de dispositivo" para una máquina Linux. Lo más parecido que se me ocurre es el nombre de host definido en / etc / HOSTNAME o / etc / hostname, pero no sé si puede obtenerlo preguntando a la máquina (a menos que, por supuesto, un servidor DNS lo proporcione) .
rand
1

En Linux, puede usar nbtscanpara lograr lo que busca.

Ejecutar sudo apt-get install nbtscanpara instalar.

Para ver los nombres de host del dispositivo conectados a su red,

plazo sudo nbtscan 192.168.0.1-192.168.0.255,

suponiendo que el host esté en 192.168.0.1y use una máscara de subred de 255.255.255.0. Ajuste el rango de IP de acuerdo con la configuración de su red.

TheLinuxEvangelist
fuente
Esto solo puede resolver nombres NetBIOS.
Pierz
Y, para mis pruebas, parece que no muestra todos los nombres de NetBIOS en la red.
Sopalajo de Arrierez
0

Aquí se refieren tres respuestas, nmappero encontré el prefijo sudo(que ninguna de las respuestas hace) hace toda la diferencia en el mundo:

$ nmap -sP 192.168.1.0/24

Starting Nmap 7.01 ( https://nmap.org ) at 2019-07-13 14:55 MDT
Nmap scan report for 192.168.1.65
Host is up (0.00037s latency).
Nmap scan report for 192.168.1.66
Host is up (0.00035s latency).
Nmap scan report for 192.168.1.67
Host is up (0.00028s latency).
Nmap scan report for 192.168.1.68
Host is up (0.00025s latency).
Nmap scan report for 192.168.1.70
Host is up (0.017s latency).
Nmap scan report for 192.168.1.254
Host is up (0.00070s latency).
Nmap done: 256 IP addresses (6 hosts up) scanned in 6.86 seconds

$ sudo nmap -sP 192.168.1.0/24

Starting Nmap 7.01 ( https://nmap.org ) at 2019-07-13 14:56 MDT
Nmap scan report for 192.168.1.65
Host is up (0.00050s latency).
MAC Address: 99:99:99:99:99:A6 (Unknown)
Nmap scan report for 192.168.1.66
Host is up (0.00016s latency).
MAC Address: 99:99:99:99:99:D9 (Sony)
Nmap scan report for 192.168.1.70
Host is up (-0.087s latency).
MAC Address: 99:99:99:99:99:36 (Unknown)
Nmap scan report for 192.168.1.254
Host is up (0.0020s latency).
MAC Address: 99:99:99:99:99:00 (Actiontec Electronics)
Nmap scan report for 192.168.1.67
Host is up.
Nmap scan report for 192.168.1.68
Host is up.
Nmap done: 256 IP addresses (6 hosts up) scanned in 2.41 seconds

Me topé con estas preguntas y respuestas porque estoy investigando un proyecto sobre cómo mostrar nombres legibles para humanos en lugar de direcciones IP codificadas por computadora y direcciones MAC en dispositivos.

En particular, quiero que se muestre "Toshiba 43" 4K TV "en lugar de" (desconocido) "para MAC 99:99:99:99:99:36(dirección no real) arriba.

Más tarde, quiero expandir el proyecto más allá de la red de área local a Internet, donde se mostrará " Stack Exchange " en lugar de 999.999.9.99" Preguntar Ubuntu " en lugar de 999.999.9.99cuando esté mirando direcciones IP externas con las que mi máquina está interactuando.

WinEunuuchs2Unix
fuente
-1

jcbermu está muy cerca, pero desde la página de manual de 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.

Si está almacenado en una entrada rDNS, esto lo encontrará; de lo contrario, es posible que deba escuchar las solicitudes de DHCP e interceptarlas.

SailorCire
fuente
-2

Necesitas nmap . Emita un comando como:

nmap -sP 192.168.1.0/24

y hará un descubrimiento de red en la subred 192.168.1.0 - 192.168.1.255que le mostrará los nombres y las direcciones IP de todos los dispositivos en esa red.

jcbermu
fuente