Windows: Get the interface number of a NIC
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:
Is there a reliable way, manual and or programmatical, to get that interface number if I know just about everything else about that adaptor?
4 Answers 4
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
31 полезный пример использования команды netsh в Windows

В этой статье мы на простых примерах покажем Вам, как применять команду netsh в операционной системе Windows для проверки настроек и исправления неполадок в сети. Стоит отметить, что такие навыки необходимы как опытному пользователю, так и будущему специалисту в секторе IT. Прежде всего потому, что утилита netsh широко используется для того, чтобы удаленно настраивать и решать проблемы с сетевыми соединениями у серверов под управлением операционных систем семейства Microsoft Windows Server.
Содержание:
Что такое netsh
Netsh (от англ. Network Shell — «сетевая оболочка») — это программа для локального и удаленного управлениями параметрами сети, входящая в стандартный набор инструментов семейства операционных систем Microsoft Windows NT, начиная с Windows 2000. Утилита позволяет менять настройки сетевого соединения с использованием только интерфейса командной строки (Command Line Interface).
Примеры полезного использования команды netsh в Windows
Теперь давайте перейдем непосредственно к примерам использования команды netsh в Windows. Стоит отметить, что с их помощью Вы научитесь легко решать большинство стандартных проблем с сетью.
Проверяем все правила брандмауэра Windows
Предположим, что Вам нужно узнать, какие правила сейчас есть у брандмауэра Windows. Для этого введите в командную строку команду netsh advfirewall firewall show rule name=all :

Читайте также: Лучшие 25 команд брандмауэра UFW, которые должен знать каждый администратор Linux.
Проверяем все правила брандмауэра Windows для активной учетной записи пользователя
Безусловно, увидеть вообще все правила брандмауэра Windows бывает полезно. Однако чаще Вам нужны будут только те правила, которые относятся к текущей учетной записи пользователя операционной системы. Чтобы их увидеть, введите в командную строку команду netsh advfirewall show currentprofile :

Проверяем состояние сетевого интерфейса с помощью netsh
Также с помощью утилиты netsh можно проверить состояние всего сетевого интерфейса системы. Для этого введите в командную строку команду netsh interface show interface :
Узнаем индексы всех сетевых интерфейсов в системе
Вам могут понадобиться для работы индексы всех сетевых интерфейсов системы — как отключенных, так и подключенных. Чтобы вывести их на экран — введите в командную строку команду netsh interface ip show interfaces :

Читайте также: Топ-10 лучших инструментов для устранения неполадок сети в Linux.
Узнаем профили настроек беспроводных соединений
Помимо всего прочего, с помощью команды netsh можно проверить все профили беспроводных соединений. Для этого введите в командную строку команду netsh wlan show profile :

Проверяем все доступные беспроводные соединения
Кроме того, с помощью netsh можно увидеть все доступные беспроводные соединения. Для этого введите в командную строку команду netsh wlan show networks :

Как видите, в настоящее время нам доступно лишь 1 беспроводное сетевое соединение.
Проверяем мощность сигнала всех доступных беспроводных соединений
Часто так бывает, что Вам доступны несколько беспроводных сетей, часть из которых — не обеспечивают надежного соединения. К счастью, команда netsh позволяет легко проверить следующую информацию обо всех доступных соединениях:
- тип радио;
- канал;
- базовые скорости;
- мощность сигнала и т. п.
Для проверки введите в командную строку команду netsh wlan show networks mode=bssid :
Отключаемся от активного беспроводного соединения с помощью команды netsh
Теперь давайте проверим, как отключиться от активного беспроводного соединения. Для этого введите в командную строку команду netsh wlan disconnect :
Подключаемся к другому беспроводному соединению
Конечно же, с помощью команды netsh можно не только отключиться, но и подключиться к беспроводной сети. Для этого введите в командную строку команду netsh wlan connect name=»sedicomm2″ :
Важно: название беспроводной сети у Вас будет другим — подставьте в команду свое.
Выводим на экран все о беспроводном интерфейсе
Кроме того, Вы всегда можете посмотреть подробную информацию о Вашем беспроводном сетевом интерфейсе. Для этого введите в командную строку команду netsh wlan show interfaces :

Как видите, в нашей системе есть только 1 беспроводной адаптер — Qualcomm Atheros.
Проверяем драйверы беспроводных сетевых интерфейсов
Также бывает полезно проверить драйверы беспроводных сетевых интерфейсов. Чтобы вывести данные о них на экран — введите в командную строку команду netsh wlan show drivers :

В выводе этой команды Вы найдете важную информацию о драйвере устройства Wi-Fi. К примеру, о поставщике драйвера или его версии.
Проверяем текущие настройки прокси-сервера в Windows
Безусловно, предусмотрена и возможность проверки текущих настроек прокси-сервера в Windows. Для этого введите в командную строку команду netsh winhttp show proxy :

Как видите, у нас используется прямой доступ (без прокси-сервера).
Узнаем глобальные параметры TCP
Также с помощью утилиты netsh можно проверить глобальные параметры TCP. Для этого введите в командную строку команду netsh interface tcp show global :
Узнаем глобальные параметры UDP
Аналогичным образом можно проверить и глобальные параметры UDP. Просто введите в командную строку команду netsh interface udp show global :
Отключаем глобальный параметр — TCP RSS
Предположим, что Вам нужно отключить какой-нибудь глобальный параметр, например, TCP RSS.
TCP RSS (Receive Side Scaling) — это сетевая технология, позволяющая эффективно распределять обработку принимаемых по сети данных между несколькими процессорами в многопроцессорных платформах.
Для этого введите в командную строку команду netsh interface tcp set global rss=disabled :
Включаем глобальный параметр — TCP RSS
Аналогичным образом можно включить глобальный параметр, например, все тот же TCP RSS. Для этого введите в командную строку команду netsh interface tcp set global rss=enabled :
Выводим список всех псевдонимов в сети
Скорее всего, Вам может понадобиться функция, выводящая на экран список всех псевдонимов в сети. Чтобы сделать это — введите в командную строку команду netsh show alias :
Сбрасываем записи Winsock до состояния по умолчанию
Помимо всего прочего, с помощью утилиты можно сбросить записи Winsock.
Winsock (Windows Sockets API) — это интерфейс прикладного программирования (API), который определяет, каким способом сетевое программное обеспечение в операционной системе Microsoft Windows будет получать доступ к сетевым службам, включая TCP / IP.
Для этого введите в командную строку команду netsh winsock reset catalog :
Сбрасываем стек TCP / IP до настроек по умолчанию
Похожим образом можно сбросить стек TCP / IP до настроек по умолчанию. Для этого введите в командную строку команду netsh int ip reset reset.log :

Читайте также: Как настроить классификацию трафика для QoS на маршрутизаторе Cisco.
Задаем прокси в Windows с помощью команды netsh
Не менее полезной функцией является возможность задать прокси в Windows. Просто введите в командную строку команду netsh winhttp set proxy «sedicommproxy.proxyaddress.com:8484» «;*.proxyaddress.com» :
Важно: вместо sedicommproxy.proxyaddress.com:8484 и proxyaddress.com нужно указать данные своего реально существующего прокси-сервера.
Меняем IP-адрес интерфейса
Ко всему прочему, утилита позволяет поменять IP-адрес сетевого интерфейса. Для этого введите в командную строку команду netsh int ip set address «local area connection» static 192.168.29.101 255.255.255.0 192.168.29.254 1 :
Проверяем многоадресное вещание у всех сетевых интерфейсов
Кроме того, утилита позволяет проверить настройки многоадресного вещания для всех сетевых интерфейсов системы.
Многоадресное вещание (multicast) — это разновидность широковещания, при которой адресом назначения сетевых пакетов является мультикастная группа. Использовать мультикаст могут, к примеру, приложения для видеоконференцсвязи, рассылки электронной почты, радиовещания в сети.
Введите в командную строку команду netsh interface ip show joins :
Открываем сетевой порт в брандмауэре Windows
Довольно распространенной бывает ситуация, при которой Вам нужно открыть сетевой порт в брандмауэре Windows. Для этого введите в командную строку команду netsh advfirewall firewall add rule name=»Open Remote Desktop» protocol=TCP dir=in localport=3389 action=allow :
Важно: открытые порты могут сделать Вашу систему уязвимой, потому пользуйтесь этой функцией осторожно (чтобы закрыть порт, замените в команде следующие значения — action=allow на action=block).

Читайте также: Как настроить фильтрацию трафика PACL на портах L2 коммутатора.
Добавляем основной DNS-сервер в сетевой интерфейс
Также Вам может понадобиться функция добавления основного DNS-сервера в сетевой интерфейс. Для этого введите в командную строку команду netsh interface ip add dns name=»Local Area Connection» addr=192.168.0.131 :
Важно: вместо приведенного в примере IP-адреса 192.168.0.130 Вам нужно указать адрес собственного реального DNS-сервера.
Разрешаем запросы команды ping в брандмауэре Windows
Предположим, что для работы Вам нужно сделать систему доступной для запросов команды ping. Просто введите в командную строку команду netsh advfirewall firewall add rule name=»All ICMP V4″ dir=in action=allow protocol=icmpv4 :
Важно: в большинстве случаев не стоит оставлять свою операционную систему доступной для команды ping — с ее помощью злоумышленники могут исследовать Вашу сеть на предмет уязвимостей.
Запрещаем запросы команды ping в брандмауэре Windows
Однако не забудьте после выполнения запланированных работ отключить в брандмауэре Windows возможность реагировать на запросы команды ping. Просто введите в командную строку команду netsh advfirewall firewall add rule name=»All ICMP V4″ dir=in action=block protocol=icmpv4 :
Отключаем брандмауэр Windows для всех учетных записей пользователей
Также в некоторых случаях Вам может быть нужно полностью отключить брандмауэр Windows для всех учетных записей пользователей. Введите в командную строку команду netsh advfirewall set allprofiles state off :
Важно: в том случае, если Вы не используете сторонний межсетевой экран (firewall), полное отключение брандмауэра Windows может быть опасным для Вашей системы.
Восстанавливаем настройки брандмауэра Windows по умолчанию для всех учетных записей пользователей
Скорее всего, не менее востребованной будет функция восстановления настроек брандмауэра Windows по умолчанию для всех учетных записей пользователей. Это делается следующим образом — введите в командную строку команду netsh advfirewall reset :
Перехватываем пакеты с помощью команды netsh
В процессе исправления проблем с сетевым подключением Вам может потребоваться перехватить сетевые пакеты для анализа. Для этого введите в командную строку команду netsh trace start capture=yes tracefile=c:\trace.etl persistent=yes maxsize=4096 :
Останавливаем трассировку
Конечно же, важно уметь не только запускать, но и останавливать процесс трассировки. Для этого введите в командную строку команду netsh trace stop :
Выводим на экран все опции команды netsh
Конечно же, на этом возможности утилиты netsh не заканчиваются. Чтобы узнать больше о ее опциях — просто введите в командную строку команду netsh /? :

