Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/firedancer-io/solana_dissector
Wireshark dissector for the Solana peer-to-peer network
https://github.com/firedancer-io/solana_dissector
lua solana wireshark wireshark-dissector wireshark-lua
Last synced: 2 months ago
JSON representation
Wireshark dissector for the Solana peer-to-peer network
- Host: GitHub
- URL: https://github.com/firedancer-io/solana_dissector
- Owner: firedancer-io
- License: gpl-2.0
- Created: 2022-08-16T09:19:09.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-03-19T19:23:02.000Z (10 months ago)
- Last Synced: 2024-07-30T20:16:27.170Z (6 months ago)
- Topics: lua, solana, wireshark, wireshark-dissector, wireshark-lua
- Language: Lua
- Homepage:
- Size: 75.2 KB
- Stars: 21
- Watchers: 2
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Wireshark dissectors for Solana
## Installation
#### macOS
Download latest version of plugin
```shell
rm -f /Applications/Wireshark.app/Contents/PlugIns/wireshark/solana.lua
curl --output /Applications/Wireshark.app/Contents/PlugIns/wireshark/solana.lua \
--proto '=https' --tlsv1.2 -sSf \
https://raw.githubusercontent.com/terorie/solana_dissector/main/solana.lua
```To activate, hit Cmd+Shift+L or restart Wireshark.
## Ports
Solana nodes allocate ports in a block starting at an arbitrary number.
To discover endpoints, nodes use the gossip protocol to send each other port mappings.This plugin doesn't implement mappings yet and instead hardcodes ports.
- 8000: Gossip
- 8001, 8002: Shreds
- 8008, 8009: RepairThis might get fixed in the future, but for now, you have to use "Decode As" to select a protocol if the hardcoded mapping fails.
## Development
- 🚧 Gossip protocol
- Messages
- ✅ Pull Request
- ✅ Pull Response
- ✅ Push Message
- ✅ Prune Message
- ✅ Ping Message
- ✅ Pong Message
- Types
- ✅ Socket Address
- ✅ Transaction (legacy)
- ❌ Transaction (v0)
- CRDS
- ✅ Contact Info
- ✅ Vote
- ❌ Vote program data
- ✅ Lowest Slot
- ✅ Snapshot Hashes
- ✅ Accounts Hashes
- ✅ Epoch Slots
- ✅ Legacy Version
- ✅ Version
- ✅ Node Instance
- ❌ Duplicate Shred
- ✅ Incremental Snapshot Hashes
- 🚧 TVU
- 🚧 Legacy Coding Shreds
- ✅ Legacy Data Shreds
- ❌ Merkle Coding Shreds
- ❌ Merkle Data Shreds
- ✅ Repair
- ✅ Legacy types
- ✅ Pong
- ✅ WindowIndex
- ✅ HighestWindowIndex
- ✅ Orphan
- ✅ AncestorHashes
- ✅ TPU (UDP)
- ❌ TPU (QUIC)