10 ene 2013

Crear un escaneador de puertos


Crear un escaneador de puertos 


Creo este tutorial, para crear un sencillo escaneador de puertos abiertos. 

 Primero de todo creamos un nuevo EXE Estandar.



Crearemos primero de todo un timer.
Ya creado lo dejamos donde sea en cualquier parte del formulario y le ponemos de Valor Enabled (False) y en Interval (5).
Usaremos para mostrar si tenemos puertos abiertos un Winsock.
Os mostraré como agregarlo.


En la barra de herramientas le damos a Proyecto y en ese menu desplegable le damos a Componentes, si no sabes como dale a [Ctrl+T].
Luego buscamos Microsoft Winsock Control y lo activamos.



Nos saldrá esto en la barra de herramientas.

Y lo ponemos también en nuestro formulario, y no le tocamos nada, porque sus opciones las editaremos después. Ahora creamos una lista.


Creamos 2 TextBox y 4 Botones . Nos quedaría algo así.



Ahora le cambiamos los captions a los botones, por los de: Comenzar, Parar, Limpiar, Cancelar. Y el texto del Text1 por: 127.0.0.1 y el del Text2 por: 1 Y empezamos con el código:



'-----------------------------------
Private Sub Command1_Click()
Timer1.Enabled = True 'Activa el timer, para que empiece a analizar puertos
Command1.Enabled = False 'Desactiva el botón Comenzar
Command2.Enabled = True 'Activa el botón Parar, la primera vez que se inicia no hace nada
End Sub
'-----------------------------------
Private Sub Command2_Click()
Timer1.Enabled = False 'Desactiva el timer.
Command1.Enabled = True 'Activa el botón comenzar
Command2.Enabled = False ' Y desactiva el botón Parar
End Sub
'-----------------------------------
Private Sub Command3_Click()
List1.Clear 'Limpia la lista de puertos que hayan sido detectados abiertos
End Sub
'-----------------------------------
Private Sub Command4_Click()
Timer1.Enabled = False ' Desactiva el timer
Text2.Text = "1" 'Y retorna al principio el remoteport
Command1.Enabled = True
Command2.Enabled = True 'Activa los dos botones de comenzar y parar
End Sub
'-----------------------------------
Private Sub Timer1_Timer()
On Error Resume Next
Winsock1.Close
Text2.Text = Int(Text2.Text) + 1 ' va agregando un puerto cada vez que el timer pasa.
Winsock1.RemoteHost = Text1.Text 'IP
Winsock1.RemotePort = Text2.Text 'Puerto
Winsock1.Connect 'Intenta conectarse
End Sub
'-----------------------------------
Private Sub Winsock1_Connect()
List1.AddItem "Puerto: " & Winsock1.RemotePort & " Abierto!" 'En caso de que el winsock se conecte nos lo muestra en la lista, con el puerto correspondiente
End Sub
'-----------------------------------


Y esto sería en realidad todo lo que nos hace falta para crear un escaneador de puertos realmente sencillo. Luego podemos mejorar su aspecto por otro como este.

No hay comentarios:

Publicar un comentario