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 clients 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(" ","").Replace(" ","").Replace(" ","");

  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 "";

  }

  }

  }

  }