Me compré el otro día una caja para un disco duro externo con conexión USB y ethernet.
Me pareció buena idea esto de tener un disco directamente conectado al router, como si hiciera de servidor de archivos (música, imágenes, documentos…) porque si un día quiero acceder a su contenido desde otra máquina no es necesario que esté encendido el pc, que es desde donde tengo las particiones y carpetas compartidas mediante samba.
El disco duro va conectado directamente al router y desde ahí se le asigna una IP interna, a la cual tengo que acceder a través de un navegador web para poder configurarlo.
Mi router suele asignar direcciones a partir del 33 para arriba, pero a partir de esa numeración ir probando una a una hasta que dé con la correcta… Bueno en realidad siempre se asignan muy seguidas y en un par o tres de intentos habría dado con ella, pero yo me preguntaba si existía algún comando que me diera las IP de todos los dispositivos de mi red.
Y encontré el comando perfecto o al menos exactamente lo que yo andaba buscando, se llama findsmb, es un script escrito en perl que forma parte de samba. Escanea y lista información de los dispositivos que encuentra en la red local, dándonos la siguiente información:
-Número de IP.
-Nombre NETBIOS de la máquina.
-El grupo de trabajo en el que se encuentra.
-Tipo de sistema operativo.
-Versión de samba que está corriendo.
Para el propósito que yo estaba buscando, otra opción que podría haber usado y que me habría sido igualmente muy válida es nmblookup + nombre dispositivo. Este comando resuelve el nombre NETBIOS de una máquina en dirección IP.
Por ejemplo en mi red se localizaba el dispositivo STORAGEXXX (xxx=números que no recuerdo cuales son) pues podría haber hecho:
nmblookup STORAGEXXX
Os dejo una captura que acabo de realizar con un ejemplo de este par de comandos que he comentado, espero os sea de utilidad 
