C# 获取本地IP信息

获取正在使用IP:

/// <summary>
/// 获取本地IP函数
/// </summary>
/// <returns></returns>
public string GetLocalIp()
{
    string _IP = null;
    foreach (IPAddress _IPAddress in Dns.GetHostEntry(Dns.GetHostName()).AddressList)
    {
        if (_IPAddress.AddressFamily.ToString() == "InterNetwork")
        {
            _IP = _IPAddress.ToString();
        }
    }
    return _IP;
}

获取本地所以IP4地址信息:

    public void GetIP4Address()
    {
        try
        {
            NetworkInterface[] interfaces = NetworkInterface.GetAllNetworkInterfaces();
            foreach (NetworkInterface nInterface in interfaces)
            {
                if (nInterface.OperationalStatus != OperationalStatus.Up) continue;
                IPInterfaceProperties properties = nInterface.GetIPProperties();

                string gateway = string.Empty;
                string dns = string.Empty;
                if (properties.GatewayAddresses.Count > 0)
                    gateway = properties.GatewayAddresses[0].Address.ToString();
                if (properties.DnsAddresses.Count > 0)
                    dns = properties.DnsAddresses[0].ToString();

                for (int i = 0; i < properties.UnicastAddresses.Count; i++)
                {
                    UnicastIPAddressInformation unicast = properties.UnicastAddresses[i];

                    Console.WriteLine(dns);
                    Console.WriteLine(gateway);
                    Console.WriteLine(unicast.Address.ToString());
                    Console.WriteLine(unicast.IPv4Mask.ToString());
                    Console.WriteLine(nInterface.Name);
                    Console.WriteLine(gateway);
                    var addfam = unicast.Address.AddressFamily;

                }
            }
        }
        catch (Exception )
        {
        
        }
    }

猜你喜欢

转载自blog.csdn.net/lvxingzhe3/article/details/121885647
今日推荐