Ver Mensaje Individual
  #4 (permalink)  
Antiguo 19/12/2007, 22:29
Avatar de TolaWare
TolaWare
Colaborador
 
Fecha de Ingreso: julio-2005
Mensajes: 4.352
Antigüedad: 18 años, 10 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.