Как определить MAC-адрес фактической карты физической сети — не виртуальные сетевые интерфейсы, созданные VPN (.NET C#)

Вместо того, чтобы просто иметь TextBlock, попробуйте это:

<TextBlock>
  <Bold>
    <Run />
  </Bold>
</TextBlock>

Затем привязка данных к Выполнению. TextProperty вместо этого.

21
задан blak3r 14 October 2009 в 17:31
поделиться

3 ответа

Это мой метод: он использует тот факт, что физическая карта подключена к интерфейсу PCI

ManagementObjectSearcher searcher = new ManagementObjectSearcher
    ("Select MACAddress,PNPDeviceID FROM Win32_NetworkAdapter WHERE MACAddress IS NOT NULL AND PNPDeviceID IS NOT NULL");
ManagementObjectCollection mObject = searcher.Get();

foreach (ManagementObject obj in mObject)
{
    string pnp = obj["PNPDeviceID"].ToString();
    if (pnp.Contains("PCI\\"))
    {
        string mac = obj["MACAddress"].ToString();
        mac = mac.Replace(":", string.Empty);
        return mac;
    }
}
12
ответ дан 29 November 2019 в 22:05
поделиться

Первые три байта MAC-адреса являются идентификатором производителя. Вы можете занести в черный список определенные идентификаторы производителя, которые, как известно, не подходят для ваших целей, и проигнорировать эти интерфейсы.

Полагаться на скорость вряд ли будет хорошей идеей, потому что нет причин, по которым интерфейс VPN не мог бы сообщить о себе как имеющий гигабитная скорость.

2
ответ дан 29 November 2019 в 22:05
поделиться

MAC-адреса - это физические аппаратные адреса. Я не могу протестировать этот компьютер, но не думаю, что вы получите новый MAC-адрес, если будет добавлено виртуальное соединение, потому что это не настоящее оборудование. Это будет другое соединение, но не другой MAC-адрес.

Таким образом, гарантия того, что вы каждый раз будете получать один и тот же MAC-адрес, зависит от одних и тех же компонентов оборудования, подключенных к машине, и от того, что вы используете тот же алгоритм для выбора из этого оборудования.

0
ответ дан 29 November 2019 в 22:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: