Как узнать номер интерфейса в windows

RRS feed

  • Remove From My Forums

 locked

Как узнать номер сетевого интерфейса

RRS feed

  • Вопрос

  • Нужно построить таблицу маршрутизации, при помощи программы route. Но не могу указать номер интерфейса… У меня 2 активных сетевых соединения. Я уже пробовал методом перебора от 1 до 50 и всегда получаю сообщение об ошибке, что мол такого интерфейса нет. Как узнать номер сетевого интерфейса?

Ответы

  • Насколько я помню, route print печатает interface list среди прочего, где для каждого интерфейса указан номер.

Все ответы

  • Насколько я помню, route print печатает interface list среди прочего, где для каждого интерфейса указан номер.

  • Номер сетевого интерфейса не обязателен, будет выбран автоматически для указаннового вами шлюза.

    ЗЫ.Согласен с предыдущим оратором. :-)

  • Спасибо Дмитрий и Popus. Тема закрыта.

  • Георгий, а Вы еще кнопочку такую нажмите: «Было ли это сообщение информативным? — Да!»

    :)

  • Да вот не ту кнопочку нажать надо:) Надо нажать кнопочку Отметить как ответ

  • In command prompt:

    netsh interface ipv4 show interface

    • Изменено

      17 августа 2016 г. 14:12

    • Предложено в качестве ответа
      old_boy
      14 ноября 2016 г. 12:38

  • Никак нет, не печатает Interface List в таблице маршрутов. Ответ не годится

  • Действительно, именно здесь ясно видно с родными названиями интерфейсов их номера

  • Уважаемый Марат, не нужно заниматься некропостингом. Если у вас есть вопрос который не получается решить поиском — создайте новое обсуждение


    The opinion expressed by me is not an official position of Microsoft

I have the following problem: I have a server with a rather dynamic network configuration and need to configure routes on it with the IF parameter:

route add  ... mask ... ... if ?

Is there a reliable way, manual and or programmatical, to get that interface number if I know just about everything else about that adaptor?

asked May 24, 2013 at 6:50

AndreasT's user avatar

You can see that info also when you run the route print command. It’s the first thing displayed. The index is the first column

===========================================================================
Interface List
 13... ......Bluetooth Device (Personal Area Network)
 10... ......Intel(R) 82566MM Gigabit Network Connection
 11... ......Intel(R) Wireless WiFi Link 4965AG
 17... ......VMware Virtual Ethernet Adapter for VMnet1
 18. . ......VMware Virtual Ethernet Adapter for VMnet8

answered May 24, 2013 at 18:21

Rex's user avatar

RexRex

7,8953 gold badges28 silver badges45 bronze badges

1

The following command displays the list of interfaces:

netsh int ipv4 show interfaces

Pier-Luc Gendreau's user avatar

answered Jan 15, 2015 at 8:50

Admin's user avatar

AdminAdmin

2012 silver badges2 bronze badges

3

Since you know everything else about the adaptor, and since you are using Server 2008, you can (and should) just add your routes with netsh using the interface name:

netsh int ipv4 add route <remote netid>/<remote netmask> <interface name> <next hop>

Use of the route command is generally deprecated in 2008+.

answered May 24, 2013 at 18:00

phoebus's user avatar

phoebusphoebus

8,3701 gold badge31 silver badges29 bronze badges

3

You can using PowerShell:

Get-WMIObject Win32_networkadapter | Select-Object Name, AdapterType, InterfaceIndex | Format-List

Andres Kauts's user avatar

answered May 24, 2013 at 7:05

cuonglm's user avatar

cuonglmcuonglm

2,3562 gold badges15 silver badges20 bronze badges

2

Оглавление:

  • О индексных номерах сетевого интерфейса
  • Список номеров устройств сетевого интерфейса
  • Получить больше информации об устройстве
  • Индексные номера интерфейса предназначены для специфичности

Видео: PHP Syntax (Февраль 2023)

Видео: PHP Syntax (Февраль 2023)

Современные компьютеры часто имеют несколько физических и программных сетевых адаптеров. Люди и машины могут использовать назначенные системой индексы сетевого интерфейса для разделения элементов сети. Вы можете найти все номера индексов сетевого интерфейса вашего компьютера, используя команду «route» в командной строке. Индексные номера сетевого интерфейса отличаются от адресов интернет-протокола тем, что они используются в одном устройстве для направления трафика, а IP-адреса регулируют связь между устройствами.

