16

I have a bunch of pcap files, created with tcpdump. I would like to store these in a database, for easier querying, indexing etc. I thought mongodb might be a good choice, because storing a packet the way Wireshark/TShark presents them as JSON document seems to be natural.

It should be possible to create PDML files with tshark, parse these and insert them into mongodb, but I am curious if someone knows of an existing/other solution.

Yandry Pozo
  • 4,851
  • 3
  • 25
  • 27
Erik
  • 11,944
  • 18
  • 87
  • 126

3 Answers3

19

On the command line (Linux, Windows or MacOS), you can use tshark.

e.g.

tshark -r input.pcap -T json >output.json

or with a filter:

tshark -2 -R "your filter" -r input.pcap -T json >output.json

Considering you mentioned a set of pcap files, you can also pre-merge the pcap files into a single pcap and then export that in one go if preferred..

mergecap -w output.pcap input1.pcap input2.pcap.. 
Paul Roub
  • 36,322
  • 27
  • 84
  • 93
Cormac Long
  • 263
  • 2
  • 5
13

Wireshark has a feature to export it's capture files to JSON.

File->Export Packet Dissections->As JSON

jontro
  • 10,241
  • 6
  • 46
  • 71
Ajay Thomas
  • 173
  • 2
  • 12
1

You could use pcaphar. More info about HAR here.

Yehia
  • 518
  • 2
  • 17