Foros del Web » Programación para mayores de 30 ;) » Java »

Buscar puertos abiertos y maquinas en una RED

Estas en el tema de Buscar puertos abiertos y maquinas en una RED en el foro de Java en Foros del Web. Que tal gente, estuve buscando pero no encuentro. 1) Como puedo ver si una máquina tiene un puerto especificado abierto. 2) Como puedo buscar en ...
  #1 (permalink)  
Antiguo 18/12/2007, 21:24
 
Fecha de Ingreso: abril-2007
Mensajes: 77
Antigüedad: 17 años
Puntos: 0
Pregunta Buscar puertos abiertos y maquinas en una RED

Que tal gente, estuve buscando pero no encuentro.

1) Como puedo ver si una máquina tiene un puerto especificado abierto.
2) Como puedo buscar en una RED máquinas conectadas

Muchas gracias!
  #2 (permalink)  
Antiguo 19/12/2007, 21:11
Avatar de TolaWare
Colaborador
 
Fecha de Ingreso: julio-2005
Mensajes: 4.352
Antigüedad: 18 años, 9 meses
Puntos: 24
Re: Buscar puertos abiertos y maquinas en una RED

Esta pregunta deberías hacerla en el foro de redes (salvo que tu duda sea como hacer lo que dices, con JAVA).
  #3 (permalink)  
Antiguo 19/12/2007, 21:42
 
Fecha de Ingreso: abril-2007
Mensajes: 77
Antigüedad: 17 años
Puntos: 0
Re: Buscar puertos abiertos y maquinas en una RED

Si la intención es hacerlo con Java.
  #4 (permalink)  
Antiguo 19/12/2007, 22:29
Avatar de TolaWare
Colaborador
 
Fecha de Ingreso: julio-2005
Mensajes: 4.352
Antigüedad: 18 años, 9 meses
Puntos: 24
Re: Buscar puertos abiertos y maquinas en una RED

1) Como puedo ver si una máquina tiene un puerto especificado abierto.
La forma más fácil es utilizar sockets. En las FAQs de Java hay un ejemplo muy sencillo para que te guiés. La idea es que si quieres (por ejemplo) ver si el host 192.168.0.2 tiene el puerto 3659 habilitado, abrir un socket y tratar de conectarte a esa dirección en ese puerto. SI la conexión falla, entonces podés presumir que el puerto está cerrado.

Digo "presumir" ya que existen técnicas de protección que evitan el escaneo de puertos.

Como puedo buscar en una RED máquinas conectadas
Dentro de un bucle, puedes hacer ping a direcciones IP en forma incremental.
El ping lo podés hacer mediante la la siguiente llamada:

Runtime.exec(comando);

donde comando es "ping 192.168.0.1"; (Por ejemplo).
Para hacerlo mas eficiente, puedes hacerlo multihilo.
  #5 (permalink)  
Antiguo 20/12/2007, 19:20
 
Fecha de Ingreso: abril-2007
Mensajes: 77
Antigüedad: 17 años
Puntos: 0
Re: Buscar puertos abiertos y maquinas en una RED

Lo del socket anda joya, solo que necesito que no se conecte al puerto, asi que sigo buscando una alternativa.

Muchas gracias.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 04:53.