PKTMON
Alternativa ao TCPDUMP no Windows (Tutorial Avançado)

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.

Como usar o Pktmon?

Aqui estão algumas etapas básicas para começar a usar o Pktmon de forma avançada:

Índice

Gerenciando Filtros de Pacote com pktmon filter

Antes de iniciar qualquer captura, é necessário aplicar filtro do que será capturado, portanto vamos começar falando sobre os filtros.

O subcomando pktmon filter é usado para gerenciar filtros de pacote. Os filtros de pacote permitem controlar quais pacotes são capturados e relatados pelo Pktmon. Os filtros precisam ser aplicados antes de iniciar a captura dos pacotes. 

pktmon filter add <name> <options>

pktmon filter list

pktmon filter remove

Exemplos

Aqui estão alguns exemplos de como você pode usar filtros no Pktmon:

pktmon filter pingDNS add -i 1.1.1.1

pktmon filter add http -p 80

pktmon filter add -t TCP

pktmon filter add srvwebapp01 -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

Iniciando a Captura de Pacotes com pktmon start

O comando pktmon start é usado para iniciar a captura de pacotes e a coleta de eventos. Este comando tem várias opções que permitem personalizar a captura de pacotes.

Iniciar a captura de pacotes

Para iniciar a captura de pacotes, você pode usar o comando abaixo. Este comando inicia a captura de pacotes e a coleta de eventos.

pktmon start --capture

Coletar apenas contadores de pacotes

Se você quiser coletar apenas contadores de pacotes e não registrar os pacotes, você pode usar o comando abaixo.

pktmon start --capture --counters-only


Selecionar componentes para capturar pacotes

Se você quiser selecionar componentes específicos para capturar pacotes, você pode usar o comando abaixo. Por exemplo, pktmon start --capture --comp nics irá capturar pacotes apenas de NICs.

pktmon start --capture --comp {all | nics | id1 id2 ...}


Para identificar a placa de rede que você deseja usar com o comando pktmon, você pode usar o comando pktmon list. Este comando lista todos os componentes de rede ativos que podem ser monitorados, permitindo que você examine o layout da pilha de rede.

Depois de identificar o ID do componente de rede (ou seja, a placa de rede) que você deseja monitorar, você pode usar esse ID com o comando pktmon start --capture --comp. Por exemplo, se o ID do componente de rede for 9, você usaria o comando pktmon start --capture --comp 9.

PS C:\Users\jbitcore\Desktop> pktmon list


Adaptadores de Rede:

   ID Endereço MAC      Nome

   -- ------------      ----

   11 AA-BB-CC-DD-EE-FF  Bluetooth Device (Personal Area Network)

   12 00-11-22-33-44-55 Qualcomm QCA9377 802.11ac Wireless Adapter

   13 66-77-88-99-AA-BB Realtek PCIe FE Family Controller


Por favor, note que este é apenas um exemplo e a saída real pode variar dependendo do tráfego de rede e das configurações específicas do seu ambiente.

Selecionar quais pacotes capturar

Se você quiser selecionar quais pacotes capturar, você pode usar o comando abaixo. Por exemplo, pktmon start --capture --type drop irá capturar apenas pacotes que foram descartados.

pktmon start --capture --type {all | flow | drop}

Definir o número de bytes a serem registrados em cada pacote

Se você quiser definir o número de bytes a serem registrados em cada pacote, você pode usar o comando abaixo. Por exemplo, pktmon start --capture --pkt-size 256 irá registrar os primeiros 256 bytes de cada pacote.

pktmon start --capture --pkt-size <bytes>

Controlar as informações registradas durante a captura de pacotes

Se você quiser controlar as informações registradas durante a captura de pacotes, você pode usar o comando abaixo. Por exemplo, pktmon start --capture --flags 0x010 irá registrar o pacote bruto, truncado para o tamanho especificado pelo --pkt-size.

pktmon start --capture --flags <mask>

Exibindo Contadores de Pacotes com pktmon counters

O comando pktmon counters é usado para exibir os contadores de pacotes atuais. Este comando é útil para verificar o número de pacotes que foram capturados. Aqui está um exemplo de como usar este comando:

