PretendoNetwork / nex-viewer

Utility for parsing and (eventually) viewing NEX connections from WireShark network dumps
8 stars 5 forks source link

[Feature]: Export sessions #28

Open jonbarrow opened 4 months ago

jonbarrow commented 4 months ago

Checked Existing

What feature do you want to see added?

Add the ability to export sessions, with all packets decrypted/decoded already.

We already convert packets to JSON when sending them to the renderer, so maybe we can just dump the whole session as a JSON list of connections? As like a .nexj file (so that we can use the file select window to target them specifically)? The files would be kind of big but we'd also be able to view the data in any text editor.

Alternatively we could dump to pcap/pcapng dumps instead, much like how https://github.com/PretendoNetwork/HokakuCTR does. But we'd need to make sure we identify those dumps uniquely, and we don't yet have a pcap/pcapng writer (though one could be made). Though with this method you'd only be able to view the dumps in our viewer, and maybe Wireshark?

Why do you want to have this feature?

Currently it's difficult to debug certain issues since they rely on dumps which we cannot give to outside contributors. This is due to them being encrypted using the users NEX password, and we can't freely hand that data out. This was specifically mentioned by @wolfendale on Discord, and I agree this is an issue.

I've brought up want to add session exporting since the beginning of this viewer, but only really in the context of speed increases for parsing. But it can also help with safely giving session data to other parties without the need for NEX credentials.

Any other details to share? (OPTIONAL)

Unless https://github.com/PretendoNetwork/nex-viewer/pull/26 is merged, any changes related to this issue should target the rewrite branch.