Como eficientemente reordenar os pacotes em arquivos PCAP com base no timestamp?

1

Eu tenho um arquivo PCAP que contém muitos pacotes. No entanto, eles estão fora de ordem com base no timestamp (na verdade, é randomizado). Qual é a melhor maneira de eficientemente classificar os pacotes PCAP com base no timestamp para reprodução posterior?

Atualmente, estou fazendo isso por meio do Scapy e do Python, conforme proposto aqui . Isso está funcionando, mas é muito lento. Além disso, ele carrega o dump completamente na memória, onde os timestamps seriam realmente suficientes. Eu sei que a classificação é uma operação cara, mas esse método leva quase 4 minutos para um arquivo de 344MB contendo 778589 pacotes em um moderno Core i7.

Eu também sei que o Wireshark deve inclua" reordercap ", no entanto, esta ferramenta não está incluída nas versões atuais do Debian e do Ubuntu. Antes de tentar construir o Wireshark a partir da fonte, talvez alguém tenha experiência com essa ferramenta e possa sugerir como será o desempenho.

Então, voltemos à pergunta: Como ordenar pacotes de forma eficiente em arquivos PCAP com base no timestamp? A memória não é a restrição, pois os PCAPs não serão maiores que 2GB e RAM suficiente está disponível, mas o tempo de execução é importante para mim. Deve completar o mais rápido possível.

Obrigado antecipadamente!

    
por waza-ari 10.08.2015 / 17:43

1 resposta

1

Eu tive o mesmo problema e, na verdade, o meu foi o pior porque meu pcapfile era muito maior que o seu, então eu preciso de uma maneira mais eficiente de classificar seus pacotes. Eu acho libtrace que é desenvolvido em C como uma boa solução. Infelizmente, não há ferramentas diretas para executar a tarefa, mas sua ferramenta de rastreamento mescla dois (ou mais) arquivos e classifica o pacote. Então você deve primeiro dividir seu arquivo com tracesplit e depois mesclá-los com tracemerge.

    
por 25.09.2017 / 16:25