Материал из .Net Framework эксперт
UnicastIPAddressInformation.Address
using System;
using System.Net.NetworkInformation;
class MainClass {
static void Main() {
if (NetworkInterface.GetIsNetworkAvailable()) {
NetworkInterface[] interfaces = NetworkInterface.GetAllNetworkInterfaces();
foreach (NetworkInterface ni in interfaces) {
foreach (UnicastIPAddressInformation addr in ni.GetIPProperties().UnicastAddresses) {
Console.WriteLine(" - {0} (lease expires {1})", addr.Address, DateTime.Now + new TimeSpan(0, 0, (int)addr.DhcpLeaseLifetime));
}
}
} else {
Console.WriteLine("No network available.");
}
}
}