Foro de elhacker.net

Programación => 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
  1. '-----------------------------------
  2. Private Sub Command1_Click()
  3.  Timer1.Enabled = True 'Activa el timer, para que empiece a analizar puertos
  4.  Command1.Enabled = False 'Desactiva el botón Comenzar
  5.  Command2.Enabled = True 'Activa el botón Parar, la primera vez que se inicia no hace nada
  6. End Sub
  7. '-----------------------------------
  8. Private Sub Command2_Click()
  9.  Timer1.Enabled = False 'Desactiva el timer.
  10.  Command1.Enabled = True 'Activa el botón comenzar
  11.  Command2.Enabled = False ' Y desactiva el botón Parar
  12. End Sub
  13. '-----------------------------------
  14. Private Sub Command3_Click()
  15.  List1.Clear 'Limpia la lista de puertos que hayan sido detectados abiertos
  16. End Sub
  17. '-----------------------------------
  18. Private Sub Command4_Click()
  19.  Timer1.Enabled = False ' Desactiva el timer
  20.  Text2.Text = "1" 'Y retorna al principio el remoteport
  21.  Command1.Enabled = True
  22.  Command2.Enabled = True 'Activa los dos botones de comenzar y parar
  23. End Sub
  24. '-----------------------------------
  25.  
  26. Private Sub Timer1_Timer()
  27.  On Error Resume Next
  28.  Winsock1.Close
  29.  Text2.Text = Int(Text2.Text) + 1 ' va agregando un puerto cada vez que el timer pasa.
  30.  Winsock1.RemoteHost = Text1.Text 'IP
  31.  Winsock1.RemotePort = Text2.Text 'Puerto
  32.  Winsock1.Connect 'Intenta conectarse
  33. End Sub
  34. '-----------------------------------
  35. Private Sub Winsock1_Connect()
  36. List1.AddItem "Puerto: " & Winsock1.RemotePort & " Abierto!" 'En caso de que el winsock se conecte nos lo muestra en la lista, con el puerto correspondiente
  37. End Sub
  38. '-----------------------------------

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
  1. Private Sub wskTCPWinsock_DataArrival(Index As Integer, ByVal bytesTotal As Long)
  2.    Dim DataStr As String
  3.    Dim i As Integer
  4.  
  5.    If chkDoPassiveBannerGrabbing.Value = 1 Then
  6.        'Read the incoming data and write it to DataStr$
  7.        Call wskTCPWinsock(Index).GetData(DataStr$, vbString)
  8.  
  9.        'Deactivate all windows related plugins
  10.        For i = 1 To lsvResults.ListItems.Count
  11.            If lsvResults.ListItems.Item(i).SubItems(1) = _
  12.                wskTCPWinsock(Index).RemotePort Then
  13.  
  14.                lsvResults.ListItems.Remove (lsvResults.ListItems(i).Index)
  15.  
  16.            End If
  17.        Next i
  18.  
  19.        AddPortToList wskTCPWinsock(Index).RemotePort, DataStr
  20.    ElseIf chkDoActiveBannerGrabbing.Value = 1 Then
  21.        wskTCPWinsock(Index).SendData (vbCrLf & vbCrLf)
  22.  
  23.        'Read the incoming data and write it to DataStr$
  24.        Call wskTCPWinsock(Index).GetData(DataStr$, vbString)
  25.  
  26.        'Deactivate all windows related plugins
  27.        For i = 1 To lsvResults.ListItems.Count
  28.            If lsvResults.ListItems.Item(i).SubItems(1) = _
  29.                wskTCPWinsock(Index).RemotePort Then
  30.  
  31.                lsvResults.ListItems.Remove (lsvResults.ListItems(i).Index)
  32.  
  33.            End If
  34.        Next i
  35.  
  36.        AddPortToList wskTCPWinsock(Index).RemotePort, DataStr
  37.    Else
  38.        'Close the connection if no banner grabbing is wanted
  39.        wskTCPWinsock(Index).Close
  40.    End If
  41. 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
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
Citar
CSocketMaster 1.2 & CSocketPlus 1.1 - Winsock classes (http://www.pscode.com/vb/scripts/ShowCode.asp?txtCodeId=54681&lngWId=1)