PKTMON
Alternativa ao TCPDUMP no Windows (Tutorial Básico)
Pktmon - Alternativa ao Tcpdump no Windows
Olá! Se você está familiarizado com o Tcpdump e está procurando uma ferramenta semelhante no Windows, você veio ao lugar certo. Neste tutorial, vamos explorar o Pktmon, uma ferramenta de diagnóstico de rede nativa do Windows, isso mesmo, você não entendeu errado. Vamos aprender como usar o Pktmon para capturar pacotes de rede, aplicar filtros e analisar os resultados.
O que é o Pktmon?
O Pktmon é uma ferramenta de linha de comando que foi introduzida à partir do Windows 10 e é usada para diagnosticar problemas de rede. Ele pode capturar pacotes de rede, detectar descarte de pacotes, filtrar pacotes e contar pacotes.
Tutorial Básico
Como usar o Pktmon?
Aqui estão algumas etapas básicas para começar a usar o Pktmon:
Abra o PowerShell como administrador: O Pktmon requer privilégios de administrador para funcionar corretamente.
Identifique o tipo de pacote necessário para a captura, como endereços IP, portas ou protocolos específicos associados ao pacote.
Verifique a sintaxe para aplicar filtros de captura e aplique os filtros para os pacotes identificados na etapa anterior. Você pode fazer isso com o comando pktmon filter add <filters> no PowerShell.
Inicie a captura e habilite o registro em log de pacotes. Você pode fazer isso com o comando pktmon start -c no PowerShell.
Reproduza o problema que está sendo diagnosticado.
Consulte os contadores para confirmar a presença do tráfego esperado e para obter uma visão geral de como o tráfego fluiu no computador. Você pode fazer isso com o comando pktmon counters no PowerShell.
Interrompa a captura e recupere os logs no formato texto para análise. Você pode fazer isso com os comandos pktmon stop e pktmon etl2txt <etl file> no PowerShell.
Como aplicar filtros no Pktmon?
Assim como o Tcpdump, o Pktmon permite que você aplique uma variedade de filtros para limitar a captura de pacotes a um subconjunto específico de tráfego de rede. Aqui estão alguns exemplos de como você pode usar filtros no Pktmon:
Filtrar por endereço IP: pktmon filter add -i 192.168.1.1
Filtrar por porta: pktmon filter add -p 80
Filtrar por protocolo de transporte: pktmon filter add -t TCP
Filtrar por endereço MAC: pktmon filter add -m 00-14-22-01-23-45
Você pode combinar esses filtros conforme necessário. Por exemplo, se você quiser filtrar pacotes TCP na porta 80 do endereço IP 192.168.1.1, você pode usar o seguinte comando:
pktmon filter add -i 192.168.1.1 -p 80 -t TCP
Exemplo prático
Vamos ver um exemplo prático. Suponha que você queira capturar pacotes que estão sendo enviados de 13.107.21.237.443 para 10.1.1.100.62738. Aqui estão os comandos que você usaria:
# Adicione os filtros
pktmon filter add -i 13.107.21.237 -p 443
pktmon filter add -i 10.1.1.100 -p 62738
# Inicie a captura de pacotes
pktmon start -c
Depois de reproduzir o problema que está sendo diagnosticado, você pode parar a captura e consultar os contadores:
# Pare a captura de pacotes
pktmon stop
# Converta o arquivo de log em um arquivo de texto ou pcapng
pktmon etl2txt "C:\Users\user\Desktop\PktMon.etl"
pktmon etl2pcap "C:\Users\user\Desktop\PktMon.etl"
# Abra o arquivo para visualizar o resultado da captura. Veja um exemplo do arquivo pronto para leitura:
Como visualizar em tempo real?
Em casos em que precisamos de monitorar um determinado tráfego ao mesmo tempo em que ele acontece, uma boa opção seria de visualizar o resultado instantaneamente.
Para visualizar em tempo real com o pktmon, crie seu filtro como indicado anteriormente, e inicie o monitoramento com o comando abaixo:
pktmon start --etw -m real-time
Este comando mostra em tempo real na mesma tela em que está sendo executado o comando, porém não gera um arquivo para ser analisado futuramente,
Como analisar os resultados da captura?
Depois de parar a captura de pacotes, você pode converter o arquivo de log (.etl) em um arquivo de texto para análise. Aqui está como você pode fazer isso:
Pare a captura de pacotes: pktmon stop
Converta o arquivo de log em um arquivo de texto: pktmon etl2txt PktMon.etl
Isso irá gerar um arquivo de texto que você pode abrir e analisar. A análise de pacotes pode ser uma tarefa complexa, dependendo do volume e da natureza do tráfego de rede. Ferramentas adicionais como o Wireshark podem ser úteis para visualizar e analisar os dados capturados.
Vamos ver um exemplo prático. Suponha que você tenha capturado alguns pacotes e agora queira analisar os resultados. Aqui estão os comandos que você usaria:
# Pare a captura de pacotes
pktmon stop
# Converta o arquivo de log em um arquivo de texto
pktmon etl2txt "C:\Users\user\Desktop\PktMon.etl"
Isso irá gerar um arquivo de texto chamado PktMon.txt no mesmo diretório do arquivo .etl. Você pode abrir este arquivo para analisar os resultados da captura.
Espero que este tutorial tenha sido útil para você. Se você tiver mais perguntas sobre o Pktmon.