pktmon counters

Este comando irá exibir os contadores de pacotes atuais.

Veja um exemplo:

PS C:\Users\jbitcore\Desktop> pktmon start --capture


Parâmetros do Agente:

    Nome do agente:        PktMon

    Modo de registro em log:       Circular

    Arquivo de log:           C:\Users\jbitcore\Desktop\PktMon.etl

    Tamanho máx. de arquivo:      512 MB

    Memória usada:        128 MB


Dados Coletados:

    Contadores de pacotes, captura de pacotes


Tipo de Captura:

    Todos os pacotes

Componentes Monitorados:

    Todos


Filtros de Pacote:

     # Nome    Endereço IP

     - ----    -----------

     1 pingDNS 1.1.1.1

PS C:\Users\jbitcore\Desktop> pktmon status


Dados Coletados:

    Contadores de pacotes, captura de pacotes


Tipo de Captura:

    Todos os pacotes


Componentes Monitorados:

    Todos


Filtros de Pacote:

     # Nome    Endereço IP

     - ----    -----------

     1 pingDNS 1.1.1.1

Parâmetros do Agente:

    Nome do agente:        PktMon

    Modo de registro em log:       Circular

    Arquivo de log:           C:\Users\jbitcore\Desktop\PktMon.etl

    Tamanho máx. de arquivo:      512 MB

    Memória usada:        128 MB

    Eventos perdidos:        0


Provedores de Eventos:

    ID                       Nível Palavras-chave

    --                       ----- --------------

    Microsoft-Windows-PktMon     4           0x12

PS C:\Users\jbitcore\Desktop> pktmon counters


Qualcomm QCA9377 802.11ac Wireless Adapter

 ID Nome                       Contador Direção      Pacotes          Bytes | Direção      Pacotes          Bytes

 -- ----                       -------- -------      -------          ----- | -------      -------          -----

 12 Qualcomm QCA9377 802.11... Upper    Rx                33          3.036 | Tx                33          3.036

                                                                            |

 43 WFP Native Filter          Lower    Rx                33          3.036 | Tx                33          3.036

                               Upper    Rx                33          3.036 | Tx                33          3.036

 32 Virtual WiFi Filter Driver Lower    Rx                33          3.036 | Tx                33          3.036

                               Upper    Rx                33          3.036 | Tx                33          3.036

 31 Native WiFi Filter Driver  Lower    Rx                33          3.036 | Tx                33          3.036

                               Upper    Rx                33          2.442 | Tx                33          2.442

 30 Kaspersky Lab NDIS 6 Fi... Lower    Rx                33          2.442 | Tx                33          2.442

                               Upper    Rx                33          2.442 | Tx                33          2.442

 29 QoS Packet Scheduler       Lower    Rx                 0              0 | Tx                33          2.442

                               Upper    Rx                 0              0 | Tx                33          2.442

                                                                            |

 72 TCPIP                      Lower    Rx                33          2.442 | Tx                33          2.442

 69 NDISUIO                    Lower    Rx                33          2.442 | Tx                 0              0

 68 LLTDIO                     Lower    Rx                33          2.442 | Tx                 0              0

 67 VMNETBRIDGE                Lower    Rx                33          2.442 | Tx                 0              0


PS C:\Users\jbitcore\Desktop> pktmon stop

Liberando logs...

Mesclando metadados...

Arquivo de log: C:\Users\jbitcore\Desktop\PktMon.etl (Nenhum evento perdido)

PS C:\Users\jbitcore\Desktop>

Consultando o Status Atual com pktmon status

O comando pktmon status é usado para consultar o status atual do Packet Monitor. Este comando é útil para verificar o status da captura de pacotes e da coleta de eventos. Sempre execute antes de iniciar uma nova captura para se certificar que não exista nenhuma captura em execução. Aqui está um exemplo de como usar este comando:

pktmon status

Parando a Captura de Pacotes com pktmon stop

O comando pktmon stop é usado para parar a coleta de dados. Este comando é útil quando você terminou a captura de pacotes e deseja parar a coleta de dados. Aqui está um exemplo de como usar este comando:

