Как определить MAC-адрес основной физической локальной карты? - PullRequest
1 голос
/ 22 октября 2010

Я занимаюсь разработкой оконного приложения на 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;

        }

В приведенном выше коде я не получаю MAC-адрес основной сетевой карты. На моем компьютере я создал два петлевых адаптера A и B. У меня есть одна физическая карта Lan. Теперь я хочу получить MAC-адрес первичной физической карты Lan вместо A & B. Как это сделать? Можете ли вы предоставить мне какой-либо код или ссылку, по которой я могу решить вышеуказанную проблему?

Ответы [ 2 ]

3 голосов
/ 22 октября 2010

Измените условие на:

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

Или используйте это:

    nic.NetworkInterfaceType == NetworkInterfaceType.Ethernet || nic.NetworkInterfaceType  ==  etworkInterfaceType.FastEthernetFx || nic.NetworkInterfaceType ==              NetworkInterfaceType.FastEthernetT
0 голосов
/ 22 октября 2010

Я думаю, вы могли бы использовать эту ссылку, если вы используете localhost в качестве целевого IP-адреса ...
Как получить адрес Mac

...