Diese Konsolen-Anwendung kann mit mehreren Threads mehrere Ports scannen.
Einige Ports können doppelt erscheinen.
Imports System
Public Module Module1
Dim IPadresse As String = "127.0.0.1"
Sub Main()
Console.WriteLine("Geben Sie einen Start- und Endport an und die Anzahl der Threads:")
Dim sp As Integer = Console.ReadLine
Dim ep As Integer = Console.ReadLine
Dim threads As Integer = Console.ReadLine()
Aufteilen(sp, ep, threads)
While Console.ReadLine <> "exit"
End While
End Sub
Private Structure Parameter
Dim StartPort As Integer
Dim EndPort As Integer
End Structure
Private Sub Aufteilen(ByVal sp As Integer, ByVal ep As Integer, ByVal ts As Integer)
Dim range As Integer = ep - sp
Dim anzahlderthreads As Integer = ts
Dim threadrange As Integer = range / anzahlderthreads
For i As Integer = 0 To anzahlderthreads - 1
Dim startport As Integer = sp + (threadrange * i)
Dim endport As Integer = sp + (threadrange * (i + 1)) + 1
Dim p As New Parameter
p.StartPort = startport
p.EndPort = endport
Dim t As New System.Threading.Thread(AddressOf Scannen)
t.IsBackground = True
t.Start(p)
Console.WriteLine("Thread gestartet SP:" & startport & " EP:" & endport)
Next
End Sub
Private Sub Scannen(ByVal P As Parameter)
For AktuellerPort As Integer = P.StartPort To P.EndPort
Dim c As New System.Net.Sockets.TcpClient
c.ReceiveTimeout = 100
Try
c.Connect(IPadresse, AktuellerPort)
Console.WriteLine(AktuellerPort & " ist offen.")
Catch ex As Exception
End Try
Next
Console.WriteLine("Fertig!")
End Sub
End Module

2 Kommentare
Johannes
hey…
der link funktioniert nicht und ich weiß nicht wie der code zu verwenden ist da er weder ein python noch ein batch code ist.
kannst du mir vll weiterhelfen/einen download link zukommen lassen?
¥akuza112
das ist visual basic.
Testbar bzw Compilebar via : https://dotnetfiddle.net/