Guia do utilitário Netsh: rastreio e mais

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.



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

FiltroObjetivo
IPv4.Address == x.x.x.xCaptura tráfego para/de um endereço IPv4 específico.
IPv4.SourceAddress == x.x.x.xFiltra o tráfego de um IP de origem específico.
IPv4.DestinationAddress == x.x.x.xFiltra o tráfego para um IP de destino específico.
IPv6.Address == xxxx::xxxxFiltra o tráfego IPv6 para/de um endereço específico.
TCP.Port == 80Captura o tráfego numa porta TCP específica (por ex., 80 para HTTP).
UDP.Port == 53Captura o tráfego numa porta UDP específica (por ex., 53 para DNS).

Filtros específicos de protocolo

FiltroProtocoloDescrição
DNSDNSCaptura consultas e respostas DNS.
HTTPHTTPCaptura o tráfego HTTP (pode ser filtrado ainda mais por métodos).
TCPTCPCaptura todo o tráfego TCP.
UDPUDPCaptura todo o tráfego UDP.
SMB2SMBCaptura o tráfego de partilha de ficheiros SMBv2.
KerberosKerberosCaptura pacotes de autenticação Kerberos.
LDAPLDAPCaptura consultas/respostas LDAP.

Filtros de conversação

FiltroObjetivo
IPv4.SourceAddress == x.x.x.x AND IPv4.DestinationAddress == y.y.y.yFiltra o tráfego entre dois hosts específicos.
TCP.SourcePort == 12345 AND TCP.DestinationPort == 80Filtra uma sessão cliente-servidor específica.

Filtros da camada de aplicação

FiltroExemplo
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

FiltroObjetivo
TCP.Flags.SYN == 1 AND TCP.Flags.ACK == 0Captura pacotes SYN (início do handshake TCP).
TCP.Flags.FIN == 1Captura pacotes FIN (fim da sessão TCP).
TCP.Flags.Reset == 1Captura pacotes RST de TCP (reposição de ligações).
Frame.Length > 1000Captura apenas pacotes com mais de 1000 bytes.

Principais contextos e caso de uso do Netsh

Definir a configuração de IP

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

Operar a firewall

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”

Proxy WinHTTP

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.

Deixe um comentário