elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Algoritmo para escanear direcciones IP en una red local
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Algoritmo para escanear direcciones IP en una red local  (Leído 11,858 veces)
Enemy

Desconectado Desconectado

Mensajes: 285


Que vuelva el personal de hace 15 años al foro!


Ver Perfil
Algoritmo para escanear direcciones IP en una red local
« en: 14 Julio 2021, 13:11 pm »

Buen dia.

Les comento, quiero desarrollar una herramienta de escaneo de direcciones IP en una red pero no se que lenguaje usar o que api. Los lenguajes que conozco son Java(android), javascript, C#, vb6.

Preferiria hacerlo en vb6 por cuestiones de comodidad. Pero si no se puede, lo hago en otro lenguaje.

Algo lei de python y este tipo de trabajo pero no conozco python, aunque ya vi el algoritmo que utiliza para el escaneo. Alguna recomendacion?


En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Algoritmo para escanear direcciones IP en una red local
« Respuesta #1 en: 14 Julio 2021, 14:59 pm »

VB6? sabes que eso fue descontinuado hace 20 años verdad?  :rolleyes: en tal caso .net

para hacer un escaneo lo que necesitas es acceso a socket o si no tienes suficiente experiancia con el protocolo tcp/ip y manejo de paquetes icmp, entonces que el programa tenga acceso a ejecutar comando y usar la herramienta ping

sobre el agoritmo es simple un ciclo y vas probando ip por ip... ya dependerá de la dirección base, y mascara de red cual sea tu alcance, siempre es buena idea aquí usar multihilo para consultar multiples en simultaneo


En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
Enemy

Desconectado Desconectado

Mensajes: 285


Que vuelva el personal de hace 15 años al foro!


Ver Perfil
Re: Algoritmo para escanear direcciones IP en una red local
« Respuesta #2 en: 14 Julio 2021, 18:39 pm »

VB6? sabes que eso fue descontinuado hace 20 años verdad?  :rolleyes: en tal caso .net

para hacer un escaneo lo que necesitas es acceso a socket o si no tienes suficiente experiancia con el protocolo tcp/ip y manejo de paquetes icmp, entonces que el programa tenga acceso a ejecutar comando y usar la herramienta ping

sobre el agoritmo es simple un ciclo y vas probando ip por ip... ya dependerá de la dirección base, y mascara de red cual sea tu alcance, siempre es buena idea aquí usar multihilo para consultar multiples en simultaneo

Si, pero aun tengo herramientas simples que siguen funcionando sobre win10.

Si, era algo asi el algoritmo de escaneo, el tema es que no sabia si habian comandos de consola para pingear un rango establecido de direcciones ip o si habia que usar alguna api del sistema.

Se puede conseguir los resultados con un simple batch o necesito desarrollar algo mas complejo? En ese caso, que lenguaje recomendas?

pd: En cuanto a exp con sockets, algo tengo, justamente en vb6 y winsock. Podrias explicar un poco mas?

Gracias.
En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Algoritmo para escanear direcciones IP en una red local
« Respuesta #3 en: 14 Julio 2021, 19:02 pm »

Citar
para pingear un rango establecido de direcciones ip o si habia que usar alguna api del sistema.

si quieres un programa que ya lo haga revisa nmap que es para consola de comandos y está muy bien diseñadp y optimizado (tambien tienes zenmap que es nmap + una interfaz grafica)

sobre si quieres desarrollarlo, el lenguaje, el que más te guste excepto javascript (a menos que sea con node)

sobre la herramienta, lo más simple sería llamar a ping y leer la salida, lee las opciones que tiene disponible ese comando, tambien vas a necesitar usar multihilo (multithreading) porque ping normalmente tiene una diración minima de 1 segundo, entonces un simple rango /24 te va a durar un minimo de 4 minutos, haciendo multihilo puedes ir por lote, por ejemplo de 16 en 16, tomaría 16 segundos en terminar
En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
fzp

Desconectado Desconectado

Mensajes: 130


Ver Perfil
Re: Algoritmo para escanear direcciones IP en una red local
« Respuesta #4 en: 14 Julio 2021, 19:15 pm »

Código
  1. for /l %i in (1,1,254) do ping -w 50 -n 1 192.168.1.%i

Código
  1. arp -a
En línea

Enemy

Desconectado Desconectado

Mensajes: 285


Que vuelva el personal de hace 15 años al foro!


Ver Perfil
Re: Algoritmo para escanear direcciones IP en una red local
« Respuesta #5 en: 14 Julio 2021, 19:27 pm »

si quieres un programa que ya lo haga revisa nmap que es para consola de comandos y está muy bien diseñadp y optimizado (tambien tienes zenmap que es nmap + una interfaz grafica)

sobre si quieres desarrollarlo, el lenguaje, el que más te guste excepto javascript (a menos que sea con node)