pktmon stop

Redefinindo Contadores de Pacotes com pktmon reset

O comando pktmon reset é usado para redefinir todos os contadores de pacotes para zero. Este comando é útil quando você deseja iniciar uma nova sessão de captura de pacotes e não quer que os contadores antigos interfiram em suas medições. Aqui está um exemplo de como usar este comando:

pktmon reset

Este comando irá redefinir todos os contadores de pacotes para zero.

Descarregando o Driver(cache) PktMon com pktmon unload

O comando pktmon unload é usado para descarregar o driver PktMon. Este comando é útil quando você terminou a captura de pacotes e deseja liberar os recursos usados pelo driver PktMon. Aqui está um exemplo de como usar este comando:

pktmon unload

Este comando irá parar o serviço de driver PktMon e descarregar o PktMon.sys. A medida (se ativa) será interrompida imediatamente, e qualquer estado será excluído (contadores, filtros, etc.).

Convertendo Arquivos de Log

Os comandos pktmon etl2txt e pktmon etl2pcap são usados para converter arquivos de log em formato de texto e PCAPNG, respectivamente. Esses comandos são úteis quando você deseja analisar os pacotes capturados em um formato mais legível ou em um formato que pode ser importado para outras ferramentas de análise de rede.


pktmon etl2txt <nomedoarquivo>


pktmon format pktmon.etl -o <nomedoarquivo>.txt


pktmon etl2pcap <file>

Aqui está um exemplo da conversão de um arquivo para PCAPNG:

PS C:\Users\jbitcoreDesktop> pktmon etl2pcap PktMon.etl

Processando...


Total de pacotes:       1125

Contagem de descarte de pacotes:   0

Pacotes formatados:   1125

Arquivo formatado:      PktMon.pcapng

PS C:\Users\jbitcore\Desktop>

Os arquivos convertidos em formato PCAPNG podem ser abertos no Wireshark para uma análise mais detalhada.

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

pktmon start --capture --log-mode real-time

ktmon start --capture --type flow -m real-time

pktmon start --capture --type drop -m real-time

Em resumo, a principal diferença entre os quatro comandos é o tipo de dados que eles capturam e como esses dados são apresentados. Os dois primeiros comandos diferem na forma como capturam os dados (eventos vs pacotes), enquanto os dois últimos comandos diferem no tipo de pacotes que capturam (fluxo vs descarte).

Aqui está um exemplo de saída de captura em tempo real:

PS C:\Users\jbitcore\Desktop> pktmon start --capture --log-mode real-time --flags 0x010

Dados Coletados:

    Contadores de pacotes, captura de pacotes


Tipo de Captura:

    Todos os pacotes


Componentes Monitorados:

    Todos


Filtros de Pacote:

     # Nome    Endereço IP

     - ----    -----------

     1 pingDNS 1.1.1.1

Processando...


17:03:49.694956300 PktGroupId 562949953421682, PktNumber 1, Aparência 1, Direção Tx , Tipo Ethernet , Componente 72, Borda 1, Filtro 1, OriginalSize 74, LoggedSize 74

        AA-BB-CC-DD-EE-FF > AA-BB-CC-DD-EE-FF, ethertype IPv4 (0x0800), length 74: 192.168.1.13 > 1.1.1.1: ICMP echo request, id 1, seq 8454, length 40

17:03:49.694967700 PktGroupId 562949953421682, PktNumber 1, Aparência 2, Direção Tx , Tipo Ethernet , Componente 29, Borda 1, Filtro 1, OriginalSize 74, LoggedSize 74

        AA-BB-CC-DD-EE-FF > AA-BB-CC-DD-EE-FF, ethertype IPv4 (0x0800), length 74: 192.168.1.13 > 1.1.1.1: ICMP echo request, id 1, seq 8454, length 40

17:03:49.694971300 PktGroupId 562949953421682, PktNumber 1, Aparência 3, Direção Tx , Tipo WiFi , Componente 29, Borda 2, Filtro 1, OriginalSize 74, LoggedSize 74

        BSSID:AA-BB-CC-DD-EE-FF DA:AA-BB-CC-DD-EE-FF SA:AA-BB-CC-DD-EE-FF Assoc Response IV:a4c93 Pad 1 KeyID 0

