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 "找不到主机信息";

                }

            }

  • 相关阅读:
    安全工具
    WebRTC媒体协商及实践
    流媒体协议介绍(rtp/rtcp/rtsp/rtmp/mms/hls)
    基于 WebRTC 技术的实时通信服务开发实践
    实时音视频互动系列(下):基于 WebRTC 技术的实战解析
    WebRTC基于浏览器的开发
    webRtc+websocket多人视频通话
    Android IOS WebRTC 音视频开发总结(四九) ffmpeg介绍
    Android IOS WebRTC 音视频开发总结(二五) webrtc优秀资源汇总
    The 3n + 1 problem UVA 100
  • 原文地址:https://www.cnblogs.com/zxktxj/p/2699755.html
Copyright © 2011-2022 走看看