public static List <string> GetAllExternalUnicastAddresses() { List <string> stringList = new List <string>(); NetworkInterface[] networkInterfaces = NetworkInterface.GetAllNetworkInterfaces(); if (networkInterfaces != null) { foreach (NetworkInterface networkInterface in networkInterfaces) { if (!WMIUtils.GetMSFailoverClusterNicsIDs().Contains(networkInterface.Id.TrimStart("{".ToCharArray()).TrimEnd("}".ToCharArray())) && networkInterface.NetworkInterfaceType != NetworkInterfaceType.Loopback && (networkInterface.NetworkInterfaceType != NetworkInterfaceType.Tunnel && networkInterface.NetworkInterfaceType != NetworkInterfaceType.Ppp) && networkInterface.OperationalStatus == OperationalStatus.Up) { stringList.AddRange((IEnumerable <string>)IPHelper.GetExternalUnicastAddresses(networkInterface.GetIPProperties())); } } } return(stringList); }