17:03:49.694974000 PktGroupId 562949953421682, PktNumber 1, Aparência 4, Direção Tx , Tipo Ethernet , Componente 30, Borda 1, Filtro 1, OriginalSize 74, LoggedSize 74

        AA-BB-CC-DD-EE-FF > AA-BB-CC-DD-EE-FF, ethertype IPv4 (0x0800), length 74: 192.168.1.13 > 1.1.1.1: ICMP echo request, id 1, seq 8454, length 40

17:03:49.694990600 PktGroupId 562949953421682, PktNumber 1, Aparência 5, Direção Tx , Tipo WiFi , Componente 30, Borda 2, Filtro 1, OriginalSize 74, LoggedSize 74

        BSSID:AA-BB-CC-DD-EE-FF DA:AA-BB-CC-DD-EE-FF SA:AA-BB-CC-DD-EE-FF Assoc Response IV:a4c93 Pad 1 KeyID 0

17:03:49.694993200 PktGroupId 562949953421682, PktNumber 1, Aparência 6, Direção Tx , Tipo Ethernet , Componente 31, Borda 1, Filtro 1, OriginalSize 74, LoggedSize 74

        AA-BB-CC-DD-EE-FF > AA-BB-CC-DD-EE-FF, ethertype IPv4 (0x0800), length 74: 192.168.1.13 > 1.1.1.1: ICMP echo request, id 1, seq 8454, length 40

17:03:49.695023900 PktGroupId 562949953421682, PktNumber 1, Aparência 7, Direção Tx , Tipo WiFi , Componente 31, Borda 2, Filtro 1, OriginalSize 92, LoggedSize 92

        BSSID:10-C2-5A-15-20-DC SA:AA-BB-CC-DD-EE-FF DA:10-C2-5A-15-20-DC LLC, dsap SNAP (0xaa) Individual, ssap SNAP (0xaa) Command, ctrl 0x03: oui Ethernet (0x000000), ethertype IPv4 (0x0800), length 60: 192.168.1.13 > 1.1.1.1: ICMP echo request, id 1, seq 8454, length 40

17:03:49.695026600 PktGroupId 562949953421682, PktNumber 1, Aparência 8, Direção Tx , Tipo WiFi , Componente 32, Borda 1, Filtro 1, OriginalSize 92, LoggedSize 92

        BSSID:10-C2-5A-15-20-DC SA:AA-BB-CC-DD-EE-FF DA:10-C2-5A-15-20-DC LLC, dsap SNAP (0xaa) Individual, ssap SNAP (0xaa) Command, ctrl 0x03: oui Ethernet (0x000000), ethertype IPv4 (0x0800), length 60: 192.168.1.13 > 1.1.1.1: ICMP echo request, id 1, seq 8454, length 40

17:03:49.695031100 PktGroupId 562949953421682, PktNumber 1, Aparência 9, Direção Tx , Tipo WiFi , Componente 32, Borda 2, Filtro 1, OriginalSize 92, LoggedSize 92

        BSSID:10-C2-5A-15-20-DC SA:AA-BB-CC-DD-EE-FF DA:10-C2-5A-15-20-DC LLC, dsap SNAP (0xaa) Individual, ssap SNAP (0xaa) Command, ctrl 0x03: oui Ethernet (0x000000), ethertype IPv4 (0x0800), length 60: 192.168.1.13 > 1.1.1.1: ICMP echo request, id 1, seq 8454, length 40

17:03:49.695033500 PktGroupId 562949953421682, PktNumber 1, Aparência 10, Direção Tx , Tipo WiFi , Componente 43, Borda 1, Filtro 1, OriginalSize 92, LoggedSize 92

        BSSID:10-C2-5A-15-20-DC SA:AA-BB-CC-DD-EE-FF DA:10-C2-5A-15-20-DC LLC, dsap SNAP (0xaa) Individual, ssap SNAP (0xaa) Command, ctrl 0x03: oui Ethernet (0x000000), ethertype IPv4 (0x0800), length 60: 192.168.1.13 > 1.1.1.1: ICMP echo request, id 1, seq 8454, length 40

