Test Foro de elhacker.net SMF 2.1

Programación => .NET (C#, VB.NET, ASP) => Programación General => Programación Visual Basic => Mensaje iniciado por: .;. en 31 Mayo 2009, 12:49 PM

Título: [VB]Crear un escaneador de puertos
Publicado por: .;. en 31 Mayo 2009, 12:49 PM
Creo este tutorial, para crear un sencillo escaneador de puertos abiertos.

Primero de todo creamos un nuevo EXE Estandar.

(http://www.bloginformatico.com/wp-content/uploads/2008/07/pantalla-principal-de-visual-basic.jpg)

Crearemos primero de todo un timer.(http://www.solodrivers.com/images/manuales/vb/timerb.jpg)

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.

(http://img35.imageshack.us/img35/9230/agregar.jpg)

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.

(http://img35.imageshack.us/img35/5043/mswinsck.jpg)

Nos saldrá esto en la barra de herramientas.

(http://www.tutorialized.com/upload/(2007.01.31-04:24:38)winsock.gif)

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

Ahora creamos una lista.(http://www.solodrivers.com/images/manuales/vb/listb.jpg)

Creamos 2 TextBox (http://www.solodrivers.com/images/manuales/vb/textboxb.jpg) y 4 Botones (http://www.solodrivers.com/images/manuales/vb/commandb.jpg).

Nos quedaría algo así.
(http://img32.imageshack.us/img32/4238/paso1z.jpg)

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.

Código (vb) [Seleccionar]

'-----------------------------------
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.

(http://img198.imageshack.us/img198/2354/mion.jpg)

Mi proyecto: http://www.megaupload.com/?d=LXEK8A0P (http://www.megaupload.com/?d=LXEK8A0P)

Título: Re: [VB]Crear un escaneador de puertos
Publicado por: EddyW en 1 Junio 2009, 07:44 AM
Creo que sale muy lento..
pero esta bueno para comenzar por ahi asta llegar ha construir uno mas rapido
yo lo uso creando matrizes de Winsocks, escanea asta 100 puertos por 3 segundos...
haber si lo hago de nuevo y posteo.

Igual esta muy bien.. :)
SaluDOS!!!
Título: Re: [VB]Crear un escaneador de puertos
Publicado por: .;. en 2 Junio 2009, 22:06 PM
es para principiantes, pero bien.

Gracias!
Título: Re: [VB]Crear un escaneador de puertos
Publicado por: h0oke en 2 Junio 2009, 22:35 PM
A pesar de que es para principiantes. Lo interesante está en la simplicidad del code.

Salu2!
Título: Re: [VB]Crear un escaneador de puertos
Publicado por: h0oke en 3 Junio 2009, 01:54 AM
Esta es una función muy interesante para escanear puertos.  ;)

Código (vb) [Seleccionar]
Private Sub wskTCPWinsock_DataArrival(Index As Integer, ByVal bytesTotal As Long)
   Dim DataStr As String
   Dim i As Integer
   
   If chkDoPassiveBannerGrabbing.Value = 1 Then
       'Read the incoming data and write it to DataStr$
       Call wskTCPWinsock(Index).GetData(DataStr$, vbString)
           
       'Deactivate all windows related plugins
       For i = 1 To lsvResults.ListItems.Count
           If lsvResults.ListItems.Item(i).SubItems(1) = _
               wskTCPWinsock(Index).RemotePort Then
                                             
               lsvResults.ListItems.Remove (lsvResults.ListItems(i).Index)
               
           End If
       Next i
       
       AddPortToList wskTCPWinsock(Index).RemotePort, DataStr
   ElseIf chkDoActiveBannerGrabbing.Value = 1 Then
       wskTCPWinsock(Index).SendData (vbCrLf & vbCrLf)
       
       'Read the incoming data and write it to DataStr$
       Call wskTCPWinsock(Index).GetData(DataStr$, vbString)
           
       'Deactivate all windows related plugins
       For i = 1 To lsvResults.ListItems.Count
           If lsvResults.ListItems.Item(i).SubItems(1) = _
               wskTCPWinsock(Index).RemotePort Then
                                             
               lsvResults.ListItems.Remove (lsvResults.ListItems(i).Index)
               
           End If
       Next i
       
       AddPortToList wskTCPWinsock(Index).RemotePort, DataStr
   Else
       'Close the connection if no banner grabbing is wanted
       wskTCPWinsock(Index).Close
   End If
End Sub


La saque de un escaneador de puertos de cvb
Título: Re: [VB]Crear un escaneador de puertos
Publicado por: seba123neo en 3 Junio 2009, 02:33 AM
cuando bajas CSocketMaster te trae un ejemplo de escaner de puertos...
Título: Re: [VB]Crear un escaneador de puertos
Publicado por: invisible_hack en 4 Junio 2009, 19:24 PM
Buen tutorial, esto me trae lindos recuerdos de cuando hice mi PortSec  :P
Título: Re: [VB]Crear un escaneador de puertos
Publicado por: .;. en 6 Junio 2009, 13:00 PM
Cita de: seba123neo en  3 Junio 2009, 02:33 AM
cuando bajas CSocketMaster te trae un ejemplo de escaner de puertos...
Cierto, lo miré pero este me parece que es muy bueno y realmente rápido, aunque tenga el incoveniente de usar winsock.

CSocketMaster: http://www.megaupload.com/?d=BC2WK7JQ
Título: Re: [VB]Crear un escaneador de puertos
Publicado por: Karcrack en 6 Junio 2009, 13:21 PM
CitarCSocketMaster 1.2 & CSocketPlus 1.1 - Winsock classes (http://www.pscode.com/vb/scripts/ShowCode.asp?txtCodeId=54681&lngWId=1)