В этой статье мы на простых примерах покажем Вам, как применять команду 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:
1C:\Users\Professional>netsh advfirewall firewall show rule name=all
Проверяем все правила брандмауэра Windows для активной учетной записи пользователя
Безусловно, увидеть вообще все правила брандмауэра Windows бывает полезно. Однако чаще Вам нужны будут только те правила, которые относятся к текущей учетной записи пользователя операционной системы. Чтобы их увидеть, введите в командную строку команду netsh advfirewall show currentprofile:
1C:\Users\Professional>netsh advfirewall show currentprofile
Проверяем состояние сетевого интерфейса с помощью netsh
Также с помощью утилиты netsh можно проверить состояние всего сетевого интерфейса системы. Для этого введите в командную строку команду netsh interface show interface:
1C:\Users\Professional>netsh interface show interface
Узнаем индексы всех сетевых интерфейсов в системе
Вам могут понадобиться для работы индексы всех сетевых интерфейсов системы — как отключенных, так и подключенных. Чтобы вывести их на экран — введите в командную строку команду netsh interface ip show interfaces:
1C:\Users\Professional>netsh interface ip show interfaces
Узнаем профили настроек беспроводных соединений
Помимо всего прочего, с помощью команды netsh можно проверить все профили беспроводных соединений. Для этого введите в командную строку команду netsh wlan show profile:
1C:\Users\Professional>netsh wlan show profile
Проверяем все доступные беспроводные соединения
Кроме того, с помощью netsh можно увидеть все доступные беспроводные соединения. Для этого введите в командную строку команду netsh wlan show networks:
1C:\Users\Professional>netsh wlan show networks
Как видите, в настоящее время нам доступно лишь 1 беспроводное сетевое соединение.
Проверяем мощность сигнала всех доступных беспроводных соединений
Часто так бывает, что Вам доступны несколько беспроводных сетей, часть из которых — не обеспечивают надежного соединения. К счастью, команда netsh позволяет легко проверить следующую информацию обо всех доступных соединениях:
- тип радио;
- канал;
- базовые скорости;
- мощность сигнала и т. п.
Для проверки введите в командную строку команду netsh wlan show networks mode=bssid:
1C:\Users\Professional>netsh wlan show networks mode=bssid
Отключаемся от активного беспроводного соединения с помощью команды netsh
Теперь давайте проверим, как отключиться от активного беспроводного соединения. Для этого введите в командную строку команду netsh wlan disconnect:
1C:\Users\Professional>netsh wlan disconnect
Подключаемся к другому беспроводному соединению
Конечно же, с помощью команды netsh можно не только отключиться, но и подключиться к беспроводной сети. Для этого введите в командную строку команду netsh wlan connect name="sedicomm2":
1C:\Users\Professional>netsh wlan connect name="sedicomm2"
Важно: название беспроводной сети у Вас будет другим — подставьте в команду свое.
Выводим на экран все о беспроводном интерфейсе
Кроме того, Вы всегда можете посмотреть подробную информацию о Вашем беспроводном сетевом интерфейсе. Для этого введите в командную строку команду netsh wlan show interfaces:
1C:\Users\Professional>netsh wlan show interfaces
Как видите, в нашей системе есть только 1 беспроводной адаптер — Qualcomm Atheros.
Проверяем драйверы беспроводных сетевых интерфейсов
Также бывает полезно проверить драйверы беспроводных сетевых интерфейсов. Чтобы вывести данные о них на экран — введите в командную строку команду netsh wlan show drivers:
1C:\Users\Professional>netsh wlan show drivers
В выводе этой команды Вы найдете важную информацию о драйвере устройства Wi-Fi. К примеру, о поставщике драйвера или его версии.
Проверяем текущие настройки прокси-сервера в Windows
Безусловно, предусмотрена и возможность проверки текущих настроек прокси-сервера в Windows. Для этого введите в командную строку команду netsh winhttp show proxy:
1C:\Users\Professional>netsh winhttp show proxy
Как видите, у нас используется прямой доступ (без прокси-сервера).
Узнаем глобальные параметры TCP
Также с помощью утилиты netsh можно проверить глобальные параметры TCP. Для этого введите в командную строку команду netsh interface tcp show global:
1C:\Users\Professional>netsh interface tcp show global
Узнаем глобальные параметры UDP
Аналогичным образом можно проверить и глобальные параметры UDP. Просто введите в командную строку команду netsh interface udp show global:
1C:\Users\Professional>netsh interface udp show global
Отключаем глобальный параметр — TCP RSS
Предположим, что Вам нужно отключить какой-нибудь глобальный параметр, например, TCP RSS.
TCP RSS (Receive Side Scaling) — это сетевая технология, позволяющая эффективно распределять обработку принимаемых по сети данных между несколькими процессорами в многопроцессорных платформах.
Для этого введите в командную строку команду netsh interface tcp set global rss=disabled:
1C:\Users\Professional>netsh interface tcp set global rss=disabled
Включаем глобальный параметр — TCP RSS
Аналогичным образом можно включить глобальный параметр, например, все тот же TCP RSS. Для этого введите в командную строку команду netsh interface tcp set global rss=enabled:
1C:\Users\Professional>netsh interface tcp set global rss=enabled
Выводим список всех псевдонимов в сети
Скорее всего, Вам может понадобиться функция, выводящая на экран список всех псевдонимов в сети. Чтобы сделать это — введите в командную строку команду netsh show alias:
1C:\Users\Professional>netsh show alias
Сбрасываем записи Winsock до состояния по умолчанию
Помимо всего прочего, с помощью утилиты можно сбросить записи Winsock.
Winsock (Windows Sockets API) — это интерфейс прикладного программирования (API), который определяет, каким способом сетевое программное обеспечение в операционной системе Microsoft Windows будет получать доступ к сетевым службам, включая TCP / IP.
Для этого введите в командную строку команду netsh winsock reset catalog:
1C:\Users\Professional>netsh winsock reset catalog
Сбрасываем стек TCP / IP до настроек по умолчанию
Похожим образом можно сбросить стек TCP / IP до настроек по умолчанию. Для этого введите в командную строку команду netsh int ip reset reset.log:
1C:\Users\Professional>netsh int ip reset reset.log
Задаем прокси в Windows с помощью команды netsh
Не менее полезной функцией является возможность задать прокси в Windows. Просто введите в командную строку команду netsh winhttp set proxy "sedicommproxy.proxyaddress.com:8484" ";*.proxyaddress.com":
1C:\Users\Professional>netsh winhttp set proxy "sedicommproxy.proxyaddress.com:8484" "<local>;*.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:
1C:\Users\Professional>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:
1C:\Users\Professional>netsh interface ip show joins
Открываем сетевой порт в брандмауэре Windows
Довольно распространенной бывает ситуация, при которой Вам нужно открыть сетевой порт в брандмауэре Windows. Для этого введите в командную строку команду netsh advfirewall firewall add rule name="Open Remote Desktop" protocol=TCP dir=in localport=3389 action=allow:
1C:\Users\Professional>netsh advfirewall firewall add rule name="Open Remote Desktop" protocol=TCP dir=in localport=3389 action=allow
Важно: открытые порты могут сделать Вашу систему уязвимой, потому пользуйтесь этой функцией осторожно (чтобы закрыть порт, замените в команде следующие значения — action=allow на action=block).
Добавляем основной DNS-сервер в сетевой интерфейс
Также Вам может понадобиться функция добавления основного DNS-сервера в сетевой интерфейс. Для этого введите в командную строку команду netsh interface ip add dns name="Local Area Connection" addr=192.168.0.131:
1C:\Users\Professional>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:
1C:\Users\Professional>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:
1C:\Users\Professional>netsh advfirewall firewall add rule name="All ICMP V4" dir=in action=block protocol=icmpv4
Отключаем брандмауэр Windows для всех учетных записей пользователей
Также в некоторых случаях Вам может быть нужно полностью отключить брандмауэр Windows для всех учетных записей пользователей. Введите в командную строку команду netsh advfirewall set allprofiles state off:
1C:\Users\Professional>netsh advfirewall set allprofiles state off
Важно: в том случае, если Вы не используете сторонний межсетевой экран (firewall), полное отключение брандмауэра Windows может быть опасным для Вашей системы.
Восстанавливаем настройки брандмауэра Windows по умолчанию для всех учетных записей пользователей
Скорее всего, не менее востребованной будет функция восстановления настроек брандмауэра Windows по умолчанию для всех учетных записей пользователей. Это делается следующим образом — введите в командную строку команду netsh advfirewall reset:
1C:\Users\Professional>netsh advfirewall reset
Перехватываем пакеты с помощью команды netsh
В процессе исправления проблем с сетевым подключением Вам может потребоваться перехватить сетевые пакеты для анализа. Для этого введите в командную строку команду netsh trace start capture=yes tracefile=c:\trace.etl persistent=yes maxsize=4096:
1C:\Users\Professional>netsh trace start capture=yes tracefile=c:\trace.etl persistent=yes maxsize=4096
Останавливаем трассировку
Конечно же, важно уметь не только запускать, но и останавливать процесс трассировки. Для этого введите в командную строку команду netsh trace stop:
1C:\Users\Professional>netsh trace stop
Выводим на экран все опции команды netsh
Конечно же, на этом возможности утилиты netsh не заканчиваются. Чтобы узнать больше о ее опциях — просто введите в командную строку команду netsh /?:
1C:\Users\Professional>netsh /?
Рекомендуем также почитать руководство по утилите netsh от Microsoft.
Выводы
Мы выяснили, что всего одна команда netsh позволяет решать огромное количество задач по настройке работы сети в Windows. Надеемся, что ознакомившись с приведенными примерами, Вы получили ценные навыки сетевого и системного администрирования, которые в равной степени будут полезны как в работе, так и для настройки своего персонального компьютера.
#windows #администрирование #сети #netsh