Skip to content

Диагностика Windows-клиента: команды и сценарии ​

Почему отдельная глава: в квартирах и офисах 90% рабочих станций — Windows. Команды те же по смыслу, но другие по написанию, а несколько подводных камней у Windows вообще свои. Эта глава — перевод нашего linux-арсенала на «виндовый» плюс специфика платформы.

Где выполнять: cmd (классика), лучше Windows Terminal / PowerShell (всё ниже работает и там, и там, если не оговорено).


1. Соответствие команд: Linux → Windows ​

ЗадачаLinux (наш Alpine/Omarchy)Windows (cmd/PowerShell)
Полный сетевой конфигip a + ip ripconfig /all
Освободить DHCP-адресudhcpc -R / ifdownipconfig /release
Запросить DHCP зановоifup eth0ipconfig /renew
Сбросить DNS-кэш клиента(нет кэша у busybox; nscd)ipconfig /flushdns
Показать DNS-кэш—ipconfig /displaydns
Таблица маршрутовip routeroute print (или Get-NetRoute)
ARP-соседиip neigharp -a
Список интерфейсовip -br linkGet-NetAdapter
Открытые порты/службыss -tulpnnetstat -ano
Проверить конкретный портnc -z host 443Test-NetConnection ya.ru -Port 443
Путь до адресатаtraceroute / mtrtracert 1.1.1.1
Путь + потери + задержки (2 мин)mtrpathping 1.1.1.1
DNS-запросnslookup ya.ru / dig ya.runslookup ya.ru / Resolve-DnsName ya.ru
Wi-Fi сети и уровень сигналаiw devnetsh wlan show interfaces
Сброс сетевого стека целиком—netsh winsock reset + netsh int ip reset (потом перезагрузка)

Test-NetConnection (PowerShell) — звезда виндовой диагностики: показывает и ping, и открытость порта, и маршрутизацию одной командой:

powershell
Test-NetConnection ya.ru -Port 443
# PingSucceeded : True
# TcpTestSucceeded : True   ← главное поле

2. Типовой алгоритм «нет интернета» на Windows (то же дерево, другие ветки) ​

text
1. ipconfig /all        → адрес какой? маска? шлюз? DNS?
        │
        ├─ 169.254.x.x  → DHCP не отвечает: кабель/Wi-Fi, VLAN, роутер (идём к роутеру)
        │
        ├─ адрес есть   →
2. ping <шлюз из ipconfig>     → клиент ↔ роутер
3. ping 1.1.1.1               → «транспорт» есть?
4. nslookup ya.ru             → DNS резолвит?
5. tracert 1.1.1.1            → где обрыв, если 1.1.1.1 не пингуется
6. Test-NetConnection ya.ru -Port 443 → если пинги есть, а сайты нет (фильтр/файервол/прокси)

Смысл этажей ровно тот, что в линукс-лабах: снизу вверх, каждый переход фиксируем. Отличается только синтаксис.

3. Специфика Windows, о которой не догадаешься из Linux ​

APIPA — 169.254.x.x ​

Если клиент не получил DHCP-адрес, Windows сама назначает 169.254.0.0/16. Это ровно наш «симптом мёртвого DHCP» из кейса №1, только Windows делает это всегда и явно. Видишь 169.254 — не трогай настройки адаптера, иди к кабелю/VLAN/DHCP-серверу.

DNS-кэш и «по IP работает, по имени нет» ​

Windows агрессивно кэширует DNS. После починки DNS-сервера клиент может ещё минут десять помнить старые ответы (в т.ч. негативные). Первая команда после любых DNS-работ:

cmd
ipconfig /flushdns

Проверка того, ЧТО клиент думает про DNS: ipconfig /all → строки «DNS-серверы» (частая поломка: прописан старый/левый DNS, а DHCP его больше не раздаёт — Windows помнит статику).

Прокси — виндовая чума ​

