PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Portscanner mit mehreren Threads



krusty
05.06.2010, 17:01
Diese Konsolenanwendung kann mit mehreren Threads merere Ports scannen. Einige Ports können doppelt erscheinen.
Feedback erwünscht


Module Module1
Dim IPadresse As String = "server.de"


Sub Main()
Console.WriteLine("geben Sie einen Start- und Entpot an dun 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

Edit:
Video mit Erklärung:

http://www.youtube.com/watch?v=mpIOuwlpGWM
http://www.youtube.com/watch?v=CQP1xamqzVI

GreezZz Krusty