日期:2009-07-15  浏览次数:20649 次

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 
            { 
            &n