123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Management;
- namespace LYFZ.Network
- {
- /// <summary>
- /// 网络常规操作类
- /// </summary>
- public class NetworkCommon
- {
- public NetworkCommon() {
-
- }
- /// <summary>
- /// 获取当前MAC地址
- /// </summary>
- /// <returns></returns>
- public static string GetNetCardMacAddress()
- {
- try
- {
- ManagementClass mc;
- ManagementObjectCollection moc;
- mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
- moc = mc.GetInstances();
- string str = "";
- foreach (ManagementObject mo in moc)
- {
- if ((bool)mo["IPEnabled"] == true)
- {
- str = mo["MacAddress"].ToString();
- break;
- }
- }
- return str.ToUpper();//.Replace(":", "").Replace("-", "");
- }
- catch
- {
- return "NOMAC";
- }
- }
- /// <summary>
- /// 获取当前IP地址
- /// </summary>
- /// <param name="IPvType">要获取的IP类型:“IPv4”,"IPv6"</param>
- /// <returns></returns>
- string GetCurrentIPAddress(string IPvType = "IPv4")
- {
- try
- {
- ManagementClass mc;
- ManagementObjectCollection moc;
- mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
- moc = mc.GetInstances();
- System.Array ar = null;
- foreach (ManagementObject mo in moc)
- {
- if ((bool)mo["IPEnabled"] == true)
- {
- PropertyData pd = mo.Properties["IPAddress"];
- ar = (System.Array)(mo.Properties["IPAddress"].Value);
- break;
- }
- }
- string IPAddress = "";
- if (ar != null)
- {
- switch (IPvType.ToLower())
- {
- case "ipv4":
- IPAddress = ar.GetValue(0).ToString();
- break;
- case "ipv6":
- IPAddress = ar.GetValue(1).ToString();
- break;
- default: IPAddress = ar.GetValue(0).ToString(); break;
- }
- }
- else
- {
- throw new Exception("null");
- }
- return IPAddress;
- }
- catch
- {
- return "127.0.0.1";
- }
- }
- }
- }
|