Как выглядят «имена интерфейсов» Windows? - PullRequest
6 голосов
/ 24 января 2012

Существует функция if_nametoindex (), которая преобразует имя интерфейса в индекс интерфейса.Эта функция доступна в Linux и Windows.В Linux я думаю, что эти имена интерфейсов могут выглядеть как «eth0» или «wlan0».

Мой вопрос: как выглядят имена интерфейсов Win32?И есть ли какие-либо вызовы, которые позволяют мне узнать, какие имена интерфейсов доступны?

Ответы [ 2 ]

5 голосов
/ 24 января 2012

Там также if_indextoname. Я добавил вывод ниже. Этот стиль имени (например, loopback_0) не является именем интерфейса Win32. Я предполагаю, что эти имена существуют только для совместимости с rfc2553. Win32 фактически использует имена интерфейсов, такие как \DEVICE\TCPIP_{846EE342-7039-11DE-9D20-806E6F6E6963}.

Для перечисления всех интерфейсов нужно использовать GetIfTable и друзей. if_nameindex не поддерживается.

loopback_0
tunnel_0
tunnel_2
tunnel_3
ppp_0
ethernet_0
ethernet_1
ethernet_4
ppp_1
wireless_0
ethernet_9
tunnel_4
tunnel_1
tunnel_7
tunnel_8
wireless_5
tunnel_5
tunnel_9
tunnel_10
tunnel_6
wireless_1
wireless_2
ethernet_2
ethernet_3
ethernet_5
ethernet_6
ethernet_7
wireless_3
wireless_4
wireless_6
wireless_7
wireless_8
2 голосов
/ 24 января 2012

Они выглядят как \Device\NPF_{506B4345-1FC0-43F4-BFCF-4FFAD7739AFF}.Я не знаю, есть ли более прямой способ получить список интерфейсов, но я получил этот от wireshark, который использует winpcap .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...