Wireshark Dissector
A Lua dissector for enhanced RTPS/DDS packet analysis in Wireshark.
Overview
The HDDS Wireshark dissector provides deep inspection of RTPS traffic, with special support for HDDS-specific features. It adds a new protocol tree (hdds) to RTPS packets showing:
- Vendor identification (HDDS, FastDDS, RTI, etc.)
- Submessage decoding (DATA, HEARTBEAT, ACKNACK, GAP, INFO_TS)
- Entity ID recognition (SPDP, SEDP, TypeLookup)
- Inline QoS parsing (topic name, type name)
- CDR2 payload encapsulation detection
- Sequence number tracking
Installation
Using Install Script
cd hdds/tools/wireshark
./install.sh
Manual Installation
Linux:
mkdir -p ~/.local/lib/wireshark/plugins/
cp hdds_rtps.lua ~/.local/lib/wireshark/plugins/
macOS:
mkdir -p ~/Library/Application\ Support/Wireshark/plugins/
cp hdds_rtps.lua ~/Library/Application\ Support/Wireshark/plugins/
Windows:
mkdir %APPDATA%\Wireshark\plugins
copy hdds_rtps.lua %APPDATA%\Wireshark\plugins\
Verify Installation
- Open Wireshark
- Go to Help → About Wireshark → Plugins
- Look for "hdds" in the list
- Check Lua console (Tools → Lua → Console) for:
[HDDS] RTPS Dissector loaded
Quick Start
Capture RTPS Traffic
Set a capture filter for RTPS ports:
udp port 7400-7500
Filter HDDS Packets
Once captured, use display filters:
hdds.vendor == "HDDS"
View Packet Details
Expand the HDDS RTPS Analysis tree in the packet details pane to see:
- Protocol version
- Vendor ID
- GUID prefix
- Individual submessages with decoded fields
Features
| Feature | Description |
|---|---|
| RTPS Header | Magic, version, vendor ID, GUID prefix |
| DATA submessage | Reader/Writer IDs, sequence number, inline QoS, payload |
| HEARTBEAT | First/last sequence, count |
| ACKNACK | Sequence number set |
| GAP | Gap start sequence |
| INFO_TS | Timestamp (seconds.fraction) |
| CDR2 detection | Encapsulation type (CDR_LE, CDR2_LE, PL_CDR2_LE) |
| Vendor detection | HDDS (0x01AA), FastDDS, RTI, CycloneDDS, etc. |
| Entity IDs | SPDP_WRITER, SEDP_PUB_READER, TypeLookup, etc. |
Screenshots
HDDS packets are automatically highlighted with [HDDS] prefix in the info column:
No. Time Source Dest Protocol Info
1 0.000 192.168.1.10 239.255.0.1 RTPS [HDDS] DATA Seq=42 Topic="temperature"
2 0.001 192.168.1.10 239.255.0.1 RTPS [HDDS] HEARTBEAT Seq=[1-42] Count=5