Windows IP Helper API呼び出し「SendARP」を使用してリモートシステムのMACアドレスを取得するC#Webサービスコードを書き直そうとしています。 SendARPはうまく動作します - あなたがArpリクエストがルーティングされないのでネットワークセグメントを越えるまで。私は "ParseNetworkString"のドキュメントStackOverflowの存在を横断して起こった後で見てきました。私が考えているの迅速&汚いアルゴリズムは次のとおりです。C#でWindows IP Helper APIとParseNetworStringを使用する際の助けが必要
public static string GetMacAddress(string strHostOrIP)
{
if (strHostOrIP is IPAddress)
{
parse results of nbstat -A strHostOrIP
return macAddress
}
if (strHostOrIP is Hostname)
{
IPHostEntry hostEntry = null;
try
{
hostEntry = Dns.GetHostEntry(strHostOrIP);
}
catch
{
return null;
}
if (hostEntry.AddressList.Length == 0)
{
return null;
}
foreach (IPAddress ip in hostEntry.AddressList)
{
if (ip.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork)
{
ipAddress = ip;
break;
}
}
}
return GetMACAddress(ipAddress);
}
「ParseNetworkString」ので、私はその使用方法を示す例C#のコードを見つけることができていないと私は」ビスタ/ Win2008で新しく追加されました誰もが正しい方向に私を指すことができれば...