我有一堆用 tcpdump 创建的 pcap 文件。我想将这些存储在数据库中,以便于查询、索引等。我认为 mongodb 可能是一个不错的选择,因为以 Wireshark/TShark 将数据包呈现为 JSON 文档的方式存储数据包似乎很自然。
应该可以使用 tshark 创建 PDML 文件,解析这些文件并将它们插入 mongodb,但我很好奇是否有人知道现有/其他解决方案。
在命令行(Linux、Windows 或 MacOS)上,您可以使用 tshark。
例如
tshark -r input.pcap -T json >output.json
或使用过滤器:
tshark -2 -R "your filter" -r input.pcap -T json >output.json
考虑到您提到了一组 pcap 文件,您还可以将 pcap 文件预先合并到一个 pcap 中,然后根据需要一次性导出。
mergecap -w output.pcap input1.pcap input2.pcap..
Wireshark 具有将其捕获文件导出为 JSON 的功能。
File->Export Packet Dissections->As JSON