sobre la herramienta, lo más simple sería llamar a ping y leer la salida, lee las opciones que tiene disponible ese comando, tambien vas a necesitar usar multihilo (multithreading) porque ping normalmente tiene una diración minima de 1 segundo, entonces un simple rango /24 te va a durar un minimo de 4 minutos, haciendo multihilo puedes ir por lote, por ejemplo de 16 en 16, tomaría 16 segundos en terminar

No, no quiero usar un programa ajeno, quiero hacerlo yo y es para la red de mi trabajo, la idea es monitorear el estado actual de los dispositivos de esa red, de cualquier sector al que se le deje el script o server instalado en al menos 1 de las maquinas, de manera remota, es decir, poder ver desde un cliente, en otra red, la latencia, nombre de equipo y demas datos que se puedan recuperar.

Recuerdo, hace tiempo, haber hecho una herramienta que devolvia en "ms" la latencia de un servidor, habia usado una api, pero no recuerdo cual. Tendria que revisar un poco.

Volviendo al tema:

for /L %z in (1,1,254) do @ping 10.0.0.%z -w 10 -n 1 | find "Reply"

Encontré este comando en batch para pingear un rango de direcciones, lo idea seria que devuelva la latencia, no si responde o no. Bah, aunque no es tan importante ver cuanto tienen de lantecia cada equipo de la red pero, quedaria mas prolijo y preciso. Aunque demandaria tener que estar pingeando de manera constante.

pd: Hay manera de recuperar los distintos tipos de resultados que devuelva? es decir, tiempo agotado, inaccesible, etc.

En línea

Enemy

Desconectado Desconectado

Mensajes: 285


Que vuelva el personal de hace 15 años al foro!


Ver Perfil
Re: Algoritmo para escanear direcciones IP en una red local
« Respuesta #6 en: 14 Julio 2021, 19:45 pm »

Código
  1. for /l %i in (1,1,254) do ping -w 50 -n 1 192.168.1.%i

Código
  1. arp -a


claro, practicamente lo mismo. El tema es recuperar el resultado y verlos desde una maquina remota, que de eso luego veo como hago.

Tengo pensado conectarme de manera inversa.
En línea

el-brujo
ehn
***
Desconectado Desconectado

Mensajes: 21.637


La libertad no se suplica, se conquista


Ver Perfil WWW
Re: Algoritmo para escanear direcciones IP en una red local
« Respuesta #7 en: 15 Julio 2021, 17:20 pm »

Un programa super-sencillo y muy conocido que hace exactamente lo que comentas es:



Wireless Network Watcher v2.25
https://www.nirsoft.net/utils/wireless_network_watcher.html
En línea

Enemy

Desconectado Desconectado

Mensajes: 285


Que vuelva el personal de hace 15 años al foro!


Ver Perfil
Re: Algoritmo para escanear direcciones IP en una red local
« Respuesta #8 en: 15 Julio 2021, 21:52 pm »

Un programa super-sencillo y muy conocido que hace exactamente lo que comentas es:



Wireless Network Watcher v2.25
https://www.nirsoft.net/utils/wireless_network_watcher.html

Hola Brujo, es un placer que te pases por mi post.

Si, el programa se ve bastante similar a lo que intento desarrollar, pero lo haré bastante mas grafico y esos mismos datos que se ven en WNW, recibirlos a mi computadora (ajena a la red, debido a que estoy en otro sector)

La cuestion se dio porque usamos WhatsUp Gold, pero no tenemos todas las redes conectadas por fibra y hay sectores apartes repartidos por toda la ciudad pero que pertenecen a la misma empresa. Por eso quiero, de manera remota, poder captar esos datos, para mantener monitoreada la red. Su estado actual mas que nada.

Entonces, es una manera de saber si, (cuando nos llaman por algun problema de conectividad), el problema es una pc, el router, el switch o el servicio.

Solo eso, ver de manera grafica, el estado actual de los equipos (Apagado, Sin conexion a internet, en linea) con colores, verde, rojo, etc. Y de paso, tener esos datos extras que le darian un toque de precision al programa.

Volvi a instalar Visual Studio 17 para empezar en C# o VB.

Se que es algo simple y probablemente existan herramientas iguales a esta y mejores incluso. Pero quiero ser yo quien la desarrolle a gusto mio.

pd: El tema ahora es como capturar esos datos desde la CMD y recibirlos via ftp, sino tendria que empezar a leer como hacerlo desde esos 2 lenguajes mencionados.
« Última modificación: 15 Julio 2021, 21:53 pm por Enemy » En línea

Danielㅤ


Conectado Conectado

Mensajes: 1.825


🔵🔵🔵🔵🔵🔵🔵


Ver Perfil
Re: Algoritmo para escanear direcciones IP en una red local
« Respuesta #9 en: 15 Julio 2021, 22:27 pm »

Hola, eso es fácil obtener los datos una respuesta a un comando en CMD, simplemente tenés que guardar la salida en una variable string o en un archivo de texto y listo usando stdout.
Podes usar una función del sistema para ejecutar el comando necesario y volcar/guardar sus datos sobre una variable tipo string.


Saludos
En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines