C# .net IP Adresse der Schnittstelle auslesen?
Das klappt bisher nur für den Host, ich möchte aber alle IP Adressen aller Schnittstellen wissen. Über NetworkInterface bekomme ich zwar die MAC ADRESSEN,, den Netzwerknamen und den Typ, nicht aber die Information über IP, Subnet, Gateway, DNS?.
3 Antworten
Über NetworkInterface.GetIPProperties bekommst du ein IPInterfaceProperties Objekt u.a. mit den Eigenschaften DnsAddresses und GatewayAddresses.
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);
}
}
Das frag ich mich auch ;) Danke, das klappt so, wie ich das wollte.
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());
}
}
}
}
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.