.NET专区-用ASP.Net获取客户端网卡的MAC

using System.Text.RegularExpressions;
using System.Diagnostics;
public class test
{
        public test
        {}
        public static string GetCustomerMac(string IP) //para IP is the client's 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(); 
               dirResults=dirResults.Replace("\r","").Replace("\n","").Replace("\t","");

              Regex reg=new Regex("Mac[ ]{0,}Address[ ]{0,}=[ ]{0,}(?<key>((.)*?)) __MAC",RegexOptions.IgnoreCase|RegexOptions.Compiled); 
               Match mc=reg.Match(dirResults+"__MAC");

           if(mc.Success) 
            { 
                return mc.Groups["key"].Value; 
           } 
            else 
           { 
                reg=new Regex("Host not found",RegexOptions.IgnoreCase|RegexOptions.Compiled); 
                mc=reg.Match(dirResults); 
            if(mc.Success) 
            { 
                 return "Host not found!"; 
            } 
            else 
            { 
                 return ""; 
            } 
       }
  }
}


posted @ 2007-05-12 08:21  Winner.Net(2007)  阅读(1034)  评论(1编辑  收藏  举报