tshark: somente dissecar pacotes específicos

1

Atualmente, faço isso para ler um arquivo de captura de rede:

tshark -r myfile icmp

Imprime apenas pacotes ICMP, que é um protocolo sobre IP (não UDP ou TCP).

Mas myfile é um arquivo grande com muito tráfego HTTP. Descobri que tshark demora muito para processar esse arquivo, e o motivo é parcialmente porque ele processa todos os pacotes TCP completamente, até mesmo dissecando os dados HTTP. Eu percebi isso porque imprime mensagens de erro relacionadas à dissecação HTTP.

Desde que eu sei que os pacotes ICMP que eu quero nunca estão dentro do TCP, eu tentei estes:

tshark -r myfile 'not tcp and icmp'
tshark -r myfile -2 -R 'not tcp' icmp

Mas o tshark ainda disseca os pacotes HTTP (mais uma vez eu sei disso porque vejo mensagens de erro do dissector HTTP).

Eu quero economizar tempo (e evitar falhas devido a erros de dissecção) por não dissecar protocolos de nível superior quando um protocolo de nível inferior não corresponder.

Estou ciente de que eu poderia dividir meus arquivos de captura por protocolo, mas isso não é tão prático, porque as coisas exatas que eu quero ver não são conhecidas de antemão.

Eu também tentei a opção -O para ativar dissectores específicos, mas isso faz com que tshark imprima detalhes completos de várias linhas para cada pacote, o que não é o que eu quero.

Como posso fazer com que tshark ignore os pacotes de dissecação de protocolos específicos de nível inferior?

Estou usando o tshark 1.10.6, mas eu poderia usar versões mais novas, se necessário.

    
por John Zwinck 10.08.2017 / 05:07

1 resposta

0

Sua sintaxe não está correta. Parece que você está misturando a sintaxe do filtro de exibição do Wireshark e pcap-filter captura a sintaxe do filtro.

Com a versão estável mais recente do tshark (atualmente 2.4.0), é possível especificar um filtro de exibição para usar com a opção -Y . Por exemplo:

tshark -r myfile -Y "icmp"

A opção -Y também estava disponível na versão 1.10.6.

Como alternativa, você pode usar um filtro de leitura da seguinte maneira, mas eu geralmente mantenho o método de exibição acima:

tshark -r myfile -2R "icmp"
    
por 10.08.2017 / 23:50

Tags