Crea tu propio PortScanner Asincrono de Consola en VB.NET en solo 3 pasos

  • 1 Respuestas
  • 589 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Conectado 79137913

  • *
  • Co Admin
  • Mensajes: 696
  • Actividad:
    13.33%
  • Reputación 16
  • 4 Esquinas
  • Skype: [email protected]
    • Ver Perfil
    • Doors.Party
    • Email
HOLA!!!

Hoy veremos como crear un PortScanner asincrono con VB.NET!

1)Primero crearemos el proyecto


2)Entramos en la seccion de Codigo Fuente de nuestra aplicacion y pegamos lo siguiente:
Código: vb.net
  1. 'By 79137913 for http://underc0de.org
  2. Imports System.Net.Sockets
  3. Imports System.Net
  4. Imports System.Threading
  5. Module PortScanner
  6.     Sub Main()
  7.         'Creamos el banner
  8.         Console.WriteLine("  _    _           _                ___      _      ")
  9.         Console.WriteLine(" | |  | |         | |              / _ \    | |     ")
  10.         Console.WriteLine(" | |  | |_ __   __| | ___ _ __ ___| | | | __| | ___ ")
  11.         Console.WriteLine(" | |  | | '_ \ / _` |/ _ \ '__/ __| |/| |/ _` |/ _ \")
  12.         Console.WriteLine(" | |__| | | | | (_| |  __/ | | (__| |_| | (_| |  __/")
  13.         Console.WriteLine("  \____/|_| |_|\__,_|\___|_|  \___|\___/ \__,_|\___|")
  14.         Console.WriteLine("                            Port Scanner By 79137913")
  15.         Console.WriteLine("")
  16.  
  17.         Console.WriteLine("Inserte el Puerto de inicio:    ")
  18.         Dim PortIni As Integer = Console.ReadLine 'Solicitamos el Puerto de inicio
  19.         Console.WriteLine("Inserte el Puerto de finalizacion: ")
  20.         Dim PortFin As Integer = Console.ReadLine 'Solicitamos el Puerto de Finalizacion
  21.         Console.WriteLine("Inserte IP a escanear: ")
  22.         Dim IP As String = Console.ReadLine
  23.         If IPAddress.TryParse(IP, Nothing) = False Then 'Si el ip esta mal escrito
  24.             Console.WriteLine("El IP Ingresado es erroneo.")
  25.             Exit Sub
  26.         End If
  27.  
  28.         If PortIni <= 0 Then PortIni = 1 'Verificamos que ninguno de los dos puertos sea 0 o menor
  29.         If PortFin <= 0 Then PortFin = 1 'Verificamos que ninguno de los dos puertos sea 0 o menor
  30.         If PortFin < PortIni Then 'Si el puerto de incio es mayor que el puerto final los intercambiamos
  31.             Dim Aux As Integer
  32.             Aux = PortIni
  33.             PortIni = PortFin
  34.             PortFin = Aux
  35.         End If
  36.         If PortFin > 65535 Then PortFin = 65535 'Verificamos que el puerto final no sea mayor que 65535
  37.  
  38.         For port = PortIni To PortFin
  39.             Dim auxPort As Long = port 'Creamos una variable auxiliar para manejar la funcion lambda de una manera segura.
  40.             Task.Run(Sub() CheckPort(auxPort, IP))
  41.         Next
  42.         Console.WriteLine("Espere los resultados o presione ENTER para salir.")
  43.         Console.ReadLine() ' Esperamos los resultados
  44.     End Sub
  45.  
  46.     Private Sub CheckPort(ByVal port As Long, ByVal IP As String)
  47.         Dim myTcpClient As New TcpClient() ' Creamos un cliente TCP
  48.         Try
  49.             myTcpClient.Connect(IP, port) 'Creamos una conexion con el ip y puerto
  50.             Console.WriteLine("Puerto " + port.ToString() + " Abierto ")
  51.             myTcpClient.You are not allowed to view links. Register or Login() 'Cerramos la conexion
  52.         Catch ex As SocketException
  53.             Console.WriteLine("Puerto " + port.ToString() + " Cerrado " + ex.Message)  'Si hay un error lo ponemos como cerrado e indicamos cual es la causa.
  54.         End Try
  55.     End Sub
  56. End Module
  57.  

3)Cuando ya colocamos el codigo solo queda iniciar (apretar F5) e ir respondiendo lo que nos pide el programa:


Descargar Source: You are not allowed to view links. Register or Login

Hecho y redactado por 79137913

Agradecimientos @Antrax

Para los curiosos:
Veran que mediante el metodo Task.Run Pude ejecutar funciones de forma asincrona, esto nos sirve para que el codigo no se quede esperando a que cada puerto sea escaneado y a su vez escanee todos a la vez.
Si quieres ver el codigo en C# te invito a usar el conversor de codigo de You are not allowed to view links. Register or Login es muy facil y practico.

GRACIAS POR LEER!!!
« Última modificación: Diciembre 05, 2019, 10:25:42 am por 79137913 »
"Algunos creen que soy un bot, puede que tengan razon"
"Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!"
"La peor de las ignorancias es no saber corregirlas"

*Shadow Scouts Team*                                                   You are not allowed to view links. Register or Login

Desconectado Solid Water

  • *
  • Underc0der
  • Mensajes: 145
  • Actividad:
    0%
  • Reputación 6
  • (:{
    • Ver Perfil
Me gustó y me pareció interesante el aporte.

Soy partidario de que te pases a C#.

También use el vb 6.0, con el antiguo ADO y DAO.

Bueno, Saludos.



 

Crea tu propio Creador de Diccionarios por Fuerza Bruta en VBNet en solo 3 Pasos

Iniciado por 79137913

Respuestas: 2
Vistas: 5126
Último mensaje Septiembre 03, 2019, 10:57:38 am
por 79137913
Crea tu propio Generador de Contraseñas Seguras con VBNet en solo 3 Pasos

Iniciado por 79137913

Respuestas: 0
Vistas: 420
Último mensaje Octubre 15, 2019, 10:50:38 am
por 79137913
Crea tu propio HashCracker en VBNet en solo 3 Pasos

Iniciado por 79137913

Respuestas: 0
Vistas: 447
Último mensaje Septiembre 09, 2019, 10:07:09 am
por 79137913
Crea tu propio AdminFinder con VB.NET en solo 3 pasos!

Iniciado por 79137913

Respuestas: 4
Vistas: 5053
Último mensaje Junio 02, 2017, 08:28:09 am
por 79137913