zoukankan      html  css  js  c++  java
  • C# .net获取电脑IP和MAC

    C# .net获取电脑IP和MAC

    /// <summary>

            /// 取得用户客户端IP(穿过代理服务器取远程用户真实IP地址)

            /// </summary>

            public static string GetClientIP()

            {

                 //如果使用代理,获取真实IP  

                string userip = string.Empty;

                if (HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"] != "")

                {

                    userip = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];

                }

                else

                {

                    userip = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];

                }

                if (userip == null || userip == "")

                {

                    userip = HttpContext.Current.Request.UserHostAddress;

                }

                return userip;

              

                //HttpRequest Request = HttpContext.Current.Request;

                //try

                //{

                //    if (HttpContext.Current.Request.ServerVariables["HTTP_VIA"] != null)

                //    {

                //        return HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"].ToString();

                //    }

                //    else

                //    {

                //        return HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"].ToString();

                //    }

                //}

                //catch { return "127.0.0.1"; }

            }

            //获取mac地址

            public static string GetCustomerMac()

            {

                string IP = GetClientIP();

                string dirResults = "";

                ProcessStartInfo psi = new ProcessStartInfo();

                Process proc = new Process();

                psi.FileName = "nbtstat";

                psi.RedirectStandardInput = false;

                psi.RedirectStandardOutput = true;

                psi.Arguments = "-a " + IP;

                psi.UseShellExecute = false;

                proc = Process.Start(psi);

                dirResults = proc.StandardOutput.ReadToEnd();

                proc.WaitForExit();

                //匹配mac地址

                Match m = Regex.Match(dirResults, "\\w+\\-\\w+\\-\\w+\\-\\w+\\-\\w+\\-\\w\\w");

                //若匹配成功则返回mac,否则返回找不到主机信息

                if (m.ToString() != "")

                {

                    return m.ToString();

                }

                else

                {

                    return "找不到主机信息";

                }

            }

  • 相关阅读:
    Day4 0708
    Day2 0706
    两道递推公式题的解题报告
    博客还需优化
    飞行路线Luogu4568
    堆优化Dijkstra(Luogu 4779)
    2019四等奖的清明节征文
    2019四等奖的叶圣陶初稿
    Luogu P1072 Hankson的趣味题
    Loj10022 埃及分数(迭代加深搜索IDDFS)
  • 原文地址:https://www.cnblogs.com/zxktxj/p/2699755.html
Copyright © 2011-2022 走看看