copyright 1999 - 2014 by heinz prelle - hannover  - lenbachstraße 42 - www.visual-basic5.de | impressum
'Beispiel: VB .Net - IP Informationen ermitteln
'
Option Explicit On
Option Strict On

Imports System.Net
Imports System.Net.Sockets

Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _
            Handles Button1.Click
        Dim ip As String = "209.85.135.147"
        Dim ResultA As New Hashtable()
        ResultA = Me.GetDefaultInformationFromIPAddress(ip)
        Dim Tab As Char = Convert.ToChar(9)

        If ResultA IsNot Nothing Then
            Dim Enumerator As IDictionaryEnumerator = ResultA.GetEnumerator()
            While Enumerator.MoveNext()
                If Enumerator.Key.ToString().Length < 5 Then
                    ListBox1.Items.Add(Enumerator.Key.ToString() & Tab & Tab & _
                            Enumerator.Value.ToString())
                Else
                    ListBox1.Items.Add(Enumerator.Key.ToString() & Tab & Enumerator.Value.ToString())
                End If
            End While
        End If
    End Sub

    Private Function GetDefaultInformationFromIPAddress(ByVal ip As String) As Hashtable
        Try
            Dim TList As New Hashtable
            Dim HostEntry As IPHostEntry = Dns.GetHostEntry(ip)
            For Each items As IPAddress In HostEntry.AddressList
                TList.Add(items.AddressFamily.ToString(), "AddressFamily")
                If items.AddressFamily.ToString() = ProtocolFamily.InterNetworkV6.ToString() Then
                    TList.Add(items.ScopeId.ToString(), "ScopeId")
                End If
                TList.Add(items.ToString(), "Address")
                Dim bytes As Byte() = items.GetAddressBytes()
                For n As Integer = 0 To bytes.Length - 1
                    TList.Add(bytes(n), "GetAddressBytes")
                Next
            Next
            Return TList
        Catch
            Return Nothing
        End Try
        Return Nothing
    End Function

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) _
            Handles MyBase.Load
        CenterToScreen()
    End Sub

End Class