Olá Pessoal,
Diversas vezes durante um troubleshooting acabo vendo a necessidade de fazer um rastreamento de pacotes de rede do servidor afim de identificar a possível causa do problema. Muitas pessoas acabam instalando o Microsoft Message Analyser(substituto do antigo Network Monitor) ou o wireshark, mas poucas pessoas sabem que essa funcionalidade existe nativamente no Windows, via Netsh e também via Powershell com o módulo NetEventPacketCapture.
Para iniciar uma captura usando netsh basta executar o seguinte comando:
netsh trace start CAPTURE=yes TRACEFILE=c:\rastreio.etl<br /><br />
O output desse comando será direcionado para o arquivo c:\rastreio.etl que poderá ser analisado nas ferramentas indicadas anteriormente. Para parar o rastreio, basta executar o seguinte comando:
netsh trace stop<br /><br />
Com o powershell também conseguimos atingir o mesmo objetivo da seguinte maneira:
New-NetEventSession -Name 'Captura' -CaptureMode SaveToFile -LocalFilePath "c:\rastreio.etl"
Add-NetEventPacketCaptureProvider -SessionName 'Captura' -Level 4 -CaptureType Physical
Start-NetEventSession -Name 'Captura'<br /><br />
Para parar a captura basta executar:
Stop-NetEventSession -Name 'Captura' Remove-NetEventSession -Name 'Captura'<br />
Caso deseje adicionar um filtro a captura pode utilizar o comando Add-NetEventPacketCaptureProvider antes de iniciar a captura:
Add-NetEventPacketCaptureProvider -SessionName 'Captura' -Level 4 -CaptureType Physical -EtherType 0x0800 -IPAddresses 172.17.10.5 -IpProtocols 6,17<br />
Dessa maneira é possível realizar uma captura de pacotes que estão trafegando no servidor e fazer uma analise na sua estação de trabalho de maneira mais segura e sem instalar nenhum componente extra no servidor.
Dúvidas? Sugestões? Comente!
Até a próxima!
1 Comment
up