C# .net IP Adresse der Schnittstelle auslesen?

3 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Über NetworkInterface.GetIPProperties bekommst du ein IPInterfaceProperties Objekt u.a. mit den Eigenschaften DnsAddresses und GatewayAddresses.

Woher ich das weiß:Studium / Ausbildung – Datenverarbeitungs-Kfm, Hobby- und Profi-Programmierer
DonkeyShot  19.02.2019, 18:25

..Und über UnicastIPAddressInformation.IPv4Mask das Subnet.

0

Mit System.Net.NetworkInformation.NetworkInterface, wie denn sonst?

Beispiel für IPs und Gateways:

foreach(System.Net.NetworkInformation.NetworkInterface nic in System.Net.NetworkInformation.NetworkInterface.GetAllNetworkInterfaces()) {
    Console.WriteLine("{0}:", nic.Name);
    Console.WriteLine("\tIPs:");
    foreach(System.Net.NetworkInformation.UnicastIPAddressInformation ipinfo in nic.GetIPProperties().UnicastAddresses) {
        Console.WriteLine("\t\t{0}", ipinfo.Address);
    }
    Console.WriteLine("\tGateways:");
    foreach(System.Net.NetworkInformation.GatewayIPAddressInformation gwinfo in nic.GetIPProperties().GatewayAddresses) {
        Console.WriteLine("\t\t{0}", gwinfo.Address);
    }
}
Wondertom 
Fragesteller
 19.02.2019, 19:54

Das frag ich mich auch ;) Danke, das klappt so, wie ich das wollte.

0

Mit ein bisschen Google und Englisch findet man sowas recht schnell

foreach(NetworkInterface ni in NetworkInterface.GetAllNetworkInterfaces())
{
   if(ni.NetworkInterfaceType == NetworkInterfaceType.Wireless80211 || ni.NetworkInterfaceType == NetworkInterfaceType.Ethernet)
   {
       Console.WriteLine(ni.Name);
       foreach (UnicastIPAddressInformation ip in ni.GetIPProperties().UnicastAddresses)
       {
           if (ip.Address.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork)
           {
               Console.WriteLine(ip.Address.ToString());
           }
       }
   }  
}

Woher ich das weiß:Berufserfahrung
Wondertom 
Fragesteller
 19.02.2019, 19:51

Google hat mir leider nicht weitergeholfen. Ich hatte mich auch irgendwann fest gelesen, weil ich nach soviel lesen nicht mehr sicher wahr, ob es Sinn macht, die IP Adressen nicht besser aus der Registrierung zu lesen oder auf die Systeminformationen zurückzugreifen, die .NET liefert. Das alles soll irgendwann mal dazu dienen, den DHCP Server openDHCPServer zu konfigurieren und ein Ziel, die Konfigurationsdatei des DHCP Servers mit der Systemkonfiguration zu vergleichen, um Fehleingaben zu vermeiden.

0