Awesome
Wireshark dissector plugin for the Dash cryptocurrency protocol
A Dash protocol dissector converted from the bitcoin built-in dissector and updated to include Dash specific commands (based on outdated protocol documentation and source code). All messages are now dissected in significant detail.
Current limitations:
- Governance object (
govobj
) data field is not dissected - The script field of TxOuts is not dissected
To Build (on Linux Mint 17.3)
- Clone Wireshark from https://github.com/wireshark/wireshark
- Clone this plugin repository
- From this repository, copy CMakeListsCustom.txt / the plugins folder and paste into the root of the cloned Wireshark folder
- Follow the Wireshark build instructions
Note: This was built with Wireshark 2.3. To use with Wireshark 2.2 it is necessary to build using the master-2.2 branch of this repository
Releases
- Currently the plugin has only been built on Linux Mint 64 bit. A binary can be downloaded from the releases page.
Capture screenshot
This shows a dissected Masternode Ping message. The packet also contains a Governance Vote.
Dash specific protocol implementation status (excludes items shared with the Bitcoin protocol)
Name | Recognized | Dissected | Status | Description |
---|---|---|---|---|
blocktxn | Y | Y | Block Transactions (compact block-related) | |
cmpctblock | Y | Y | Compact Block | |
dsa | Y | Y | Darksend Accept | |
dsc | Y | Y | Darksend Complete | |
dseg | Y | Y | Masternode List/Entry Sync | |
dsf | Y | Y | Darksend Final Transaction | |
dsi | Y | Y | Darksend Entry | |
dsq | Y | Y | Darksend Queue | |
dss | Y | Y | Darksend Sign Final Transaction | |
dssu | Y | Y | Mixing Pool Status Update | |
dstx | Y | Y | Darksend Broadcast | |
getblocktxn | Y | Y | Get block transaction(s) (compact block-related) | |
govobj | Y | Y | Governance Object | |
govobjvote | Y | Y | Governance Vote | |
govsync | Y | Y | Governance Object Sync | |
ix | Y | Y | Transaction Lock Request (InstantSend) | |
mnb | Y | Y | Masternode Broadcast | |
mnget | Y | Y | Masternode Payment Sync | |
mnp | Y | Y | Masternode Ping | |
mnv | Y | Y | Masternode Verify | |
mnw | Y | Y | Masternode Payment Vote | |
mnwb | Y | NA | Inventory only | Masternode Payment Block (no message - inventory only) |
sendcmpct | Y | Y | Send compact blocks | |
spork | Y | Y | Spork status | |
ssc | Y | Y | Sync Status Count | |
txlvote | Y | Y | Transaction Lock Vote |
Example display filter
This example of using display filters shows how to show messages related to a PrivateSend session.
ip.addr == 217.182.229.150 && (dash.dsa || (dash.dsq.ready==1) || dash.dsi || \
dash.dsf || dash.dss || dash.dsc || dash.dssu || dash.dstx)