В Linux прокси настраивается переменными окружения и приложениями; в Windows — системная настройка, и она ломает «интернет» при всяком мусоре (остатки VPN, «ускорители», вирусы):

cmd
# где смотреть (GUI): Параметры → Сеть → Прокси; в реестре:
reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyEnable
netsh winhttp show proxy

Симптом классический: ping идёт, DNS резолвится, а браузеры молчат — идёшь смотреть прокси (и расширения браузера).

Клиентский файервол ​

У Windows свой брандмауэр: служба пингуется, а порт приложения закрыт — возможно, режет именно локальный firewall. Диагностика-выключение (на время теста!):

cmd
netsh advfirewall set allprofiles state off   # ...и не забудь вернуть: state on

Winsock и «сеть сломана непонятно как» ​

После удаления VPN/антивирусов/«ускорителей» виндовый сетевой стек (особенно LSP-winsock) бывает покалечен так, что никакие адреса не помогают. Легендарное лекарство первой линии:

cmd
netsh winsock reset
netsh int ip reset
ipconfig /flushdns
:: перезагрузка

Это «пересборка» клиента из сценария «переустановить сеть», только в 30 секунд.

Wi-Fi диагностика без выхода из кресла ​

cmd
netsh wlan show interfaces    :: сигнал (Signal %), канал, скорость линка, BSSID
netsh wlan show drivers       :: что умеет адаптер (диапазоны, WPA3)

Сигнал < 50% + жалобы «интернет пропадает» → радиоканал/точка ближе, а не провайдер.

4. Настройка статики/DHCP на Windows (как у клиента) ​

GUI-путь, который ты будешь тыкать на чужих машинах: Win+R → ncpa.cpl → ПКМ по адаптеру → Свойства → IPv4 → либо «получить автоматически», либо вбить IP/маску/шлюз/DNS. PowerShell-эквивалент (для скриптов и быстрых правок):

powershell
Get-NetAdapter                          # узнать имя адаптера, например "Ethernet"
# статика:
New-NetIPAddress -InterfaceAlias "Ethernet" -IPAddress 192.168.100.11 -PrefixLength 24 -DefaultGateway 192.168.100.1
Set-DnsClientServerAddress -InterfaceAlias "Ethernet" -ServerAddresses 192.168.100.1
# обратно на DHCP:
Set-NetIPInterface -InterfaceAlias "Ethernet" -Dhcp Enabled
Set-DnsClientServerAddress -InterfaceAlias "Ethernet" -ResetServerAddresses
ipconfig /renew

5. VLAN на Windows — редкость, но знать надо ​

Обычный клиент не тегирует кадры: компьютер воткнут в access-порт, тег ставит свитч. Тегирование на самом клиенте (подинтерфейсы как eth0.10 в Linux) в Windows делается драйвером конкретной сетевой карты (вкладка VLAN в свойствах адаптера у Intel/Realtek) или через PowerShell на серверных NIC. На выездах почти не встретишь — хватит знать, что бывает и что искать в драйвере, если «порт прописан в VLAN, а комп не получает адрес».

6. Мини-сценарий в формате нашей игры ​

Жалоба: «Wi-Fi подключён, значок есть, а сайты не грузятся».

cmd
ipconfig /all         :: адрес 192.168.1.37, шлюз 192.168.1.1, DNS 192.168.1.1 — вроде ок
ping 192.168.1.1      :: ок
ping 1.1.1.1          :: ок
nslookup ya.ru        :: ок
netsh winhttp show proxy     :: ProxyEnable = 1, адрес 127.0.0.1:8899 ← остатки умершего VPN-ускорителя
:: лечение: снять прокси в настройках / netsh winhttp reset proxy → браузеры ожили

Всё те же этажи, просто Windows добавила свой собственный подвальный этаж — прокси.


Соответствие с линукс-главами: Bash для сетевика (та же автоматизация, в PowerShell она же на другом синтаксисе), кейсы раздела «Кейсы» (диагностическая логика идентична).