netsh: мережеві команди Windows з прикладами — IT-Wiki

[IT-FORMAT]
Новий формат бізнесу

» » » netsh: мережевий швейцарський ніж Windows — огляд головних контекстів

netsh: мережевий швейцарський ніж Windows — огляд головних контекстів

Цикл: IT-Wiki / Атлас команд Windows Переглядів: 3
Перед стартом
  • Переважна більшість підкоманд потребує прав адміна. Виняток — netsh show-і (деякі працюють від юзера).
  • netsh можна запускати інтерактивно (netsh → prompt netsh>) або одним рядком (netsh interface show interface). Одним рядком зручніше для скриптів.
  • Коли заблукали — ? (знак питання) в інтерактивному режимі показує всі команди поточного контексту.

Структура: контексти, підконтексти, команди

Уявіть netsh як дерево файлової системи:

  • netsh — корінь.
  • interface, advfirewall, winsock, wlan, trace — «директорії» (контексти).
  • У кожному — свої піддиректорії та команди. Наприклад netsh interface ip show config: interfaceipshow config.

В інтерактивному режимі ви заходите в контекст, і далі команди набираєте без префіксу:

netsh
interface ip
show config
exit

Головні контексти — короткий перелік

КонтекстЩо в ньомуСучасний PS-аналог
interfaceIP-адреси, шлюзи, DNS, маршрути, TCP параметриGet-NetIPAddress, Set-DnsClientServerAddress, New-NetRoute
advfirewallWindows Defender Firewall: профілі, правила, логуванняGet-NetFirewallRule, New-NetFirewallRule, Set-NetFirewallProfile
winsockСкидання TCP/IP-стеку, catalog providersПрямого аналога нема — залишайте netsh winsock reset
wlanWi-Fi профілі, підключення, експортОбмежений Get-NetConnectionProfile; для профілів — netsh
traceЗахоплення мережевого трафіку (.etl/.cab)New-NetEventSession / PktMon
httpURL ACL, SSL binding (для IIS, WinRM)Обмежений Set-NetFirewallRule; для SSL — netsh
int tcpTCP stack параметри (autotuning, RSS, chimney)Get-NetTcpSetting, Set-NetTcpSetting
ipsecIPsec-політикиGet-NetIPsec* cmdlets

Сценарій 1. netsh interface — IP, DNS, статична конфігурація

Подивитись конфігурацію всіх інтерфейсів:

netsh interface ip show config

Встановити статичний IP, маску, шлюз на інтерфейс «Ethernet»:

netsh interface ip set address name="Ethernet" static 192.168.1.50 255.255.255.0 192.168.1.1

Додати DNS-сервери:

netsh interface ip set dns name="Ethernet" static 192.168.1.10
netsh interface ip add dns name="Ethernet" 192.168.1.11 index=2

Повернути на DHCP:

netsh interface ip set address name="Ethernet" dhcp
netsh interface ip set dns name="Ethernet" dhcp

PowerShell еквівалент (якщо пишете новий скрипт — беріть саме його):

New-NetIPAddress -InterfaceAlias "Ethernet" -IPAddress 192.168.1.50 -PrefixLength 24 -DefaultGateway 192.168.1.1
Set-DnsClientServerAddress -InterfaceAlias "Ethernet" -ServerAddresses 192.168.1.10,192.168.1.11

Сценарій 2. netsh advfirewall — Windows Firewall без GUI

Подивитись поточні правила:

netsh advfirewall firewall show rule name=all dir=in | more

Відкрити порт 8080 для вхідних з'єднань:

netsh advfirewall firewall add rule name="MyApp In 8080" dir=in action=allow protocol=TCP localport=8080

Видалити правило за назвою:

netsh advfirewall firewall delete rule name="MyApp In 8080"

Вимкнути фаєрвол (для тестів; не робіть у проді):

netsh advfirewall set allprofiles state off

PowerShell-еквівалент — переможно чистіший:

New-NetFirewallRule -DisplayName "MyApp In 8080" -Direction Inbound -Protocol TCP -LocalPort 8080 -Action Allow
Get-NetFirewallRule -DisplayName "MyApp In 8080" | Remove-NetFirewallRule
Порада

Для нових скриптів — завжди *-NetFirewallRule. netsh advfirewall краще тримати в пам'яті для інтерактивних правок старих серверів, де PowerShell ModulesLocation обмежений.

Сценарій 3. netsh winsock reset — скидання TCP/IP

Класичний жест, коли після сумнівного VPN-клієнта, проксі чи «оптимізатора» мережа стала поводитись дивно:

