Pode tcpdump filtrar por timestamp?

0

Eu tenho um arquivo com pacotes capturados por tcpdump ao longo de alguns dias. A partir desse arquivo, gostaria de ver os pacotes capturados em uma duração de tempo específica que abrangem apenas algumas horas.

Eu sei que posso usar tcpdump -r para ler pacotes de um arquivo. E eu posso usar todos os filtros usuais, como filtragem por protocolo e número de porta. Eu também sei que posso usar -c para limitar quantos pacotes serão enviados. Mas isso não me permite pular vários pacotes desde o começo.

Eu poderia usar tcpdump -tttt e, em seguida, grep para o intervalo de tempo no qual estou interessado, mas no final, gostaria de gravar os pacotes em um novo (menor) arquivo com -w e grep não pode me ajudar com isso.

Existe alguma maneira de instruir tcpdump para incluir apenas pacotes de um intervalo de tempo específico?

    
por kasperd 17.02.2018 / 19:02

1 resposta

1

Existe uma ferramenta de linha de comando chamada editcap (parte da família wireshark) que pode filtrar arquivos pcap por intervalo de tempo. Há mais informações nas respostas a esta pergunta no StackOverflow:

link

Existe também uma ferramenta chamada logdissect que pode filtrar a saída do terminal tcpdump e a saída para o formato de saída do terminal do tcpdump, ou json (com alguns campos básicos como host de origem / destino, protocolo, data). Não é possível exportar para o pcap, infelizmente, mas se você não precisar de saída do pcap, ele pode filtrar por vários critérios diferentes. Está disponível no pip (instalador preferencial do python), e está no github com instruções de configuração.

Apenas por uma questão de divulgação completa, eu escrevi logdissect. Eu normalmente não menciono meus próprios projetos aqui, mas isso pode ajudar nessa situação.

    
por 17.02.2018 / 21:24

Tags