PrismarineJS / PrismarineJS/minecraft-data
Wireshark dissector using minecraft-data protocol
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 938
- Forks
- 294
- Avg merge
- 2d 10h
- Merged PRs (30d)
- 23
Description
Would be cool if the protocol specs from minecraft-data could be used to generate a dissector for the Wireshark network analyzer: https://www.wireshark.org
There were some previous efforts, but none complete/merged/for PC:
- https://github.com/brandon15811/MinecraftPE-Dissector - pocket edition protocol, different than PC
- https://github.com/maniak89/WiresharkMinecraft - updated year ago, not many (any?) packets, (C++?)
- https://github.com/ScottBrooks/minecraft-dissector - updated 6 years ago (2011), seemed to work at the time, would need to be updated to add new data
- https://github.com/deathcap/wireshark/commits/mc - my incomplete attempt at updating the above dissector for Wireshark 1.99
- https://github.com/AlanDeSmet/minecraft-dissector - another update, 5 years ago
References:
- https://github.com/wireshark/wireshark - Wireshark source code
- https://www.wireshark.org/docs/wsdg_html_chunked/ChDissectAdd.html - how to write dissectors
- https://github.com/PrismarineJS/minecraft-data/blob/master/doc/make-a-new-wrapper.md - how to write new wrappers for minecraft-data
First step would be a C wrapper for minecraft-data. Or actually it could alternatively be written in Lua, as https://github.com/brandon15811/MinecraftPE-Dissector demonstrates. After there is a C or Lua wrapper, next step wiring it up to Wireshark, then getting it merged into the mainline Wireshark project if possible.
This of course would be a separate repository (c-minecraft-data? lua-minecraft-data? wireshark-minecraft-data) but saving this issue here since there isn't one yet (and I'd like to but probably can't work on it anytime soon), in case anyone else wants to pick up these efforts.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the minecraft-data wrapper guide and Wireshark's dissector development guide, then compare the listed previous dissector efforts. The proposed work begins with a C or Lua wrapper, followed by Wireshark integration and possible upstreaming; done would require a complete PC protocol dissector, but the repository and exact implementation scope are not defined.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c, javascript, lua
- Domain
- devtools, networking
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100