Translate

viernes, 20 de diciembre de 2013

[WINDOWS] - Averiguar direcciones MAC de un rango de IPs

(También lo podemos portar a un Ubuntu)

Hoy os voy a explicar como podemos averiguar las direcciones MAC de un rango concreto de direcciones IP pertenecientes a unos ordenadores desde una consola MS-DOS



En mi caso hemos renovado un aula completa y necesito saber las direcciones MAC para inventariar los equipos y actualizar la BD de nuestra red.




El truco consiste en hacer ping a cada una de las IPs del aula para posteriormente ejecutar el comando "arp -a"  en una consola de MS-DOS. 

Con la opción "-a" conseguimos todas las entradas registradas de direcciones IP y sus direcciones MAC correspondientes que nuestra tarjeta de rede ya conoce gracias a la ejecución previa del ping.




Para hacer un ping de forma automática sin tener que ir una a una, uso este script que lo hará por mi:



C:\> for /L %i in (1,1,23) do @ping 192.168.0.%i -n 1 |@find "TTL" > pingok.log |echo %i



Lo voy a explicar:



for /L %i in (1,1,23)



%i valdrá 1 (primer valor del for), luego el contador se irá incrementando de 1 en 1 (segundo valor del for) y finalmente le indicamos hasta donde queremos que llegue (en este caso sería el tercer valor). En mi caso quiero que haga un ping desde la dirección IP 192.168.0.1 hasta la IP 192.168.0.23.



Con @ping 192.168.0.%i -n 1, ejecutamos ping a la dirección IP especificada con el valor de %i y envía un solo paquete.



Con |@find "TTL" > pingok.log, el resultado del ping busca el valor TTL y si existe lo pasa al fichero pingok.log, de este modo podremos saber, consultando el contenido del archivo, que equipos tienen algún problema de red o simplemente se encuentran apagados ya que estos non aparecerán en el listado.



Finalmente |echo %i, lo utilizamos para poder ver la ejecución del proceso.


Podemos teclear directamente en la línea de comandos de la consola de MS-DOS el script o implementarlo en un archivo por lotes para que lo lo haga por mi.

Hecho esto, solamente tendremos que ejecutar:

C:\>arp -a > lista_de_IPs&MACs.txt (que también lo podemos implementar al final del mismo archivo batch).


No hay comentarios :

Publicar un comentario