我正在构建一个程序,显示与我连接的本地主机名。实际上,我还想在列表视图中检查它们的MAC(物理地址)。看这个图片:
现在,您可以看到我的程序显示可用网络但未显示物理地址。我想要帮助,当我点击“显示”按钮时,程序自动为MAC提供可用的网络名称。 我在互联网上搜索了这么多,但我无法理解如何在不使用IP的情况下显示Mac地址。 现在,这个网站有很多代码,但我找不到合适的代码。 对不起我的英语,它不太好。
答案 0 :(得分:0)
如果没有IP地址,除非在这些个人计算机上安装了软件,否则无法找到其他计算机的MAC。
如果想要系统的MAC:
public string GetMacAddress(string ipAddress)
{
string macAddress = string.Empty;
System.Diagnostics.Process pProcess = new System.Diagnostics.Process();
pProcess.StartInfo.FileName = "arp";
pProcess.StartInfo.Arguments = "-a " + ipAddress;
pProcess.StartInfo.UseShellExecute = false;
pProcess.StartInfo.RedirectStandardOutput = true;
pProcess.StartInfo.CreateNoWindow = true;
pProcess.Start();
string strOutput = pProcess.StandardOutput.ReadToEnd();
string[] substrings = strOutput.Split('-');
if (substrings.Length >= 8)
{
macAddress = substrings[3].Substring(Math.Max(0, substrings[3].Length - 2))
+ "-" + substrings[4] + "-" + substrings[5] + "-" + substrings[6]
+ "-" + substrings[7] + "-"
+ substrings[8].Substring(0, 2);
return macAddress;
}
else
{
return "not found";
}
}