Я использую ipconfig /all
или getmac /v
для получения всех физических адресов сетевых карт .
Но проблема в том, что, как правило, на компьютере установлено несколько сетевых карт. Также есть некоторые виртуальные MAC-адреса - например, виртуальная сетевая точка доступа Microsoft Wi-Fi, которые отображаются только при включенной точке доступа Wi-Fi.
Итак, как я могу собрать только адрес, соответствующий Ethernet через командную строку?
вывод: (с использованием getmac /fo csv /v
и точки доступа wifi OFF)
"Connection Name","Network Adapter","Physical Address","Transport Name"
"Ethernet","Realtek PCIe FE Family Controller","A0-2B-B8-27-62-12","\Device\Tcpi
p_{F1FF9AF6-AD1A-4C5E-8717-C646C9AE466C}"
"Wi-Fi","Qualcomm Atheros QCA9565 802.11b/g/n WiFi Adapter","28-E3-47-D2-FB-60",
"Media disconnected"
вывод: (используя getmac /fo csv /v
и точку доступа wifi)
"Connection Name","Network Adapter","Physical Address","Transport Name"
"Ethernet","Realtek PCIe FE Family Controller","A0-2B-B8-27-62-12","\Device\Tcpi
p_{F1FF9AF6-AD1A-4C5E-8717-C646C9AE466C}"
"Wi-Fi","Qualcomm Atheros QCA9565 802.11b/g/n WiFi Adapter","28-E3-47-D2-FB-60",
"Media disconnected"
"Local Area Connection* 7","Microsoft Hosted Network Virtual Adapter","4A-E3-47-
D2-FB-60","\Device\Tcpip_{630B2924-03A8-41C1-B1F2-D981A4C263C6}"
Список всех моих адаптеров: (wmic nic)http://pastebin.com/zyz9LjJe
ОБНОВЛЕНИЕ (возможное решение): и @DavidPostill, и ответ @wmz мне очень помогли. наконец, я получил решение устранить все виртуальные адаптеры с виртуальным MAC-адресом.
x2-xx-xx-xx-xx-xx
x6-xx-xx-xx-xx-xx
xA-xx-xx-xx-xx-xx
xE-xx-xx-xx-xx-xx
MAC-адреса с этими диапазонами чаще всего используются виртуальными MAC-адаптерами. https://serverfault.com/questions/40712/what-range-of-mac-addresses-can-i-safely-use-for-my-virtual-machines
Итак, после получения всех MAC-адресов с помощью команды getmac
, мы можем отфильтровать эти виртуальные MAC-адреса с помощью регулярного выражения. Кроме того, мы замечаем, что фильтрация MAC по "Wi-Fi" более надежна, чем фильтрация по "локальной сети". Поэтому мы отфильтровываем соединения с «wi-fi» в их именах, чтобы получить окончательное соединение LAN/Ethernet.