Индексные номера сетевого интерфейса используются для направления сетевого трафика в определенном направлении. Кредит: hxdbzxy / iStock / Getty Images

О индексных номерах сетевого интерфейса

Согласно Cisco, значение индекса интерфейса представляет собой уникальный идентификационный номер для физического или логического сетевого устройства. Начиная с номера один, компьютер назначает индексный номер каждому устройству для обозначения путей сетевого трафика. Типичным компьютерам, использующимся в небольших сетях, не нужно беспокоиться о настройке сетевого трафика с помощью индексных номеров интерфейса, поскольку сетевое оборудование автоматически настраивает пути трафика. Однако в крупных сетях, которые обеспокоены скоростью работы, могут использоваться номера индексов интерфейса для управления сетевыми трактами данных. Если компьютер инициализирует сетевые устройства через перезагрузку, он может переназначить номера индекса; Компьютеры должны сохранять порядковые номера интерфейса постоянными при использовании указанных сетевых путей.

Список номеров устройств сетевого интерфейса

В командной строке есть все инструменты, необходимые для определения номеров интерфейсов и настройки сетевых путей. Вы можете запустить командную строку, нажав «Windows Key-R», набрав «cmd» и нажав «Enter». Выберите окно командной строки, введите команду «route print» и нажмите «Enter», чтобы отобразить «Список интерфейсов» и таблицы маршрутизации системы. Индексы интерфейса отображаются в списке интерфейсов в левом столбце и соответствуют физическому или логическому устройству, указанному в правом столбце. Кроме того, вы можете ввести «route print 256. *» для отображения списка интерфейсов с пустыми таблицами маршрутизации. Индекс интерфейса имеет целочисленное значение; однако более старые операционные системы могут отображать значение в шестнадцатеричном формате вместо base-10 с «0x» перед индексным номером.

Получить больше информации об устройстве

В то время как список интерфейсов связывает каждый индексный номер с устройством, имена устройств могут не быть особенно описательными в отношении того, что они делают. Вы можете найти дополнительную информацию о каждом из устройств, введя команду «ipconfig / all» в командной строке. Команда ipconfig не отображает номер индекса; скорее он используется для отображения и настройки сетевых значений TCP / IP. Команда ipconfig выделяет каждое устройство с тем же именем, которое используется в списке интерфейсов, и предоставляет дополнительную информацию, включая описание устройства, состояние активности устройства и путь, который устройство использует для подключения к сети.

Индексные номера интерфейса предназначены для специфичности

Сетевой трафик будет проходить через любой доступный путь от исходной системы к целевой. Номера интерфейсов полезны для указания того, какой трафик пути проходит между системами. Например, команда «route -p add 1.2.3.4 mask 255.255.0.0 5.6.7.8 if 0x1» дает указание всему трафику, проходящему через индексное устройство 1, идти на устройство с примером IP-адреса «1.2.3.4» для перехода на устройство по адресу «5.6.7.8» далее по пути к месту назначения.

Как найти индексный номер сетевого интерфейса

I’m looking for a reverse command that displays the name of the
network adapter for a given IP address.

Based on everything I tried, this should work seems you say you need to get this information ONLY from the IP address which you already specify in your example.

INTERACTIVE PROMPT FOR IP ADDRESS TO GET NETWORK CONNECTION NAME

(Use WMIC and some batch FOR loop token and delim parsing to get the network connection name for a specified IP address.)

(The result value will echo to a command window and a message box window. It’s all batch script but dynamically builds some VBS script functions to simplify the process for anyone that needs.)

@ECHO ON

:SetTempFiles
SET tmpIPaddr=%tmp%~tmpipaddress.vbs
SET tmpNetConName1=%tmp%~tmpNetConName1.txt
SET tmpNetConName2=%tmp%~tmpNetConName2.txt
SET tmpBatFile=%tmp%~tmpBatch.cmd
SET tmpVBNetCon=%tmp%~tmpVBNetCon.vbs

IF EXIST "%tmpIPaddr%" DEL /F /Q "%tmpIPaddr%"
IF EXIST "%tmpNetConName1%" DEL /Q /F "%tmpNetConName1%"
IF EXIST "%tmpNetConName2%" DEL /Q /F "%tmpNetConName2%"
IF EXIST "%tmpBatFile%" DEL /Q /F "%tmpBatFile%"
IF EXIST "%tmpVBNetCon%" DEL /Q /F "%tmpVBNetCon%"