17:03:49.695040900 PktGroupId 562949953421682, PktNumber 1, Aparência 11, Direção Tx , Tipo WiFi , Componente 43, Borda 2, Filtro 1, OriginalSize 92, LoggedSize 92

        BSSID:10-C2-5A-15-20-DC SA:AA-BB-CC-DD-EE-FF DA:10-C2-5A-15-20-DC LLC, dsap SNAP (0xaa) Individual, ssap SNAP (0xaa) Command, ctrl 0x03: oui Ethernet (0x000000), ethertype IPv4 (0x0800), length 60: 192.168.1.13 > 1.1.1.1: ICMP echo request, id 1, seq 8454, length 40

17:03:49.695044000 PktGroupId 562949953421682, PktNumber 1, Aparência 12, Direção Tx , Tipo WiFi , Componente 12, Borda 1, Filtro 1, OriginalSize 92, LoggedSize 92

        BSSID:10-C2-5A-15-20-DC SA:AA-BB-CC-DD-EE-FF DA:10-C2-5A-15-20-DC LLC, dsap SNAP (0xaa) Individual, ssap SNAP (0xaa) Command, ctrl 0x03: oui Ethernet (0x000000), ethertype IPv4 (0x0800), length 60: 192.168.1.13 > 1.1.1.1: ICMP echo request, id 1, seq 8454, length 40

17:03:49.717574000 PktGroupId 1529, PktNumber 1, Aparência 1, Direção Rx , Tipo WiFi , Componente 12, Borda 1, Filtro 1, OriginalSize 92, LoggedSize 92

        DA:AA-BB-CC-DD-EE-FF BSSID:10-C2-5A-15-20-DC SA:AA-BB-CC-DD-EE-FF Data IV:3aaaa Pad 0 KeyID 0

17:03:49.717587500 PktGroupId 1529, PktNumber 1, Aparência 2, Direção Rx , Tipo WiFi , Componente 43, Borda 2, Filtro 1, OriginalSize 92, LoggedSize 92

        DA:AA-BB-CC-DD-EE-FF BSSID:10-C2-5A-15-20-DC SA:AA-BB-CC-DD-EE-FF Data IV:3aaaa Pad 0 KeyID 0

17:03:49.717601100 PktGroupId 1529, PktNumber 1, Aparência 3, Direção Rx , Tipo WiFi , Componente 43, Borda 1, Filtro 1, OriginalSize 92, LoggedSize 92

        DA:AA-BB-CC-DD-EE-FF BSSID:10-C2-5A-15-20-DC SA:AA-BB-CC-DD-EE-FF Data IV:3aaaa Pad 0 KeyID 0

17:03:49.717604900 PktGroupId 1529, PktNumber 1, Aparência 4, Direção Rx , Tipo WiFi , Componente 32, Borda 2, Filtro 1, OriginalSize 92, LoggedSize 92

        DA:AA-BB-CC-DD-EE-FF BSSID:10-C2-5A-15-20-DC SA:AA-BB-CC-DD-EE-FF Data IV:3aaaa Pad 0 KeyID 0

17:03:49.717608400 PktGroupId 1529, PktNumber 1, Aparência 5, Direção Rx , Tipo WiFi , Componente 32, Borda 1, Filtro 1, OriginalSize 92, LoggedSize 92

        DA:AA-BB-CC-DD-EE-FF BSSID:10-C2-5A-15-20-DC SA:AA-BB-CC-DD-EE-FF Data IV:3aaaa Pad 0 KeyID 0

17:03:49.717610500 PktGroupId 1529, PktNumber 1, Aparência 6, Direção Rx , Tipo WiFi , Componente 31, Borda 2, Filtro 1, OriginalSize 92, LoggedSize 92

        DA:AA-BB-CC-DD-EE-FF BSSID:10-C2-5A-15-20-DC SA:AA-BB-CC-DD-EE-FF Data IV:3aaaa Pad 0 KeyID 0

