Пример #1
0
    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);
    }