如何识别主物理lan卡的MAC地址?

时间:2010-10-22 09:11:18

标签: c# mac-address

我正在用C#开发窗口应用程序。我使用以下代码获取MAC地址

private void Form1_Load(object sender, EventArgs e)
        {
            lbl1.Text = "Hi";

            string macAddresses = "";

            foreach (NetworkInterface nic in NetworkInterface.GetAllNetworkInterfaces())
            {
                if (nic.OperationalStatus == OperationalStatus.Up)
                {
                    macAddresses += nic.GetPhysicalAddress().ToString();
                    break;
                }
            }
            lbl1.Text = macAddresses;

        }

在上面的代码中,我没有得到主LAN卡的MAC地址。在我的计算机中,我创建了两个环回适配器A& B.我有一张物理Lan卡。现在我想获得主物理Lan卡的MAC地址而不是A& B.怎么做?能否请您提供我可以解决上述问题的任何代码或链接?

2 个答案:

答案 0 :(得分:3)

将条件更改为:

 // instead of nic.OperationalStatus == OperationalStatus.Up
 nic.NetworkInterfaceType != NetworkInterfaceType.Loopback

或者使用它:

    nic.NetworkInterfaceType == NetworkInterfaceType.Ethernet || nic.NetworkInterfaceType  ==  etworkInterfaceType.FastEthernetFx || nic.NetworkInterfaceType ==              NetworkInterfaceType.FastEthernetT

答案 1 :(得分:0)

如果您使用localhost作为目标IP地址,我想您可以使用此链接...
How to get the Mac address