Windows Azure Cloud Storage ermöglicht es Ihnen bereits ab 0,10€ pro GB/Monat die Vorteile der Cloud zu nutzen.
Willkommen bei dotnet-snippets.de! Snippet hinzufügen Login Registrieren
Snippets in der Datenbank: 1550 | Anzahl registrierter User: 1840 | Besucher online: 234
Hauptmenü
Home
Top Ten
Zufälliger Snippet
FAQs
.NET Community
dotnet-forum.de
dotnet-kicks.de
Social

RSS Feeds
Rss Alle Snippets
Rss C#
Rss VB.NET
Rss C++
Rss ASP.NET
Partner
Member of Microsoft Community Leader/Insider Program (CLIP)

UDP Portscan mit Progressbar


Autor: Volker Steitz
Sprache: VB.NET
Bewertung:
8.29 (4 votes)
Anzahl der Aufrufe: 4888
  
Kick it on dotnet-kicks.de  

Beschreibung:

Dieses Snippet scant auf einem zu definierenden System eine angegebene UDP Portrange.

Als Ergebnis wird zurückgeliefert, ob über den Port eine Verbindung hergestellt werden kann oder nicht.

Auf einem Formular werden die n.g. Steruelemente zur Verfügung gestellt:

1 Listview Steuerelement
1 Command Button
1 Backgroundworker
1 Progressbar

Die Listview muss 3 Spaten enthalten, View sollte auf Details stehen.


Abgelegt unter: UDP Portscan.



Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
Public startPort As Integer
Public endPort As Integer
Public IPAddress As String
Public MaxValue As Integer
Public CurrentValue As Integer

'Hier der Aufruf

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        BackgroundWorker1.WorkerReportsProgress = True
        BackgroundWorker1.WorkerSupportsCancellation = True

        'Dieses System wird gescannt
        IPAddress = "10.0.0.1"
        startPort = 1
        endPort = 200

        'Um einen evtl. Überlauf vorzubeugen
        MaxValue = endPort + 1

        'Progressbar Aktualisieren
        Me.ProgressBar1.Minimum = 0
        Me.ProgressBar1.Maximum = MaxValue



        For startPort = startPort To endPort
            Me.BackgroundWorker1.RunWorkerAsync()

            'Da ein Backgroundworker immer nur eine
            'Aufgabe ausführen kann, warten wir hier
            'bis er fertig ist und mit der nächsten
            'Aufgabe weitermachen kann

            While Me.BackgroundWorker1.IsBusy = True
                Application.DoEvents()
            End While
        Next

        Me.ProgressBar1.Value = 0

End Sub

'Der Backgroundworker der die eigentliche Arbeit ausführt

Private Sub BackgroundWorker1_DoWork(ByVal sender As System.Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles BackgroundWorker1.DoWork

        Try
            Dim lvi As New ListViewItem(startPort)
            Dim tryToConnect As System.Net.Sockets.UdpClient = New System.Net.Sockets.UdpClient(IPAddress, startPort)
            lvi.SubItems.Add("is opend")
            lvi.ForeColor = Color.Red
            BackgroundWorker1.ReportProgress(startPort, lvi)

        Catch ex As Exception

            Dim lvi As New ListViewItem(startPort)
            lvi.SubItems.Add("is Closed")
            lvi.SubItems.Add(ex.Message)
            lvi.ForeColor = Color.Green
            BackgroundWorker1.ReportProgress(startPort, lvi)

        End Try
End Sub

'Da der Backgroundworke nicht auf die Steuerelemente 
'zugreifen kann und darf, hier die entsprechende 
'Vorgehensweise

Private Sub BackgroundWorker1_ProgressChanged(ByVal sender As Object, ByVal e As System.ComponentModel.ProgressChangedEventArgs) Handles BackgroundWorker1.ProgressChanged
        Dim lvi As New ListViewItem
        'Daten vom BackGroundworker
        lvi = e.UserState

        Me.ListView1.Items.Add(lvi)
        lvi.EnsureVisible()
        'Progressbar aktualisieren
        Me.ProgressBar1.Value = e.ProgressPercentage

End Sub
Sie haben Fragen zu diesem Snippet oder brauchen Hilfe bei der .NET Entwicklung?
Freundliche und kompetente Entwickler helfen Ihnen gern weiter im Forum für .NET Entwicklung.



Kommentare:
(Zum Schreiben von Kommentaren bitte anmelden.)



Diese Snippets könnten für Sie interessant sein:
Keine Snippets verfügbar.

schlecht sehr gut
1 2 3 4 5 6 7 8 9 10
Nur angemeldete User können Snippets bewerten.