netsh winsock reset
netsh int ip reset
shutdown /r /t 0

Перша команда перезаписує Winsock Catalog (реєструє стандартні провайдери). Друга — скидає параметри IP-стеку. Обов'язковий reboot після, інакше мережа залишиться в напіврозібраному стані.

Обережно

Після netsh winsock reset злетять сторонні правила Windows Firewall (додані через GPO зазвичай повертаються, ручні — ні). Сторонні VPN-клієнти, які «ліпляться» через Winsock LSP, можуть перестати працювати й вимагати перевстановлення.

Сценарій 4. netsh wlan — Wi-Fi профілі

Переглянути збережені Wi-Fi профілі:

netsh wlan show profiles

Показати пароль збереженого профілю (корисно коли забули пароль від домашньої мережі):

netsh wlan show profile name="MyHomeWiFi" key=clear

Пароль буде у полі Key Content. Працює від адміна.

Експортувати всі профілі в XML (для перенесення між машинами):

netsh wlan export profile folder=C:\Temp\wifi key=clear

Імпортувати на іншій машині:

netsh wlan add profile filename="C:\Temp\wifi\Wi-Fi-MyHomeWiFi.xml"

Сценарій 5. netsh trace — захоплення трафіку без Wireshark

Коли Wireshark не встановлений, а треба зняти трейс мережевої проблеми:

netsh trace start capture=yes tracefile=C:\Temp\net.etl maxsize=512 filemode=circular overwrite=yes

Розблокувати проблему (відтворити її зараз). Потім:

netsh trace stop

Отриманий .etl можна відкрити у Microsoft Network Monitor або сконвертувати у .pcap через etl2pcapng.exe (GitHub microsoft/etl2pcapng).

Сценарно-обмежені захоплення (швидший триггер):

netsh trace start scenario=InternetClient tracefile=C:\Temp\internet.etl

Список scenarios:

netsh trace show scenarios

Сценарій 6. netsh http — SSL binding і URL ACL

Коли треба отримати/видалити SSL binding для IIS, WinRM чи власного HTTP-сервісу:

netsh http show sslcert

Додати binding (до порту 443 прив'язати сертифікат за його hash):

netsh http add sslcert ipport=0.0.0.0:443 certhash=ABCDEF0123456789... appid={00000000-0000-0000-0000-000000000000}

Видалити binding:

netsh http delete sslcert ipport=0.0.0.0:443

URL ACL — хто може слухати URL:

netsh http show urlacl
netsh http add urlacl url=http://+:8080/myapp/ user="NT AUTHORITY\NETWORK SERVICE"

Типові пастки

Пастка 1: ім'я інтерфейсу з пробілом

«Локальне підключення», «Ethernet 2» — імена з пробілами обов'язково у лапках: name="Ethernet 2". Без лапок netsh намагатиметься парсити «2» як окремий аргумент.

Пастка 2: netsh interface ip reset знищує GPO-ові налаштування

Reset повертає IP-стек до дефолтів, у тому числі TCP offload, RSS, параметри MTU. На сервері з кастомним тюнингом TCP (базу даних, VoIP) після reset може просісти продуктивність. Перед reset — netsh interface tcp show global і зафіксуйте значення.

Пастка 3: deprecation, але не depression

Microsoft офіційно рекомендує PowerShell cmdlets замість netsh, але самого netsh у Windows Server 2025 не видалено. Для легасі-скриптів і швидких інтерактивних операцій він залишається живим. Але для нового коду — беріть cmdlets.

Коротка пам'ятка

Топ-10 викликів netsh, які реально використовуються
  • netsh interface ip show config
  • netsh interface ip set address ...
  • netsh advfirewall firewall add rule ...
  • netsh advfirewall set allprofiles state off (тільки для тестів!)
  • netsh winsock reset
  • netsh int ip reset
  • netsh wlan show profile name="..." key=clear
  • netsh wlan export profile folder=... key=clear
  • netsh trace start capture=yes ... / netsh trace stop
  • netsh http show sslcert

Пов'язане

netsh виглядає громіздким, але якщо зрозуміти логіку «контекст → підконтекст → команда», він стає найшвидшим мережевим інструментом Windows для інтерактивної роботи. Для автоматизації — переходьте на PowerShell cmdlets. Але знати netsh — обов'язково: на старих серверах, у WinRE, у відсутності PS-модулів він ваш єдиний варіант.

  • Коментарі


Привіт, незнайомець
Опитування

Якою програмою обліку ви користуєтесь?