Laden...

Probleme mit IPv4 und IPv6

Letzter Beitrag vor 15 Jahren 5 Posts 2.507 Views
Probleme mit IPv4 und IPv6

Hallo zusammen
Ich versuche, die lokale IPv4 Adresse der Standardschnittstelle zu ermitteln, was auch sehr gut funktioniert, solange IPv6 nicht auf dem Computer installiert ist. Ich frage mich nun, wie es möglich ist eine IPv4 Adresse von einer IPv6 Adresse zu unterscheiden, ohne diese parsen zu müssen. Weis jemand, wie man dies bewerkstelligen könnte?

// declare local variables
   UnicastIPAddressInformation uia = null;

   // start a loop for walking each available network interface
   foreach(NetworkInterface nic in NetworkInterface.GetAllNetworkInterfaces()){
    // check if the current network interface is up
    if(nic.OperationalStatus == OperationalStatus.Up){
     // determine the first available address of the current interface and escape the loop
        uia = nic.GetIPProperties().UnicastAddresses[0];
     break;
    }
   }

Mfg Ishildur

Hallo,

AddressFamily sollte Dir helfen.

..oder quick and dirty, die länge von tostring()

Die Länge der Adressen (IPv6-Adressen sind 128 Bit lang (IPv4: 32 Bit) vergleichen, dann weisst Du's auch.

Grüsse
Daniel
Space Profile
Wer nicht fragt, der nicht gewinnt

Hi,

geh über AddressFamily.

Die Länge der ge-string-ten IP-Adresse kann ja auch variieren:

Gültige IP-Adressen:
IPv6: ::1 IPv6: d8:3f::2d:9 IPv4: 192.168.0.1 IPv6: 2001:0db8:0000:08d3:0000:8a2e:0070:7344

beste Grüße
zommi