none
用ASP.NET如何获取客户端的MAC地址?? RRS feed

  • 问题

  • 用ASP.NET(C#)写了一个验证用户登录的页面,需要获取客户端的MAC地址,然后跟数据库中的记录对比,通过后才能进一步登陆,可是现在无法获取到客户端的MAC地址,网上查了很多代码都不行,找到了下面的代码,可是通过测试发现,只有偶然能获取到,基本也没用,各位高手谁有解决办法?不用activeX,只用.net该如何获取呢?

    public string getMac(string IP)
        {
            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();
    
            //return dirResults.ToString();
    
            //匹配mac地址
            Match m = Regex.Match(dirResults, "\\w+\\-\\w+\\-\\w+\\-\\w+\\-\\w+\\-\\w\\w");
    
            //若匹配成功则返回mac,否则返回找不到主机信息
            if (m.ToString() != "")
            {
                return m.ToString();
            }
            else
            {
                return "无法获取MAC地址!";
            }
        }
    2010年4月7日 6:37

答案

全部回复