C# 取活动网卡IP地址

来源:互联网 发布:西门子plc编程教学 编辑:程序博客网 时间:2024/06/06 00:16

// 此代码只支持物理网卡且物理网卡必须处于活动状态

private List<IPAddress> IPActiveAddress        {            get {                var IPAddressCollection = new List<IPAddress>(0);                var Collection = Dns.GetHostAddresses(Dns.GetHostName());                var NetworkInterfaces = NetworkInterface.GetAllNetworkInterfaces();                foreach (var MIB2Interface in NetworkInterfaces) {                    var IPProperties = MIB2Interface.GetIPProperties();                    var UnicastAddresses = IPProperties.UnicastAddresses;                    if (UnicastAddresses.Count > 0 && IPProperties.DhcpServerAddresses.Count > 0) {                        foreach (var Unicast in UnicastAddresses) {                            if (Unicast.Address.AddressFamily != AddressFamily.InterNetworkV6) {                                if (IPAddressCollection.IndexOf(Unicast.Address) < 0) {                                    IPAddressCollection.Add(Unicast.Address);                                }                            }                        }                    }                }                return IPAddressCollection;            }        }


// 如果你是虚拟机网卡那么此代码无法识别,不过

// 可以识别处于插上网线或链接Wi-Fi 网段的网卡IP

0 0
原创粉丝点击