:InputBox
SET msgboxTitle=IP ADDRESS
SET msgboxLine1=Enter the IP address to get its Windows connection name
>"%tmpIPaddr%" ECHO wsh.echo inputbox("%msgboxLine1%","%msgboxTitle%")
FOR /F "tokens=*" %%N IN ('cscript //nologo "%tmpIPaddr%"') DO CALL :setvariables %%N
GOTO EOF

:setvariables
SET IPAddress=%~1
FOR /F "USEBACKQ TOKENS=3 DELIMS=," %%A IN (`"WMIC NICCONFIG GET IPADDRESS,MACADDRESS /FORMAT:CSV | FIND /I "%IPAddress%""`) DO (SET MACAddress=%%~A)
FOR /F "USEBACKQ TOKENS=3 DELIMS=," %%B IN (`"WMIC NIC GET MACADDRESS,NETCONNECTIONID /FORMAT:CSV | FIND /I "%MACAddress%""`) DO ECHO(%%~B>>"%tmpNetConName1%"

::: Parse Empty Lines
FINDSTR "." "%tmpNetConName1%">"%tmpNetConName2%"

::: Build Dynamic Batch with ECHO'd Network Connection Value
FOR /F "tokens=*" %%C IN (%tmpNetConName2%) DO ECHO ECHO %%~C>>"%tmpBatFile%"
IF NOT EXIST "%tmpBatFile%" GOTO :NullExit
START "" "%tmpBatFile%"

::: Build Dynamic VBS with Message Box Network Connection Value
FOR /F "tokens=*" %%C IN (%tmpNetConName2%) DO (SET vbNetconName=%%~C)
ECHO msgbox "%vbNetconName%",0,"%vbNetconName%">"%tmpVBNetCon%"
START /B "" "%tmpVBNetCon%"
EXIT /B

:NullExit
ECHO msgbox "Cannot find MAC Address, check to confirm IP Address was correct.",0,"Invalid IP">"%tmpVBNetCon%"
START /B "" "%tmpVBNetCon%"
EXIT /B

ALL ONE-LINERS

NATIVE WINDOWS ONLY WITH NETSH ALL INTERFACES (ALL IPv4 ADDRESSES)

NETSH INT IP SHOW CONFIG | FINDSTR /R "Configuration for interface.* Address.*[0-9][0-9]*.[0-9][0-9]*.[0-9][0-9]*.[0-9][0-9]*"

enter image description here

NATIVE WINDOWS ONLY WITH IPCONFIG ALL INTERFACES (ALL IPv4 ADDRESSES)

IPCONFIG | FINDSTR /R "Ethernet* Address.*[0-9][0-9]*.[0-9][0-9]*.[0-9][0-9]*.[0-9][0-9]*"

enter image description here


USING PCRE2GREP (per @SalvoF)

SINGLE IP ADDRESS SPECIFIED

netsh interface ipv4 show address | pcre2grep -B2 "192.168.2.4" | FIND /V "DHCP"

FIND ALL IP ADDRESSES

netsh interface ip show config | pcre2grep -B2 ^(?:[0-9]{1,3}.){3}[0-9]{1,3}$ | FIND /V "DHCP" | FIND /V "Gate" | FIND /V "Metric" | FIND /V "Subnet"

FIND ALL IP ADDRESSES (Cleaned Up Regex (per @SalvoF))

netsh interface ip show config | pcre2grep "^[A-Z]|IP.*([0-9]{1,3}(.|)){4}"

Please note that the pcre2grep I tried is per @SalvoF [+1] as he suggested but using the…. FIND /V to remove the line above containing DHCP seems to get the desired output as you described. I used NETSH rather than IPCONFIG as well.

I’m looking for a reverse command that displays the name of the
network adapter for a given IP address.

Based on everything I tried, this should work seems you say you need to get this information ONLY from the IP address which you already specify in your example.

INTERACTIVE PROMPT FOR IP ADDRESS TO GET NETWORK CONNECTION NAME

(Use WMIC and some batch FOR loop token and delim parsing to get the network connection name for a specified IP address.)

(The result value will echo to a command window and a message box window. It’s all batch script but dynamically builds some VBS script functions to simplify the process for anyone that needs.)

@ECHO ON

:SetTempFiles
SET tmpIPaddr=%tmp%~tmpipaddress.vbs
SET tmpNetConName1=%tmp%~tmpNetConName1.txt
SET tmpNetConName2=%tmp%~tmpNetConName2.txt
SET tmpBatFile=%tmp%~tmpBatch.cmd
SET tmpVBNetCon=%tmp%~tmpVBNetCon.vbs

IF EXIST "%tmpIPaddr%" DEL /F /Q "%tmpIPaddr%"
IF EXIST "%tmpNetConName1%" DEL /Q /F "%tmpNetConName1%"
IF EXIST "%tmpNetConName2%" DEL /Q /F "%tmpNetConName2%"
IF EXIST "%tmpBatFile%" DEL /Q /F "%tmpBatFile%"
IF EXIST "%tmpVBNetCon%" DEL /Q /F "%tmpVBNetCon%"

:InputBox
SET msgboxTitle=IP ADDRESS
SET msgboxLine1=Enter the IP address to get its Windows connection name
>"%tmpIPaddr%" ECHO wsh.echo inputbox("%msgboxLine1%","%msgboxTitle%")
FOR /F "tokens=*" %%N IN ('cscript //nologo "%tmpIPaddr%"') DO CALL :setvariables %%N
GOTO EOF

:setvariables
SET IPAddress=%~1
FOR /F "USEBACKQ TOKENS=3 DELIMS=," %%A IN (`"WMIC NICCONFIG GET IPADDRESS,MACADDRESS /FORMAT:CSV | FIND /I "%IPAddress%""`) DO (SET MACAddress=%%~A)
FOR /F "USEBACKQ TOKENS=3 DELIMS=," %%B IN (`"WMIC NIC GET MACADDRESS,NETCONNECTIONID /FORMAT:CSV | FIND /I "%MACAddress%""`) DO ECHO(%%~B>>"%tmpNetConName1%"

::: Parse Empty Lines
FINDSTR "." "%tmpNetConName1%">"%tmpNetConName2%"

::: Build Dynamic Batch with ECHO'd Network Connection Value
FOR /F "tokens=*" %%C IN (%tmpNetConName2%) DO ECHO ECHO %%~C>>"%tmpBatFile%"
IF NOT EXIST "%tmpBatFile%" GOTO :NullExit
START "" "%tmpBatFile%"

::: Build Dynamic VBS with Message Box Network Connection Value
FOR /F "tokens=*" %%C IN (%tmpNetConName2%) DO (SET vbNetconName=%%~C)
ECHO msgbox "%vbNetconName%",0,"%vbNetconName%">"%tmpVBNetCon%"
START /B "" "%tmpVBNetCon%"
EXIT /B

:NullExit
ECHO msgbox "Cannot find MAC Address, check to confirm IP Address was correct.",0,"Invalid IP">"%tmpVBNetCon%"
START /B "" "%tmpVBNetCon%"
EXIT /B

ALL ONE-LINERS

NATIVE WINDOWS ONLY WITH NETSH ALL INTERFACES (ALL IPv4 ADDRESSES)

NETSH INT IP SHOW CONFIG | FINDSTR /R "Configuration for interface.* Address.*[0-9][0-9]*.[0-9][0-9]*.[0-9][0-9]*.[0-9][0-9]*"

enter image description here

NATIVE WINDOWS ONLY WITH IPCONFIG ALL INTERFACES (ALL IPv4 ADDRESSES)

IPCONFIG | FINDSTR /R "Ethernet* Address.*[0-9][0-9]*.[0-9][0-9]*.[0-9][0-9]*.[0-9][0-9]*"

enter image description here


USING PCRE2GREP (per @SalvoF)

SINGLE IP ADDRESS SPECIFIED

netsh interface ipv4 show address | pcre2grep -B2 "192.168.2.4" | FIND /V "DHCP"

FIND ALL IP ADDRESSES

netsh interface ip show config | pcre2grep -B2 ^(?:[0-9]{1,3}.){3}[0-9]{1,3}$ | FIND /V "DHCP" | FIND /V "Gate" | FIND /V "Metric" | FIND /V "Subnet"

FIND ALL IP ADDRESSES (Cleaned Up Regex (per @SalvoF))

netsh interface ip show config | pcre2grep "^[A-Z]|IP.*([0-9]{1,3}(.|)){4}"

Please note that the pcre2grep I tried is per @SalvoF [+1] as he suggested but using the…. FIND /V to remove the line above containing DHCP seems to get the desired output as you described. I used NETSH rather than IPCONFIG as well.

Понравилась статья? Поделить с друзьями:

Вот еще несколько интересных статей:

  • Как узнать номер жесткого диска на компьютере windows 7
  • Как узнать оставшийся ресурс ssd в windows
  • Как узнать номер usb порта компьютера windows 10
  • Как узнать основные характеристики компьютера на windows 10
  • Как узнать номер mac на windows 7

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии