【发布时间】:2020-10-06 13:49:18
【问题描述】:
如何获取所选接口和适配器的 MAC 地址?我知道如何从以太网接口获取所有 MAC 地址,但我的目标是从特定适配器获取 MAC 地址。例如,我有 3 个以太网适配器(适配器名称:以太网、以太网 2、VMware),我的目标是获取以太网适配器的 MAC 地址。我尝试过:在 C# 文档中搜索、查看其他堆栈线程以及在其他站点上搜索。我的代码:
List<string> macs = new List<string>()
{ "000569","000C29","001C14","005056","080027","00155D","080027"};
foreach (NetworkInterface nic in NetworkInterface.GetAllNetworkInterfaces())
{
// Only consider Ethernet network interfaces
if (nic.NetworkInterfaceType == NetworkInterfaceType.Ethernet &&
nic.OperationalStatus == OperationalStatus.Up)
{
string cllc = nic.GetPhysicalAddress().ToString();
char[] array = cllc.Substring(0, 6).ToCharArray();
foreach (char mac in array)
{
if (macs.Contains(mac.ToString()))
return true;
}
}
}
【问题讨论】:
-
您正在迭代的每个 NetworkInterface 对象都应该有一个 Name 属性 (nic.Name)。这些是否与您正在寻找的适配器匹配?
-
@RogerN 是的,其中一些匹配。
标签: c# .net network-interface