
Gracias a un mantenimiento de registros poco estricto por parte de nuestro (¡ej! :-) administrador de red, tengo la tarea de encontrar qué dispositivos QNAP y Synology NAS existen en nuestra empresa. Tenemos varios cientos de oficinas repartidas por todo el Reino Unido y todas ellas son redes y dominios separados. Todos están basados en Windows (una mezcla de Server 2k3, 2008 y 2012). Ejecutamos nuestro propio software de monitoreo casero que me permite ejecutar cualquier software que desee de forma remota.
QNAP y Synologies tienen direcciones MAC distintivas, por lo que si puedo escanear la red en busca de direcciones MAC y canalizar la salida a un archivo, puedo obtener fácilmente la información que necesito. La pregunta es cómo obtener una lista de todas las direcciones MAC en la LAN.
El primer paso obvio es simplemente ejecutararp -a, y probablemente seguiré adelante y haré esto de todos modos. Sin embargo, esto sólo mostrará los dispositivos que el servidor ha visto dentro del tiempo de espera de caché de arp. ¿Alguien sabe una manera fácil de conseguir?todo¿dispositivos? Por fácil me refiero a algo integrado en Windows; preferiría no tener que instalar ningún software, ya que estamos hablando de cientos de oficinas diferentes. nmap tiende a mencionarse en estas ocasiones, pero los ports de Windows parecen necesitar la instalación de bibliotecas adicionales. Si tengo que usar un escáner externo, sería bueno tener un ejecutable que pueda copiarse en el servidor y ejecutarse.
PD:una aclaración rápida:
El escáner debe ser una aplicación de línea de comandos para poder activarlo de forma remota y hacer que el resultado vaya a un archivo para su posterior análisis. No puede depender de Java ya que no hay garantía de que todos los servidores tengan Java. Estoy bastante seguro de que todos los servidores tendrán al menos .Net 2.0. Supongo que, en caso de necesidad, podría crear una aplicación .Net 2.0 rápida para hacer ping a todas las direcciones posibles en la red y obtener la dirección MAC asociada con cualquier respuesta...
Respuesta1
La forma más rápida/fácil es generalmente tomar las tablas arp de sus conmutadores (suponiendo que tenga conmutadores administrados; de lo contrario, prepárese para mucho dolor) y filtrarlas según las direcciones MAC asignadas al fabricante de las tarjetas de red. ) estas buscando. Tiendo a usar este sitio.para vincular MAC a proveedores y viceversa, pero ciertamente hay otros disponibles.
Si sus conmutadores no están administrados, por lo que no puede obtener fácilmente las tablas arp desde una ubicación central, el siguiente mejor enfoque es encontrar una máquina en cada segmento de la red desde donde pueda transmitir y luego buscar la tabla arp local. Lo cual... está lejos de ser ideal, pero realmente es la mejor solución entre muchas malas opciones. En lugar de iniciar sesión interactivamente en todas estas máquinas, como parece sugerir en su pregunta,Usaría algún método para obtener una línea de comando remotadesde una ubicación central, como su estación de trabajo. WinRM, la comunicación remota con PowerShell e incluso PSexec son opciones relativamente fáciles para lograr este objetivo que pueden ser adecuadas o no para usted, dependiendo de cómo esté configurado su entorno.
Ah, y déjenme agregar, en lugar de hacer ping a cada dirección o escribir una aplicación para hacerlo, sería más rápido simplemente presionar el botóndirección de transmisión para cada una de sus subredes o la dirección de transmisión global, si esta es la ruta por la que acabas yendo. (La dirección de transmisión es la dirección que está .255
en el último octeto y la dirección de transmisión global es 255.255.255.255
).
Respuesta2
Has probado Angry IP Scanner
?
Creo recordar que era un único ejecutable.
He usado Fing en Linux antes, que se puede ejecutar en una línea de comando y enviar a una línea de comando.
Respuesta3
Si puede localizar de manera predecible un volumen montado, puede identificar la dirección IP y luego rastrear si se trata de uno de sus dispositivos erróneos. Deberá ejecutar un net use
comando localmente o mirar cualquier unidad asignada persistente en el registro.
Luego, ya sea buscando información en el nombre en sí o intentando hacer un ping desde el servidor, se devolverá la dirección MAC.