linux win 通用的获取Mac的方法

经测试下面方法获取Mac跨平台

        protected override void OnLoad(EventArgs e)
        {
            Response.Write(string.Join("<br/>", GetMacString()));
            Response.Write("<br/>");

            base.OnLoad(e);
        }


        public NetworkInterface[] NetCardInfo()
        {
            return NetworkInterface.GetAllNetworkInterfaces();
        }

        public string[] GetMacString()
        {
            string strMac = "";
            NetworkInterface[] interfaces = NetworkInterface.GetAllNetworkInterfaces();
            foreach (NetworkInterface ni in interfaces)
            {
                if (ni.OperationalStatus == OperationalStatus.Up)
                {
                    strMac += ni.GetPhysicalAddress().ToString() + "|";
                }
            }
            return strMac.Split('|');
        }

相关文章:

C# C/S程序获取MAC地址三种方法   http://www.cnblogs.com/yzb305070/archive/2011/04/03/2004364.html

附:

/// <summary>
/// 获取当前请求的服务器IP,以及相应的MAC地址
/// </summary>
/// <returns>[当前请求的服务器IP,MAC地址]</returns>
public string[] GetRequestIPMAC()
{
        string[] result = new string[2];

        string serverName = Page.Request.ServerVariables["SERVER_NAME"];
        string requestServerIP = Page.Request.ServerVariables["LOCAL_ADDR"];

        if (serverName == "localhost")
        {
                result[0] = "localhost";
        }
        else
        {
                result[0] = requestServerIP.ToLower();

                ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
                ManagementObjectCollection moc = mc.GetInstances();
                foreach (ManagementObject mo in moc)
                {
                        try
                        {
                                if ((bool)mo["IPEnabled"] == true)
                                {
                                        string[] IPAddresses = (string[])mo["IPAddress"];
                                        if (IPAddresses.Length > 0)
                                        {
                                                for (int i = 0; i < IPAddresses.Length; i++)
                                                {
                                                        if (IPAddresses[i] == requestServerIP)
                                                        {
                                                                result[1] = mo["MacAddress"].ToString().ToLower();
                                                                break;
                                                        }
                                                }
                                        }

                                        if (!String.IsNullOrEmpty(result[1]))
                                        {
                                                break;
                                        }
                                }
                        }
                        finally
                        {
                                mo.Dispose();
                        }
                }
        }


        return result;
}
原文地址:https://www.cnblogs.com/shiningrise/p/5746330.html