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
- 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
- Currently the plugin has only been built on Linux Mint 64 bit. A binary can be downloaded from the releases page.
This shows a dissected Masternode Ping message. The packet also contains a Governance Vote.

| 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 |
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)
