26 noviembre, 2011

Detectar los equipos conectados a una misma LAN area de red local (ping broadcast en Windows) - Parte I

Recién un lector de este blog me dijo: "Hace ya tiempo que no actualizas el blog, antes los hacías todos los días". Y tiene razón, pero es debido a mi falta de tiempo para preparar y publicar los artículos.
Por eso hoy me animé más y con algo de tiempo libre publico este pequeño artículo que seguro a este amigo mio le solucionará futuros problemas de intrusiones.

En ocasiones durante el mantenimiento de sistemas, necesitamos ver que equipos tenemos conectados a nuestra red local, esto también es útil para saber quien está conectado a tu red Wireless (es decir, "saber si el vecino entra en tu WiFi"). Pues este es un sistema para utilizar direcciones de broadcast. Lógicamente estos pasos los realizaremos en la Shell de Windows "CMD": Tecla Windows+R -> escribimos: cmd -> Enter.

Vamos a utilizar para ello la dirección de red: 192.168.1.1/24 el 24 representaría los bits a '1' de modo que quedaría una IP de clase C con máscara de 255.255.255.0, es decir solo el último octeto para hosts finales menos el 0 que sería la dirección de red, que sería reservada siempre para ese fin, el 1 que sería el gateway o puerta de enlace (no está reservada para este fin pero es casi siempre utilizable y en una red domestica sería la configuración por defecto) y el 255 que sería la dirección broadcast, y está si está reservada para este fin. Por lo tanto, nos quedarían direcciones para hosts finales desde la 2-254 (incluyendo estos).
Antes mencionar que este tip es para OS Windows pero antes explicaré como se realiza en OS Linux, debido a que su uso es más facil.
> En Linux bastaría con abrir una terminal y escribir:
ping 192.168.0.255 -b
Despues solo quedaría tipear un:
arp -a
Ya tendríamos la lista de IP y direcciones MAC (Media Access Control).

> En windows es un poco más "complicado". Ya que no existe la opción de broadcast como tal en el comando ping, y no nos permite ninguna posibilidad dentro de sus argumentos para hacer por ejemplo un: ping 192.168.1.255.
Así que tenemos dos opciones:
Aprendernos de memoria la siguiente linea de código o generar un fichero .bat, (que podremos guardar y ejecutar siempre que deseemos) que contenga esta linea de código:


for /l %i in (1,1,254) do ping -w 50 -n 1 192.168.1.%i
Quién tenga un nivel básico de programción ya sabría interpretar un bucle for. Pero para aquellas personas que no sepan y no se limiten simplemente a copiar/pegar, pasaré a explicar brevemente que hace este script:
for: Realizamos un bucle, para que recorra todas las direcciones IP posibles de nuestra red.
/l: Con este argumento estaríamos especificando que se trataría de un bucle que recorre una sucesión de números que va desde una inicio hasta un fin.
%i: El % inicia una variable que en este caso le llame i.
in: marcamos los parámetros que queremos que se recorran del bluque for.
(1,1,254): Los parámentros están entre paréntesis y separados por coma en un orden especifico: (inicio, paso, fin). Por lo tanto, en este caso recorrerá desde el número 1 hasta el 254.
do: Indicamos el comando DO para determinal lo que queremos que recorra.
ping -w 50 -n 1: Realizará un ping con (-n 1) tan solo 1 respuesta de echo y con (-w 50) un tiempo de solicitud de 50 milisegundos.
192.168.1.%i: La dirección IP que recorrerá el for indicándole que el %i (colocada en el último octeto) es la variable que tiene que ir recorriendo hasta el limite marcado en los parámetros del IN (254).

Luego realizamos un:
arp -a
Y nos mostrará todas las entradas IP y address MAC en nuestra tabla ARP (Address Resolution Protocol).

* Entradas relacionadas:
Detectar los equipos conectados a una misma LAN area de red local (ping broadcast en Windows) - Parte I
DiLAN: Detectar los equipos conectados a una misma red local - Parte II

10 Comentarios :

xian dijo...

Asi da gusto, ya no tengo que preocuparme de que algun "sujeto" o tambien llamado vecino en algunos casos vuelva a querer robarme mi preciado...me arriesgare a llamarlo "IEEE 802.11b" jajajaj ya que ahora los tendre mas controlados.

Gracias por la entrada Adri

Adrián Lois - ZonaSystem.com dijo...

@xian
De nada, la publiqué precisamente por tu caso en particular. Y estoy creando un Script Shell en plan "mini-tool" para optimizar y agilizar este tipo de tarea. Cuando lo acabe lo subiré el código para que cualquiera la pueda usar y/o mejorar.

No solo b, las más utilizadas por los dispositivos aquí en España suelen ser: b/g/n

Nos vemos ;)

Anónimo dijo...

un poco tarde lo vi, pero me ha gustado, ahora lo que falta es saber interpretar las ips arrojadas :S, por ahora me ha devuelto esto:

Interfaz: 192.168.0.103 --- 0xb
Dirección de Internet Dirección física Tipo
192.168.0.1 00-26-5a-ac-fb-46 dinámico
192.168.0.105 00-30-67-6d-19-f9 dinámico
192.168.0.255 ff-ff-ff-ff-ff-ff estático
224.0.0.22 01-00-5e-00-00-16 estático
224.0.0.252 01-00-5e-00-00-fc estático
224.0.0.253 01-00-5e-00-00-fd estático
239.255.255.250 01-00-5e-7f-ff-fa estático
255.255.255.255 ff-ff-ff-ff-ff-ff estático

Adrián Lois - ZonaSystem.com dijo...

@Anónimo
Hola, te aconsejo que mires esta entrada:
http://www.zonasystem.com/2012/01/dilan-detectar-los-equipos-conectados.html

Es un script en batch, que hice posterior a esta entrada y basándome en esto.

Espero que este te ayude más. Estoy seguro de que si.

Un Saludo

Anónimo dijo...

ey, mil gracias. muy bueno ese bat. muy útil tu información, felicitaciones.
y gracias por tu ayuda. (soy el del post anterior)

will smith dijo...

Adrian Lois gracias por la info.. siempre miro tus post. por lo que sabes y por no ser egoista te admiro , quisiera consultarte algo en privado no se si te molesta que abuse de tu privacidad y de tu tiempo puedes escribirme xfa al email willsmith707070@gmail.com

josemaria dijo...

muy bueno che...es lo que andaba buscando..te felicito por lo hecho y compartirlo

Pablo dijo...

y si quisieramos ampliar el rango a 192.0.0.1 a 192.255.255.255 como hariamos

Unknown dijo...

usen el comando net view

Adrián Lois dijo...

Net view no permite ver los hosts conectados de forma inalámbrica.
Esta entrada se escribió hace tiempo, igualmente todo se resumen en el uso de nmap.
"nmap -sP 192.168.1.0/24"
Y listo.

Saludos.

Publicar un comentario

Entradas Relacionadas