Introdução
Apresenta uma breve visão geral do utilitário Netsh e da sua importância na gestão de redes. Destaca as suas principais funcionalidades, como o suporte a scripts, a execução remota e as capacidades de resolução de problemas.
Índice
Otimização de conteúdo
1. O que é o utilitário Netsh?
O Netsh (Network Shell) é uma poderosa ferramenta de linha de comandos do Windows para configurar e resolver problemas das definições de rede. Interage com os componentes do sistema através de bibliotecas de ligação dinâmica (DLL) e suporta vários contextos como advfirewall, wlan, e winhttp.
2. Sintaxe geral dos comandos Netsh
netsh [-a AliasFile] [-c Context] [-r RemoteMachine] [-u [Domain\]UserName] [-p Password|*] [Command | -f ScriptFile]
Explica brevemente os parâmetros de sintaxe, destacando os seus casos de uso.
3. Análise aprofundada do rastreio com Netsh
Recolher rastreios:
Usa o contexto netsh trace para capturar eventos e pacotes de rede para diagnóstico.
- Comando para mostrar cenários:
netsh trace show scenarios

- Para apresentar os fornecedores de um cenário específico:
netsh trace show scenario <Scenario name>
Parâmetros importantes:
Detalha os principais parâmetros, como scenario, capture, report, persistent, traceFile, etc., com exemplos.
Comandos de rastreio comuns:
- Iniciar o rastreio:
netsh trace start scenario=InternetClient capture=yes tracefile=C:\temp\trace.etl
- Parar o rastreio:
netsh trace stop
Opções avançadas:
Fornece exemplos avançados de rastreio com opções como maxsize, filemode, e overwrite.
Converter ETL em CAP:
Explica como converter ficheiros ETL para uso em ferramentas como o Wireshark:
netsh trace convert input=trace.etl output=trace.cap
4. Filtrar capturas de rede com Netsh
Filtros básicos:
Destaca os filtros mais utilizados, como:
- Capturar tráfego para/de um endereço IPv4 específico:
IPv4.Address == x.x.x.x
Filtros específicos de protocolo:
- Capturar tráfego DNS:
DNS
Filtros avançados:
Fornece exemplos como a captura de pacotes de handshake TCP:
TCP.Flags.SYN == 1 AND TCP.Flags.ACK == 0
5. Principais contextos e casos de uso do Netsh
Configuração de IP:
- Definir um IP estático:
netsh interface ip set address "Ethernet" static 10.0.0.5 255.255.255.0 10.0.0.1
Repor o Winsock e a pilha TCP/IP:
- Repor a pilha TCP/IP:
netsh int ip reset
Operar a firewall:
- Adicionar uma regra de firewall:
netsh advfirewall firewall add rule name="Allow Ping" dir=in action=allow protocol=icmpv4
Configurar o proxy WinHTTP:
- Definir o proxy:
netsh winhttp set proxy "proxy:8080" "<local>"
Filtros netmon mais utilizados para analisar capturas de rede:
Filtros básicos
| Filtro | Objetivo |
| IPv4.Address == x.x.x.x | Captura tráfego para/de um endereço IPv4 específico. |
| IPv4.SourceAddress == x.x.x.x | Filtra o tráfego de um IP de origem específico. |
| IPv4.DestinationAddress == x.x.x.x | Filtra o tráfego para um IP de destino específico. |
| IPv6.Address == xxxx::xxxx | Filtra o tráfego IPv6 para/de um endereço específico. |
| TCP.Port == 80 | Captura o tráfego numa porta TCP específica (por ex., 80 para HTTP). |
| UDP.Port == 53 | Captura o tráfego numa porta UDP específica (por ex., 53 para DNS). |
Filtros específicos de protocolo
| Filtro | Protocolo | Descrição |
| DNS | DNS | Captura consultas e respostas DNS. |
| HTTP | HTTP | Captura o tráfego HTTP (pode ser filtrado ainda mais por métodos). |
| TCP | TCP | Captura todo o tráfego TCP. |
| UDP | UDP | Captura todo o tráfego UDP. |
| SMB2 | SMB | Captura o tráfego de partilha de ficheiros SMBv2. |
| Kerberos | Kerberos | Captura pacotes de autenticação Kerberos. |
| LDAP | LDAP | Captura consultas/respostas LDAP. |
Filtros de conversação
| Filtro | Objetivo |
| IPv4.SourceAddress == x.x.x.x AND IPv4.DestinationAddress == y.y.y.y | Filtra o tráfego entre dois hosts específicos. |
| TCP.SourcePort == 12345 AND TCP.DestinationPort == 80 | Filtra uma sessão cliente-servidor específica. |
Filtros da camada de aplicação
| Filtro | Exemplo |
| HTTP.Request.Method == “GET” | Captura apenas pedidos GET. |
| HTTP.Host == “example.com” | Filtra o tráfego HTTP para um domínio específico. |
| DNS.QryName == “example.com” | Filtra as consultas DNS de um domínio específico. |
| SMB2.CreateRequest.FileName == “filename.txt” | Captura o acesso a ficheiros no tráfego SMB. |
Filtros avançados
| Filtro | Objetivo |
| TCP.Flags.SYN == 1 AND TCP.Flags.ACK == 0 | Captura pacotes SYN (início do handshake TCP). |
| TCP.Flags.FIN == 1 | Captura pacotes FIN (fim da sessão TCP). |
| TCP.Flags.Reset == 1 | Captura pacotes RST de TCP (reposição de ligações). |
| Frame.Length > 1000 | Captura apenas pacotes com mais de 1000 bytes. |
Principais contextos e caso de uso do 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
Repor o Winsock e a pilha TCP/IP
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. Conclusão
Resume a versatilidade do Netsh como ferramenta de gestão e resolução de problemas de rede. Incentiva os leitores a explorar mais contextos e comandos usando documentação oficial da Microsoft.