Skip to main content

Display Filters

Complete reference for HDDS Wireshark display filters.

Basic Filters​

By Vendor​

Filter packets from specific DDS implementations:

hdds.vendor == "HDDS"
hdds.vendor == "FastDDS (eProsima)"
hdds.vendor == "RTI Connext"
hdds.vendor == "Cyclone DDS"
hdds.vendor == "OpenDDS (OCI)"
hdds.vendor == "RustDDS"

By Topic Name​

Filter by topic (requires inline QoS in DATA submessages):

hdds.topic contains "temperature"
hdds.topic == "rt/chatter"
hdds.topic matches "sensor.*"

By Type Name​

Filter by DDS type:

hdds.type_name contains "Temperature"
hdds.type_name == "std_msgs::msg::String"

Submessage Filters​

By Submessage Kind​

hdds.submsg.kind == "DATA"
hdds.submsg.kind == "HEARTBEAT"
hdds.submsg.kind == "ACKNACK"
hdds.submsg.kind == "GAP"
hdds.submsg.kind == "INFO_TS"

By Sequence Number​

hdds.seq_num > 100
hdds.seq_num == 42
hdds.first_seq >= 1 && hdds.last_seq <= 1000

Discovery Filters​

SPDP Traffic (Participant Discovery)​

hdds.writer_id contains "00:01:00:c2"

SEDP Traffic (Endpoint Discovery)​

Publications:

hdds.writer_id contains "00:00:03:c2"

Subscriptions:

hdds.writer_id contains "00:00:04:c2"

Combined Filters​

HDDS DATA with topic​

hdds.vendor == "HDDS" && hdds.submsg.kind == "DATA" && hdds.topic

High sequence numbers from HDDS​

hdds.vendor == "HDDS" && hdds.seq_num > 1000

Heartbeats with large ranges​

hdds.submsg.kind == "HEARTBEAT" && (hdds.last_seq - hdds.first_seq) > 100

Cross-vendor communication​

hdds.vendor == "HDDS" || hdds.vendor == "FastDDS (eProsima)"

Capture Filters​

For live capture, use BPF filters (not display filters):

All RTPS Traffic​

udp portrange 7400-7500

Specific Domain (domain 0)​

udp port 7400 or udp port 7401

Multicast Only​

udp dst net 239.255.0.0/16

Unicast Only​

udp and not dst net 239.0.0.0/8

Protocol Fields Reference​

FieldTypeDescription
hdds.magicstringRTPS magic ("RTPS")
hdds.versionstringProtocol version (e.g., "2.3")
hdds.vendorstringVendor name
hdds.guid_prefixbytes12-byte GUID prefix
hdds.submsg.kindstringSubmessage type name
hdds.submsg.flagsuint8Submessage flags
hdds.submsg.lengthuint16Submessage length
hdds.reader_idbytesReader entity ID
hdds.writer_idbytesWriter entity ID
hdds.seq_numuint64Sequence number
hdds.first_sequint64First sequence (HEARTBEAT)
hdds.last_sequint64Last sequence (HEARTBEAT)
hdds.topicstringTopic name (from inline QoS)
hdds.type_namestringType name (from inline QoS)
hdds.payload_lenuint32Payload length in bytes

Tips​

Coloring Rules​

Add coloring rules to highlight HDDS traffic:

  1. View → Coloring Rules
  2. Add new rule:
    • Name: HDDS Traffic
    • Filter: hdds.vendor == "HDDS"
    • Background: Light green

Statistics​

Use Statistics → Conversations with filter hdds to see RTPS conversation statistics.

Following Streams​

RTPS uses UDP, so "Follow UDP Stream" groups related packets but won't reconstruct application data.

Exporting Filtered Packets​

  1. Apply filter (e.g., hdds.vendor == "HDDS")
  2. File → Export Specified Packets
  3. Choose "Displayed" to export only matching packets