Coletando pacotes no windows sem instalar o Wireshark

Fala Pessoal,

Algumas semanas atrás estava ajudando um colega a fazer um troubleshooting em um servidor, para continuar com o trabalho, foi necessário monitorar/coletar os pacotes de rede. Infelizmente não era possível instalar o wireshark no servidor por questão de segurança e restrições


Então, neste momento, tivemos que achar uma solução nativa no Windows Server para coletar o trafego de rede passante numa determinada interface de rede.
Visando o uso de uma solução simples, segue abaixo um comando que podemos utilizar nativamente no windows sem a necessidade de instalar nada.

netsh trace start capture=yes report

Com o comando acima, o processo de captura foi iniciado ,e logo em seguida,ira aparecer o retorno na tela parecido com esse abaixo.

Trace configuration:
——————————————————————-
Status: Running
Trace File: C:\Users\Administrator\AppData\Local\Temp\NetTraces\NetTrace.etl
Append: Off
Circular: On
Max Size: 250 MB
Report: Disabled

Note: O sistema vai gerar um arquivo .etl, no caminho informado em trace File, tome cuidado pois se você deixar este comando rodando por muito tempo, você pode encher o disco.
Voce também pode customizar este comando, usando a documentação da Microsoft como exemplo: na sessão de documentação, logo abaixo.

O comando abaixo é necessário para parar a coleta dos pacotes de rede, logo em seguida,ira aparecer o retorno na tela parecido com esse abaixo.

netsh trace stop

Merging traces … done
File location = C:\Users\Administrator\AppData\Local\Temp\NetTraces\NetTrace.etl
Tracing session was successfully stopped.

No passado a microsoft disponibilizava uma software para poder visualizar os pacote, o nao famoso Microsoft Message Analyzer, esse aplicativo foi descontinuado em 2019.
Uma solução de contorno para isso é, converter o pacote gerado para capture para a .pcapng, o pacote pcapng pode ser exportado para wireshark ou outro software com capacitada de leitura.
Como alternativa a Microsoft criou este software etl2pcapng, que é responsável por conversar o arquivo gerado durante a captura pcapng.

Instalando etl2pcapng

A instalacao é bem simples, acesse essa pagina: https://github.com/microsoft/etl2pcapng/releases
E, baixe a ultima versão disponível no github, extrai o arquivo zip no seu computador e rode o comando abaixo para converter o arquivo etl.

etl2pcapng.exe C:\Users\Administrator\AppData\Local\Temp\NetTraces\NetTrace.etl saida.pcapng

Neste exemplo, vamos utilizar o arquivo .etl, que foi gerado no exemplo anterior e vou converter com nome saida.pcapng.

Com isso, você pode pegar o arquivo saida.pcapng, e abrir isso no wireshark ou qualquer outro software.

Documentação:

Netsh
https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2012-R2-and-2012/jj129382(v=ws.11)

etl2pcapng
https://github.com/microsoft/etl2pcapng