Введение
Приведите краткий обзор утилиты Netsh и её значения для управления сетью. Выделите её ключевые возможности, такие как поддержка сценариев, удалённое выполнение и возможности устранения неполадок.
Оглавление
Оптимизация содержимого
1. Что такое утилита Netsh?
Netsh (Network Shell) — мощный инструмент командной строки Windows для настройки и устранения неполадок сетевых параметров. Он взаимодействует с системными компонентами через библиотеки динамической компоновки (DLL) и поддерживает различные контексты, такие как advfirewall, wlan, и winhttp.
2. Общий синтаксис команд Netsh
netsh [-a AliasFile] [-c Context] [-r RemoteMachine] [-u [Domain\]UserName] [-p Password|*] [Command | -f ScriptFile]
Кратко объясните параметры синтаксиса, выделив сценарии их использования.
3. Подробно о трассировке Netsh
Сбор трассировок:
Используйте контекст netsh trace для захвата сетевых событий и пакетов в целях диагностики.
- Команда для отображения сценариев:
netsh trace show scenarios

- Чтобы отобразить поставщиков для определённого сценария:
netsh trace show scenario <Scenario name>
Важные параметры:
Опишите ключевые параметры, такие как scenario, capture, report, persistent, traceFile и т. д., с примерами.
Распространённые команды трассировки:
- Запуск трассировки:
netsh trace start scenario=InternetClient capture=yes tracefile=C:\temp\trace.etl
- Остановка трассировки:
netsh trace stop
Расширенные параметры:
Приведите расширенные примеры трассировки с такими параметрами, как maxsize, filemode, и overwrite.
Преобразование ETL в CAP:
Объясните, как преобразовать файлы ETL для использования в таких инструментах, как Wireshark:
netsh trace convert input=trace.etl output=trace.cap
4. Фильтрация сетевых захватов с помощью Netsh
Базовые фильтры:
Выделите часто используемые фильтры, например:
- Захват трафика к определённому IPv4-адресу и от него:
IPv4.Address == x.x.x.x
Фильтры для конкретных протоколов:
- Захват DNS-трафика:
DNS
Расширенные фильтры:
Приведите примеры, например захват пакетов установления TCP-соединения:
TCP.Flags.SYN == 1 AND TCP.Flags.ACK == 0
5. Ключевые контексты Netsh и сценарии использования
Настройка IP:
- Назначение статического IP-адреса:
netsh interface ip set address "Ethernet" static 10.0.0.5 255.255.255.0 10.0.0.1
Сброс Winsock и стека TCP/IP:
- Сброс стека TCP/IP:
netsh int ip reset
Управление брандмауэром:
- Добавление правила брандмауэра:
netsh advfirewall firewall add rule name="Allow Ping" dir=in action=allow protocol=icmpv4
Настройка прокси-сервера WinHTTP:
- Назначение прокси-сервера:
netsh winhttp set proxy "proxy:8080" "<local>"
Часто используемые фильтры netmon для анализа сетевых захватов:
Базовые фильтры
| Фильтр | Назначение |
| IPv4.Address == x.x.x.x | Захватывает трафик к определённому IPv4-адресу и от него. |
| IPv4.SourceAddress == x.x.x.x | Фильтрует трафик от определённого исходного IP-адреса. |
| IPv4.DestinationAddress == x.x.x.x | Фильтрует трафик к определённому IP-адресу назначения. |
| IPv6.Address == xxxx::xxxx | Фильтрует IPv6-трафик к определённому адресу и от него. |
| TCP.Port == 80 | Захватывает трафик на определённом TCP-порту (например, 80 для HTTP). |
| UDP.Port == 53 | Захватывает трафик на определённом UDP-порту (например, 53 для DNS). |
Фильтры для конкретных протоколов
| Фильтр | Протокол | Описание |
| DNS | DNS | Захватывает DNS-запросы и ответы. |
| HTTP | HTTP | Захватывает HTTP-трафик (можно дополнительно фильтровать по методам). |
| TCP | TCP | Захватывает весь TCP-трафик. |
| UDP | UDP | Захватывает весь UDP-трафик. |
| SMB2 | SMB | Захватывает трафик совместного доступа к файлам SMBv2. |
| Kerberos | Kerberos | Захватывает пакеты аутентификации Kerberos. |
| LDAP | LDAP | Захватывает LDAP-запросы/ответы. |
Фильтры разговоров
| Фильтр | Назначение |
| IPv4.SourceAddress == x.x.x.x AND IPv4.DestinationAddress == y.y.y.y | Фильтрует трафик между двумя определёнными узлами. |
| TCP.SourcePort == 12345 AND TCP.DestinationPort == 80 | Фильтрует определённый сеанс клиент-сервер. |
Фильтры прикладного уровня
| Фильтр | Пример |
| HTTP.Request.Method == “GET” | Захватывает только GET-запросы. |
| HTTP.Host == “example.com” | Фильтрует HTTP-трафик к определённому домену. |
| DNS.QryName == “example.com” | Фильтрует DNS-запросы для определённого домена. |
| SMB2.CreateRequest.FileName == “filename.txt” | Захватывает обращения к файлам в SMB-трафике. |
Расширенные фильтры
| Фильтр | Назначение |
| TCP.Flags.SYN == 1 AND TCP.Flags.ACK == 0 | Захватывает SYN-пакеты (начало установления TCP-соединения). |
| TCP.Flags.FIN == 1 | Захватывает FIN-пакеты (завершение TCP-сеанса). |
| TCP.Flags.Reset == 1 | Захватывает TCP-пакеты RST (сбросы соединений). |
| Frame.Length > 1000 | Захватывает только пакеты размером более 1000 байт. |
Ключевые контексты Netsh и сценарий использования
netsh interface ip set address “Ethernet” static 10.0.0.5 255.255.255.0 10.0.0.1
netsh interface ip set dns “Ethernet” static 1.1.1.1
netsh interface ip set address “Ethernet” dhcp
netsh int ip reset
netsh winsock reset
netsh advfirewall firewall add rule name=”Allow Ping” dir=in action=allow protocol=icmpv4
netsh advfirewall firewall add rule name=”Allow RDP” dir=in action=allow protocol=TCP localport=3389
netsh advfirewall set allprofiles state on
netsh advfirewall export “C:\\backup\\fwconfig.wfw”
netsh winhttp show proxy
netsh winhttp set proxy “proxy:8080” “<local>”
netsh winhttp reset proxy
6. Заключение
Подведите итог универсальности Netsh как инструмента управления сетью и устранения неполадок. Предложите читателям изучить больше контекстов и команд, используя официальную документацию Microsoft.