为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

获取ip Mac地址

2017-09-19 6页 doc 34KB 28阅读

用户头像

is_196623

暂无简介

举报
获取ip Mac地址2. //局域网IP public static string GetClientIP()     {         string userHostAddress = string.Empty;         string HostName = System.Net.Dns.GetHostName(); //得到主机名          System.Net.IPHostEntry IpEntry = Dns.GetHostEntry(HostName); //得到主机IP         userHostAddres...
获取ip Mac地址
2. //局域网IP public static string GetClientIP()     {         string userHostAddress = string.Empty;         string HostName = System.Net.Dns.GetHostName(); //得到主机名          System.Net.IPHostEntry IpEntry = Dns.GetHostEntry(HostName); //得到主机IP         userHostAddress = IpEntry.AddressList[0].ToString();         return userHostAddress; } 4.一台电脑绑定多个MAC则取不到     //获取mac地址        public static string GetCustomerMac()     {         string IP = "192.168.0.12";         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 "找不到主机信息";         } } 5.一个电脑绑定多个MAC,取正在使用的   //下面一种方法可以获取远程的MAC地址     [System.Runtime.InteropServices.DllImport("Iphlpapi.dll")]     static extern int SendARP(Int32 DestIP, Int32 SrcIP, ref Int64 MacAddr, ref Int32 PhyAddrLen);     [System.Runtime.InteropServices.DllImport("Ws2_32.dll")]     static extern Int32 inet_addr(string ipaddr);     ///     /// SendArp获取MAC地址     ///     /// 目标机器的IP地址如(192.168.1.1)     /// 目标机器的mac 地址     public bool getMacAddr_Remote(string RemoteIP)     {         bool masf = false;         System.Text.StringBuilder macAddress = new System.Text.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;             }             if (macAddress.ToString() != "")             {                 dbhelper db = new dbhelper();                 DataTable dt = new DataTable();                 string sql = "";                 sql = "select * from rtbase.dbo.user_ip_mac where ip='" + RemoteIP + "' and mac='" + macAddress.ToString() + "'";                 dt = db.getTable(sql);                 if (dt.Rows.Count > 0)                 {                     masf= true;                 }             }         }         catch         {                     }         return masf;     } 1. public static string GetTrueIp()         {             string userHostAddress = string.Empty;             userHostAddress = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];             if ((userHostAddress != null) && (userHostAddress != string.Empty))             {                 //可能有代理                                if (userHostAddress.IndexOf(".") == -1)    //没有".",非IPv4格式                    {                     userHostAddress = null;                 }                 else if (userHostAddress.IndexOf(",") != -1) //有",",估计有多个代理,取第一个不是内网的IP。                  {                     userHostAddress = userHostAddress.Replace(" ", "").Replace("'", "");                     string[] strArray = userHostAddress.Split(",;".ToCharArray());                     for (int i = 0; i < strArray.Length; i++)                     {                         if (((IsIPAddress(strArray[i]) && (strArray[i].Substring(0, 3) != "10.")) && (strArray[i].Substring(0, 7) != "192.168")) && (strArray[i].Substring(0, 7) != "172.16."))                         {                             //找到不是内网的地址                             return strArray[i];                         }                     }                 }                 else                 {                     //代理即是IP格式                     if (IsIPAddress(userHostAddress))                     {                         return userHostAddress;                     }                     userHostAddress = null;                 }             }             string str2 = ((HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"] != null) && (HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"] != string.Empty)) ? HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"] : HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];             string empty = string.Empty;             switch (userHostAddress)             {                 case null:                 case "":                     userHostAddress = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];                     break;             }             if ((userHostAddress == null) || (userHostAddress == string.Empty))             {                 userHostAddress = HttpContext.Current.Request.UserHostAddress;             }             return userHostAddress;         } ///     /// 检查输入是否为ip地址字符串     ///     /// 输入字符串     ///     private static bool IsIPAddress(string input)     {         //原作者表达式@"^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$"         return Regex.IsMatch(input, @"^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])((\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])){3}|(\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])){5})$");     }
/
本文档为【获取ip Mac地址】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索