17:03:49.717629300 PktGroupId 1529, PktNumber 1, Aparência 7, Direção Rx , Tipo Ethernet , Componente 31, Borda 1, Filtro 1, OriginalSize 74, LoggedSize 74

        AA-BB-CC-DD-EE-FF > AA-BB-CC-DD-EE-FF, ethertype IPv4 (0x0800), length 74: 1.1.1.1 > 192.168.1.13: ICMP echo reply, id 1, seq 8454, length 40

17:03:49.717631800 PktGroupId 1529, PktNumber 1, Aparência 8, Direção Rx , Tipo WiFi , Componente 30, Borda 2, Filtro 1, OriginalSize 74, LoggedSize 74

        unknown 802.11 frame type (3)

17:03:49.717682000 PktGroupId 1529, PktNumber 1, Aparência 9, Direção Rx , Tipo Ethernet , Componente 30, Borda 1, Filtro 1, OriginalSize 74, LoggedSize 74

        AA-BB-CC-DD-EE-FF > AA-BB-CC-DD-EE-FF, ethertype IPv4 (0x0800), length 74: 1.1.1.1 > 192.168.1.13: ICMP echo reply, id 1, seq 8454, length 40

17:03:49.717686300 PktGroupId 1529, PktNumber 1, Aparência 10, Direção Rx , Tipo Ethernet , Componente 67, Borda 1, Filtro 1, OriginalSize 74, LoggedSize 74

        AA-BB-CC-DD-EE-FF > AA-BB-CC-DD-EE-FF, ethertype IPv4 (0x0800), length 74: 1.1.1.1 > 192.168.1.13: ICMP echo reply, id 1, seq 8454, length 40

17:03:49.717703100 PktGroupId 1529, PktNumber 1, Aparência 11, Direção Rx , Tipo Ethernet , Componente 68, Borda 1, Filtro 1, OriginalSize 74, LoggedSize 74

        AA-BB-CC-DD-EE-FF > AA-BB-CC-DD-EE-FF, ethertype IPv4 (0x0800), length 74: 1.1.1.1 > 192.168.1.13: ICMP echo reply, id 1, seq 8454, length 40

17:03:49.717706000 PktGroupId 1529, PktNumber 1, Aparência 12, Direção Rx , Tipo Ethernet , Componente 69, Borda 1, Filtro 1, OriginalSize 74, LoggedSize 74

        AA-BB-CC-DD-EE-FF > AA-BB-CC-DD-EE-FF, ethertype IPv4 (0x0800), length 74: 1.1.1.1 > 192.168.1.13: ICMP echo reply, id 1, seq 8454, length 40

17:03:49.717709000 PktGroupId 1529, PktNumber 1, Aparência 13, Direção Rx , Tipo Ethernet , Componente 72, Borda 1, Filtro 1, OriginalSize 74, LoggedSize 74

        AA-BB-CC-DD-EE-FF > AA-BB-CC-DD-EE-FF, ethertype IPv4 (0x0800), length 74: 1.1.1.1 > 192.168.1.13: ICMP echo reply, id 1, seq 8454, length 40

Liberando logs...

PS C:\Users\jbitcore\Desktop>

Exemplo prático 1

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 com editor de texto ou Wireshark para visualizar o resultado da captura.

Veja um exemplo do arquivo pronto para leitura:


Exemplo prático 2

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

pktmon format pktmon.etl -o output.txt

# Visualize no terminal com filtro apenas para linha com IP

O comando grep é uma ferramenta comum em sistemas Unix-like, como Linux, e não está disponível por padrão no PowerShell do Windows, entrentanto, você pode usar o cmdlet Select-String para um propósito semelhante. Aqui está como você pode modificar o comando:

Select-String -Path output.txt -Pattern '([0-9]{1,3}\.){3}[0-9]{1,3} > ([0-9]{1,3}\.){3}[0-9]{1,3}'

Este comando irá extrair todas as linhas que contêm um endereço IP seguido por um sinal de maior (>) e outro endereço IP. Isso facilitará a leitura dos logs.