Выводы
Мы выяснили, что всего одна команда netsh позволяет решать огромное количество задач по настройке работы сети в Windows. Надеемся, что ознакомившись с приведенными примерами, Вы получили ценные навыки сетевого и системного администрирования, которые в равной степени будут полезны как в работе, так и для настройки своего персонального компьютера.
Как узнать номер интерфейса в windows
Как узнать номер интерфейса в windows

Windows: Get the interface number of a NIC
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:
Is there a reliable way, manual and or programmatical, to get that interface number if I know just about everything else about that adaptor?
4 Answers 4
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
Команда для поиска сетевого интерфейса для IP
С помощью ipconfig я могу показать список сетевых адаптеров и их настройки, например, IP-адрес.
Я ищу обратную команду, которая отображает имя сетевого адаптера для данного IP-адреса.
Я попытался отфильтровать вывод ipconfig с помощью команды, подобной ipconfig | find «192.168.2.4» но имя адаптера пропало.
Мой вывод ipconfig (сложная часть кажется, что у меня есть несколько адресов на одном адаптере здесь):
6 ответов 6
Как отобразить имя сетевого адаптера для данного IP-адреса?
Это решение не требует никаких внешних команд ( pcre2grep , sed и т.д.).
Используйте следующий пакетный файл (getname.cmd):
Дальнейшее чтение
-
— Отличный справочник по всем вопросам, связанным с командной строкой Windows.
— Циклическая команда против результатов другой команды.
— настройка IP (настройка интернет-протокола)
Вы можете использовать этот PS один вкладыш:
Чтобы использовать его прямо из командной строки:
или если вы хотите использовать его повторно, поместите его в скрипт и сделайте адрес параметром
Изменить: чтобы получить имя, как показано в Win/Ipconfig:
(присваивание промежуточным переменным только для того, чтобы сделать его немного более читабельным)
Я ищу обратную команду, которая отображает имя сетевого адаптера для данного IP-адреса.
Исходя из всего, что я пробовал, это должно сработать, кажется, вы говорите, что вам нужно получить эту информацию ТОЛЬКО с IP-адреса, который вы уже указали в своем примере.
ИНТЕРАКТИВНАЯ ПОДСКАЗКА ДЛЯ IP-АДРЕСА, ЧТОБЫ ПОЛУЧИТЬ ИМЯ СОЕДИНЕНИЯ СЕТИ
(Используйте WMIC и некоторый пакетный FOR цикла token и разбор delim чтобы получить имя сетевого подключения для указанного IP-адреса.)
(Значение результата отобразится в окне команд и окне сообщений. Это все пакетный сценарий, но динамически создает некоторые функции сценария VBS, чтобы упростить процесс для всех, кто нуждается.)
ВСЕ ОДИН ЛАЙНЕРЫ
РОДНЫЕ ОКНА ТОЛЬКО С NETSH ВСЕМИ ИНТЕРФЕЙСАМИ (ВСЕ АДРЕСА IPv4)

РОДНЫЕ ОКНА ТОЛЬКО С IPCONFIG ВСЕМИ ИНТЕРФЕЙСАМИ (ВСЕ АДРЕСА IPv4)

ИСПОЛЬЗОВАНИЕ PCRE2GREP (для @SalvoF)
УДЕЛЬНЫЙ IP-АДРЕС УКАЗАН
НАЙТИ ВСЕ IP-АДРЕСА
НАЙТИ ВСЕ IP-АДРЕСА (очищенное регулярное выражение (для @SalvoF))
Пожалуйста, обратите внимание, что pcre2grep я пробовал, соответствует @SalvoF [+1] как он предложил, но используя . FIND /V для удаления строки выше, содержащей DHCP похоже, дает желаемый результат, как вы описали. Я использовал NETSH а не IPCONFIG .