Escanear una red en XP, Scanning a network using cmd for ping find



Mi vecino me pidió "prestada" Internet asi que conectamos un cable a nuestro Switch, hoy me preguntaba a mi mismo cuál es su IP pero sin usar una herramienta externa, entonces me puse a jugar y escribí este comando, debido a que el For sí soporta incrementos de a pasos dados en Windows XP/2000/vista:

For /L %i in (1,1,255) do ping -a -n 1 -w 50 10.0.0.%i

Esto lo que hace es un único Ping a la dirección 10.0.0.n donde n va de 1 a 255

hasta acá esta bueno para mi, pero tiene el tema que te va a tirar 255 resultados y yo a los 8 pings me cansé, y claro, despues te vas a volver loco buscando cual dio paquete perdido 1 y cual 0, entonces, recordando a los viejos bat, y los errorlevels, deberia ir el ping y abajo if errorlevel==0 echo IP, pero el For no soporta ejecutar 2 comandos cuando lleva el parametro /L, y usar dos bat es poco elegante.
asi que llegué a este otro:

For /L %i IN (1,1,255) do ping -w 50 -n 1 10.0.0.%i >> resultados.txt

donde tenes que abrir el txt y poner buscar: recibidos = 1 , pero es feo, asi que no me gustó y quedé en esta, que te abre el notepad con los resultados filtrados:

cmd /c @for /L %i IN (1,1,255) do ping -w 50 -n 1 10.0.0.%i | find "TTL=" && @ECHO %i >> resultados | notepad resultados

el problema del ping es que no siempre devuelve 0 cuando encuentra una máquina que responde.

Explicacion de los parametros:

cmd /c ejecuta un comando y vuelve, es para que no nos abra el notepad cada vez que encuentra una compu, el For /L nos permite darle al for un rango de números y el step, ping -w50 es el tiempo de espera en milisegundos, n 1 es la cantidad de paquetes que tiene que enviar. Find busca el TTL cuando responde y muestra esa línea, y para que quede mas bonito, al terminar ( cmd /c) abre un notepad con los resultados. o sea que el más práctico es:

cmd /c for /L %i IN (1,1,255) do ping -w 50 -n 1 10.0.0.%i | find "TTL=" && @ECHO %i

Esto nos devuelve la siguiente pantalla:

Respuesta desde 10.0.0.2: bytes=32 tiempo<1m TTL=64
Respuesta desde 10.0.0.3: bytes=32 tiempo<1m TTL=128
Respuesta desde 10.0.0.4: bytes=32 tiempo<1m TTL=128
Respuesta desde 10.0.0.31: bytes=32 tiempo<1m TTL=128

Comentarios

Entradas más populares de este blog

Volkswagen Gol Trend 2014 - «Servicio Ahora»