Почему бы не запустить процесс для вызова rarp
и чтения входного потока из выходных данных процесса? Это действительно дешевый, простой и веселый способ сделать это ... в голове, это выглядит примерно так:
System.Diagnostics.ProcessStartInfo ps = new System.Diagnostics.ProcessStartInfo("arp", "-a");
ps.CreateNoWindow = false;
ps.RedirectStandardOutput = true;
using (System.Diagnostics.Process proc = new System.Diagnostics.Process())
{
proc.StartInfo = ps;
proc.Start();
System.IO.StreamReader sr = proc.StandardOutput;
while (!proc.HasExited) ;
string sResults = sr.ReadToEnd();
}
Тогда нужно проанализировать sResults
, чтобы получить MAC-адрес.