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/