vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Erstellen von dynamischen Kontextmen?s - wann immer Sie sie brauchen!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Fortgeschrittene
Mehrere Pings zeitgleich absetzen 
Autor: CYman21
Datum: 30.08.06 13:22

Hallo,

ich habe das Problem das ich eine Art Portscanner programmieren muss, nun die Frage, wie ich das am besten realisieren kann.

Über BackgroundWorker wäre eine Möglichkeit, allerdings kann ich keine neuen Backgroundworker zur Laufzeit erstellen und bei 10 Backgroundworkern wäre es zu zeitkritisch.

Ein Array der Klasse Ping ist ebenso wenig möglich.

Ich müsste halt schnell herausfinden, ob eine IP Range (und welche Rechner davon) verfügbar sind.

Beispiel
192.168.0.1 - 192.168.0.254

Verfügbare Rechner: 192.168.0.5, 192.168.0.12, 192.168.0.132

So auf die Art, das alles innerhalb einer Minute

Plz help me
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Mehrere Pings zeitgleich absetzen 
Autor: ModeratorDaveS (Moderator)
Datum: 30.08.06 13:57

Warum kannst du kein BackgroundWorker zur Laufzeit erstellen?
Warum kannst du kein Array von Pings anlegen?

Das ging bei mir in weniger als eine Minute
 
     Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As _
       System.EventArgs) Handles MyBase.Load
        Debug.WriteLine(Now.ToShortTimeString())
        Dim pingers(255) As System.Net.NetworkInformation.Ping
        For i As Integer = 1 To 254
            pingers(i) = New System.Net.NetworkInformation.Ping()
            AddHandler pingers(i).PingCompleted, AddressOf PingCompleted
            pingers(i).SendAsync("192.168.10." & i.ToString(), Nothing)
        Next
    End Sub
 
    Private Sub PingCompleted(ByVal sender As Object, ByVal e As _
      System.Net.NetworkInformation.PingCompletedEventArgs)
        Debug.WriteLine(e.Reply.Address.ToString() & "=" & _
        e.Reply.Status.ToString())
        Debug.WriteLine(Now.ToShortTimeString())
    End Sub

________
Alle Angaben ohne Gewähr. Keine Haftung für Vorschläge, Tipps oder sonstige Hilfe, falls es schiefgeht, nur Zeit verschwendet oder man sonst nicht zufrieden ist

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Mehrere Pings zeitgleich absetzen 
Autor: ModeratorDaveS (Moderator)
Datum: 30.08.06 14:05

EIn Array braucht man eigentlich nicht...

________
Alle Angaben ohne Gewähr. Keine Haftung für Vorschläge, Tipps oder sonstige Hilfe, falls es schiefgeht, nur Zeit verschwendet oder man sonst nicht zufrieden ist

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Mehrere Pings zeitgleich absetzen 
Autor: Hagen
Datum: 06.02.07 15:09

Hallo,

das funktioniert prima - was ich nicht finde ist z.B. der Computername zu der zurückgegebenen IP-Adresse.
Wo kann ich diese Information bekommen?

Gruß
Michael
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Mehrere Pings zeitgleich absetzen 
Autor: BrickTop
Datum: 11.02.07 16:51

System.Net.Dns.BeginGetHostEntry

_________________________________________________________________________________________________
Internet-Adressen innerhalb des (..) WWW beginnen stets mit der Buchstabenfolge http://www. (LG Duisburg, AZ 8 O 219/99)

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Prima 
Autor: Hagen
Datum: 01.03.07 11:44

Danke, klappt bestens!
Michael
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Nicht erreichte Maschinen 
Autor: Hagen
Datum: 08.03.07 10:44

Hallo!

Ich bekomme jetzt wie gewünscht den Rechnernamen, die zugehörige IP-Adresse (auch umgekehrt klappt jetzt) und den Status des Rechners - also Ping erfolgreich oder nicht.
Den Namen und die IP bekomme ich jedoch nur von den erfolgreich abgesetzten Pings zurück - wie bekomme ich nähere Infos zu den nicht erreichten Rechnern?
Mit der zurückkommenden "System.NullReferenceException" bemerke ich immerhin, dass ein Rechner nicht erreicht wurde, kann aber nicht sehen welche Maschine genau das war (ich frage mehrere Rechner auf einmal ab, und durch die asyncrone Abarbeitung habe ich keinen Anhaltspunkt welcher Ping den Fehler wirft...).

Danke für jeden Hinweis!

Gruß
Michael
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel