Hi Leute,
Ich wollte euch hete mal einen simplen, schnellen und effektiven IP-Scanner als Konsolenanwendung (in VB 2010 geschrieben :D) vorstellen.
Er ist nur sowas wie eine Grundlage, kann aber schnell in andere Projekte implementiert werden falls man sowas mal braucht....
Ein Beispielprojekt findet ihr im Anhang.....
Fragen dazu bitte POSTEN
Ich wollte euch hete mal einen simplen, schnellen und effektiven IP-Scanner als Konsolenanwendung (in VB 2010 geschrieben :D) vorstellen.
Er ist nur sowas wie eine Grundlage, kann aber schnell in andere Projekte implementiert werden falls man sowas mal braucht....
Ein Beispielprojekt findet ihr im Anhang.....
VB.NET-Quellcode
- Module Program
- Sub Main()
- 'Lokale IP wird ermittelt
- Dim locip As String = ""
- For Each ip As System.Net.IPAddress In System.Net.Dns.GetHostAddresses(System.Net.Dns.GetHostName)
- If ip.ToString.Contains(".") Then locip = ip.ToString
- Next
- 'Die ersten drei Blöcke werden in 'threeblocks' geschrieben
- Dim threeblocks As String = ""
- Dim ind As Integer = 0
- For Each block As String In locip.Split(".")
- If ind = 3 Then Exit For
- threeblocks &= block
- threeblocks &= "."
- ind += 1
- Next
- 'Pingwaiter Array wird erstellt un alle Items werden der Reihe nach mit ihrer Ping-IP gestartet
- Dim x(255) As PingWaiter
- Dim i As Integer = 0
- For Each y As PingWaiter In x
- y = New PingWaiter
- y.start(threeblocks & i)
- i += 1
- Next
- 'Und warten...........
- Console.Read()
- End Sub
- End Module
- 'Jetzt die Klasse die den Ping dann ausführen darf
- Public Class PingWaiter
- Private t As New Threading.Thread(AddressOf p)
- Private ip As String
- Public Structure IPInfo
- Public IPAddress As String
- Public HostName As String
- End Structure
- Public Sub start(ByVal endpoint As String) 'Aufruf zum Starten des Ping
- ip = endpoint
- t.Start()
- End Sub
- Private Sub p() 'führt den eigentlichen Ping mit 'ip' aus
- Dim x As New Net.NetworkInformation.Ping
- Try
- If x.Send(ip).Status = Net.NetworkInformation.IPStatus.Success Then
- sip()
- End If
- Catch
- End Try
- End Sub
- Private Sub sip() ' fasst Informationen über den Host in 'mip' zusammen und schreibt sie in der Konsole
- Dim mip As New IPInfo
- mip.IPAddress = ip
- mip.HostName = Net.Dns.GetHostEntry(ip).HostName
- If mip.HostName = "noname" Then mip.HostName = "n/a"
- Console.WriteLine(mip.IPAddress & " " & mip.HostName)
- End Sub
- End Class
Fragen dazu bitte POSTEN