标签:
 /// 获取本机网卡mac地址代码 
        /// </summary>
        /// <returns></returns>
        ///  /// <summary>
        public string GetNetworkAdpaterID()
        {
            try
            {
                string mac = "";
                System.Management.ManagementClass mc = new System.Management.ManagementClass("Win32_NetworkAdapterConfiguration");
                System.Management.ManagementObjectCollection moc = mc.GetInstances();
                foreach (System.Management.ManagementObject mo in moc)
                    if ((bool)mo["IPEnabled"] == true)
                    {
                        mac += mo["MacAddress"].ToString() + " ";
                        break;
                    }
                moc = null;
                mc = null;
                return mac.Trim();
            }
            catch (Exception e)
            {
                return "uMnIk";
            }
        }
根据ip地址获取mac地址的方法
 //下面一种方法可以获取远程的MAC地址 
        [DllImport("Iphlpapi.dll")]
        static extern int SendARP(Int32 DestIP, Int32 SrcIP, ref Int64 MacAddr, ref Int32 PhyAddrLen);
        [DllImport("Ws2_32.dll")]
        static extern Int32 inet_addr(string ipaddr);
        /// <summary> 
        /// SendArp获取MAC地址 
        /// </summary> 
        /// <param name="RemoteIP">目标机器的IP地址如(192.168.1.1)</param> 
        /// <returns>目标机器的mac 地址</returns> 
        public static string getMacAddr_Remote(string RemoteIP)
        {
            StringBuilder macAddress = new StringBuilder();
            try
            {
                Int32 remote = inet_addr(RemoteIP);
                Int64 macInfo = new Int64();
                Int32 length = 6;
                SendARP(remote, 0, ref macInfo, ref length);
                string temp = Convert.ToString(macInfo, 16).PadLeft(12, ‘0‘).ToUpper();
                int x = 12;
                for (int i = 0; i < 6; i++)
                {
                    if (i == 5)
                    {
                        macAddress.Append(temp.Substring(x - 2, 2));
                    }
                    else
                    {
                        macAddress.Append(temp.Substring(x - 2, 2) + "-");
                    }
                    x -= 2;
                }
                return macAddress.ToString();
            }
            catch
            {
                return macAddress.ToString();
            }
        }
获取ip地址,可穿透代理
 ///获取ip地址
            string user_IP = "";
            if (Request.ServerVariables["HTTP_VIA"] != null)//如果有代理那么越过代理直接取值
            {
                user_IP = Request.ServerVariables["HTTP_X_FORWARDED_FOR"].ToString();
            }
            else
            {
                user_IP = Request.ServerVariables["REMOTE_ADDR"].ToString();
            }
标签:
原文地址:http://www.cnblogs.com/greatDota2/p/4522701.html