Holas, alguien me podria facilitar alguna pequeña ayuda para crear un scanner de IIS???en Visual Basic
Holas, alguien me podria facilitar alguna pequeña ayuda para crear un scanner de IIS???en Visual Basic
Es bastante facilillo hacer uno básico, tienes q usar el WinSock. No recuerdo ahora exactamente en q páginas, pero en varias páginas de programación VB había bajado yo códigos de scanners; por ahí podrías empezar.
Un Saludo.
okis gracias voi a mirar por Google aver que tal
No se exactamente lo que quieres hacer (o scannear) pero aqui te pongo un codigo, bueno parte de el haber si te ayuda...
Dim dtstart As Variant 'Para el PortSanner
Dim iSecs As Integer 'Para el PortSanner
Dim xPortArray(100) As Long 'Para el PortSanner
'Rutina para el escaneo de puertos TCP
Private Sub PortScan()
'Para evitar algun error
prg.Visible = True
List2.Enabled = False
cmdCerrar.Enabled = False
cmdPortScan.Enabled = False
txtIP.Enabled = False
txtPuerto.Enabled = False
Dim conteo As Variant 'valor para la progressbar
'Puertos que serán escaneados
'xPortArray(Index)es la variable indexada = al Num. de puerto
xPortArray(1) = 139 'Típico del Bios. nbsession
xPortArray(2) = 80 'Tipico de coneccion a Internet
xPortArray(3) = 5000
xPortArray(4) = 12345 'Usado por algunos troyanos como el BackOriffice
xPortArray(5) = 8080
xPortArray(6) = 11831
xPortArray(7) = 23 'Conección TelNet
xPortArray(8) = 90
xPortArray(9) = 119 'Network news transfer
xPortArray(10) = 129
xPortArray(11) = 1234 'Usado por algunos troyanos como el BackOriffice
xPortArray(12) = 24
xPortArray(13) = 5555
xPortArray(14) = 6712
xPortArray(15) = 6713
xPortArray(16) = 6776
xPortArray(17) = 7000
xPortArray(18) = 7300
xPortArray(19) = 7597
xPortArray(20) = 1001
xPortArray(21) = 1002
xPortArray(22) = 123 'Protocolo de tiempo de red
xPortArray(23) = 37 'Timserver
xPortArray(24) = 43 'Nickname. whois Informacion sobre la red objetivo
xPortArray(25) = 101 'hostname
xPortArray(26) = 21 'FTP transfer
xPortArray(27) = 42 'name server HostName Server
xPortArray(28) = 49 'tacacs LoginHostProtocol(TACACS) re-mail-ck RemoteMailCheckingProtocol
xPortArray(29) = 53 'whois++
xPortArray(30) = 70 'finger info de los user
xPortArray(31) = 513 'who?..dice quien esta
xPortArray(32) = 666
xPortArray(33) = 23456
xPortArray(34) = 53001
xPortArray(35) = 54320
xPortArray(36) = 54321
xPortArray(37) = 61466
xPortArray(38) = 65000
Socket.Close 'Cerrar el control Winsock para evitar errores
On Error GoTo Err
For k = 0 To 100
If xPortArray(k) <> 0 Then
Socket.RemoteHost = txtIP
Socket.RemotePort = xPortArray(k)
Socket.Connect
dtstart = Now
'Comienza la diversión
'Si el estado del Winsock es diferente de 7
'se cumplirá la rutina
Do While Socket.State <> 7
On Error GoTo Err 'Puede dar error si el proceso
'exede el máximo del progressbar
DoEvents
iSecs = DateDiff("s", Now, dtstart)
'El slider es solo para comparar los sockets
'que se abrirán. No más de 200! ya que generá un error
'el winsock de Win9x,ME no soporta más de 200 sockets
'abiertos al mismo tiempo.
If Abs(iSecs * 360) > frmScan.Slider1.Value Then
txtConteo.Visible = True
txtConteo.Caption = "Puerto actual: " & xPortArray(k)
conteo = conteo + 3
prg.Value = conteo
Exit Do
End If
Loop
Socket.Close ' Volvemos a cerrar el control Winsock
End If
Next k
txtConteo.Visible = False
prg.Visible = False
List2.Enabled = True
cmdCerrar.Enabled = True
cmdPortScan.Enabled = True
txtIP.Enabled = True
cmdConectar.Enabled = True
txtPuerto.Enabled = True
Err:
If Err.Number = 380 Then Resume Next
If Err <> 0 Then MsgBox "Error número: " & Err.Number _
& vbCrLf & "Descripción: " & Err.Description, vbCritical, "Scanner"
Err = 0
End Sub
Private Sub cmdCerrar_Click()
Me.Hide
Unload Me
End Sub
Private Sub cmdPortScan_Click()
If txtIP.Text = "" Then
MsgBox "Debes especificar una ruta IP cabrón!", , "Alerta!"
txtIP.Text = Socket.LocalIP
txtIP.SetFocus
Else
PortScan
End If
End Sub
Private Sub Form_Load()
txtIP.Text = Socket.LocalIP
End Sub
Private Sub Socket_Connect()
'Si encuentra un puerto abierto lo agrega a la lista
List2.AddItem Socket.RemotePort & " TCP"
End Sub
Private Sub cmdConectar_Click()
frmScan.Caption = "Conectando con " & txtIP.Text
If txtPuerto.Text = "" Then
MsgBox "Debes seleccionar un puerto", vbCritical, "Alerta"
frmScan.Caption = "Scan de puertos"
Else
If txtIP.Text = "" Then
MsgBox "Debes seleccionar una ruta IP", vbCritical, "Alerta"
frmScan.Caption = "Scan de puertos"
Else
Socket.RemoteHost = txtIP.Text
Socket.RemotePort = txtPuerto.Text
Socket.Connect
frmScan.Caption = "Conectado...!"
End If
End If
End Sub
Es bastante sencillo, pero quizas una idea te de....suerte
Juer te aorras poniendo un for para que escanee un rango de puertos y no tener que poner todos los puertos a mano.
Si, pero de algun sitio tienes que sacar los puertos. yo la haría de un fichero plano, así sería actualizable 100%
Tengo por hay un escaner de puertos en C, que lee un fichero de configuración donde se lee el puerto y un comentario sobre el puerto.
Te bajas una lista de cualquier lado con todos los puertos y comentarios sobre este mismo y rula dpm.
Marcadores