如何将.pcapng 文件转换为.pcap/.tcpdump 文件?

如何将.pcapng 文件转换为.pcap/.tcpdump 文件?

我有几个文件夹,每个文件夹有 300 到 400 个文件。这些文件是 wireshark 捕获的.pcapng格式。我想编写一个 shell 脚本,打开每个文件并将其保存到使用 wireshark.tcpdump格式的新文件夹中。

答案1

好的,找到了名为 的工具editcap。您只需调用editcap i.pcapng o.pcap循环即可:

# 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

(因为我很懒,所以除了为 ${f%.pcapng}.pcap 添加双引号外,我主要使用了 Radu 的脚本)

您可以检查editcap 手册以获得更多选项。

下面是一个例子:

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$ 

如你所见,我将 pcapng 格式转换为 pcap/tcpdump 格式。扩展名的更改是额外的。

答案2

您也可以使用 tshark:

tshark -F pcap -r {pcapng_file} -w {pcap_file}

相关内容