using
System;
using
System.Diagnostics ;
namespace
GetMacAddressFromIPAddress
{
public class GetMacAddressFromIPAddress
{
public GetMacAddressFromIPAddress()
{
}
public string GetMacAddress(string IPAddress)
{
string strMacAddress = string.Empty ;
try
{
string strTempMacAddress= string.Empty ;
ProcessStartInfo objProcessStartInfo =
new ProcessStartInfo();
Process objProcess =
new Process();
objProcessStartInfo.FileName = “nbtstat”;
objProcessStartInfo.RedirectStandardInput =
false;
objProcessStartInfo.RedirectStandardOutput =
true;
objProcessStartInfo.Arguments = “-A ” + IPAddress;
objProcessStartInfo.UseShellExecute =
false;
objProcess = Process.Start(objProcessStartInfo);
int Counter = -1;
while (Counter <= -1)
{
Counter = strTempMacAddress.Trim().ToLower().IndexOf(“mac address”, 0);
if (Counter > -1)
{
break;
}
strTempMacAddress = objProcess.StandardOutput.ReadLine();
}
objProcess.WaitForExit();
strMacAddress = strTempMacAddress.Trim();
}
catch (Exception Ex)
{
Console.WriteLine(Ex.ToString());
Console.ReadLine();
}
return strMacAddress;
}
}
class GetMacAddressFromIPAddressMainClass
{
[STAThread]
static void Main(string[] args)
{
string IPAddress = “xxx.xxx.xxx.xxx”;
GetMacAddressFromIPAddress objGetMacAddress= new GetMacAddressFromIPAddress();
string MacAddress =objGetMacAddress.GetMacAddress(IPAddress);
Console.WriteLine(MacAddress);
Console.ReadLine();
}
}
}
引文来源 How to get Mac Address of a computer using IP Address. – .Net Articles & Samples