Hi,
ich hoffe ich bin hier richtig.
Ich würde gern die IP Adressen auslesen, die einem Host oder einer URL zugeordnet sind. Dazu verwende ich folgendes Coding:
Für meinen "Host" erhalte ich folgendes Display (s. Anhang)
Das ist alles ganz schön und gut. Nur erhalte ich ZWEI Internet Addressen ... und nur eine davon ist die "richtige" !
Das Debug Listing zeigt folgendes an:
Die erste Addresse ist die derzeit verwendete IP Addresse (wie ich etwa mit /whatismyipaddress oder meinen Router Dialog heraus finden kann).
Die beiden Adressen haben im Debug aber genau die gleichen Properties !
Wie kann ich denn herausfinden welche Addresse derzeit aktiv ist. Möglich sein muss das, denn whatismyipaddress kann das ja auch.
Vielleicht ist es einfach die Reihenfolge ... also die erste Addresse dieser Art ist die aktuelle. Aber das würde ich schon bestätigt haben wollen.
Ich hoffe, ich habe mein Problem verständlich machen können.
Ich weiß, dass es dazu in diesem Forum schon einige Threads gibt. Aber irgendwie werde ich da trotzdem nicht so richti schlau draus. Für Ratschläge, die möglichst auch die Hintergründe dieser vertracken IP-Addressen erhellen, wäre ich sehr dankbar.
LG
Peter
ich hoffe ich bin hier richtig.
Ich würde gern die IP Adressen auslesen, die einem Host oder einer URL zugeordnet sind. Dazu verwende ich folgendes Coding:
VB.NET-Quellcode
- Debug.Print("Host / URL: " & TxtHostNameURL.Text)
- For Each IpAddress As Net.IPAddress In IpAddressList
- Debug.Print(IpAddress.ToString)
- Debug.Print(" IsIPv6LinkLocal=" & IpAddress.IsIPv6LinkLocal)
- Debug.Print(" IsIPv6Multicast=" & IpAddress.IsIPv6Multicast)
- Debug.Print(" GetType=" & IpAddress.GetType.ToString)
- Debug.Print(" AddressFamily=" & IpAddress.AddressFamily)
- Debug.Print(" IsIPv6Multicast=" & IpAddress.IsIPv6Multicast)
- Debug.Print(" IsIPv6SiteLocal=" & IpAddress.IsIPv6SiteLocal)
- Debug.Print(" IsIPv6Teredo=" & IpAddress.IsIPv6Teredo)
- Try
- Debug.Print(" ScopeId=" & IpAddress.ScopeId)
- Catch ex As Exception
- Debug.Print(" ScopeId=N/A")
- End Try
- Debug.Print("")
- If IpAddress.AddressFamily = Net.Sockets.AddressFamily.InterNetwork Then
- IPType = "LAN"
- Else
- IPType = "NET"
- End If
- IPName = IpAddress.ToString
- 'If IPName.ToLower.StartsWith("fe80:") Then Continue For
- If IpAddress.IsIPv6LinkLocal Then Continue For
- DgvIP.Rows.Add(IPType, IPName)
- Next
- DgvIP.ClearSelection()
Für meinen "Host" erhalte ich folgendes Display (s. Anhang)
Das ist alles ganz schön und gut. Nur erhalte ich ZWEI Internet Addressen ... und nur eine davon ist die "richtige" !
Das Debug Listing zeigt folgendes an:
Quellcode
- 2003:de:2f30:3f00:c950:13e0:a9ba:f232 <== this is currently used
- IsIPv6LinkLocal=False
- IsIPv6Multicast=False
- GetType=System.Net.IPAddress
- AddressFamily=23
- IsIPv6Multicast=False
- IsIPv6SiteLocal=False
- IsIPv6Teredo=False
- ScopeId=0
- 2003:de:2f30:3f00:1576:e4:9badb928 <== staticly assigned ?
- IsIPv6LinkLocal=False
- IsIPv6Multicast=False
- GetType=System.Net.IPAddress
- AddressFamily=23
- IsIPv6Multicast=False
- IsIPv6SiteLocal=False
- IsIPv6Teredo=False
- ScopeId=0
Die erste Addresse ist die derzeit verwendete IP Addresse (wie ich etwa mit /whatismyipaddress oder meinen Router Dialog heraus finden kann).
Die beiden Adressen haben im Debug aber genau die gleichen Properties !
Wie kann ich denn herausfinden welche Addresse derzeit aktiv ist. Möglich sein muss das, denn whatismyipaddress kann das ja auch.
Vielleicht ist es einfach die Reihenfolge ... also die erste Addresse dieser Art ist die aktuelle. Aber das würde ich schon bestätigt haben wollen.
Ich hoffe, ich habe mein Problem verständlich machen können.
Ich weiß, dass es dazu in diesem Forum schon einige Threads gibt. Aber irgendwie werde ich da trotzdem nicht so richti schlau draus. Für Ratschläge, die möglichst auch die Hintergründe dieser vertracken IP-Addressen erhellen, wäre ich sehr dankbar.
LG
Peter