Ok, encontrei a ferramenta chamada editcap
. Você só precisa chamar editcap i.pcapng o.pcap
em um loop:
# Recursively convert all *.pcapng files to *.pcap
cd /path/to/folders # the path to folder where your folders containing '*.pcapng' files are in
find . -type f -name '*.pcapng' -print0 | while IFS= read -r -d '' f; do editcap -F libpcap "$f" "${f%.pcapng}.pcap"; done
(desde que eu sou preguiçoso, eu usei principalmente o script de Radu, além de adicionar aspas duplas para $ {f% .pcapng} .pcap)
Você pode verificar o manual do editcap para mais opções.
Aqui um exemplo:
braiam@bt:~/lab$ ls
something.pcapng
braiam@bt:~/lab$ find . -type f -name '*.pcapng' -print0 | while IFS= read -r -d '' f; do editcap -F libpcap "$f" "${f%.pcapng}.pcap"; done
braiam@bt:~/lab$ file something.pcap something.pcapng
something.pcap: tcpdump capture file (little-endian) - version 2.4 (Ethernet, capture length 65535)
something.pcapng: pcap-ng capture file - version 1.0
braiam@bt:~/lab$
Como você pode ver, converti o formato pcapng para o formato pcap / tcpdump. A mudança de extensão é um extra.