Skip to content

Supported Protocols

lex edited this page May 28, 2026 · 1 revision

Supported Protocols

Protocol Status Parser Notes
Redis (RESP) resp.rs Full RESP2/RESP3 support
MySQL mysql.rs Auto SSL stripping, auth handshake handling
PostgreSQL postgres.rs Simple and extended query protocol
RabbitMQ (AMQP) amqp.rs AMQP 0-9-1
MongoDB mongodb.rs OP_MSG support, OP_QUERY/OP_REPLY filtered
Memcached memcached.rs Text protocol
Kafka kafka.rs Kafka protocol parsing
HTTP / Elasticsearch http.rs HTTP/1.x request/response parsing

Protocol-Specific Notes

Redis (RESP)

  • Parses all RESP types: Simple Strings, Errors, Integers, Bulk Strings, Arrays
  • Multi-bulk commands displayed as single events (e.g. MSET key1 val1 key2 val2)
  • Pipeline support — each command in a pipeline shown separately

MySQL

  • Auto SSL stripping: MySQL clients that attempt SSL are transparently downgraded to cleartext. No need for --ssl-mode=DISABLED on the client side.
  • Auth handshake: Handles caching_sha2_password and mysql_native_password
  • COM_QUERY and COM_STMT_EXECUTE displayed as human-readable SQL
  • ResultSet parsing: Columns and rows displayed in table format in the detail pane
  • Capture mode: skips multi-round auth handshake to avoid parsing issues

PostgreSQL

  • Simple query protocol (Q message) and extended query protocol (Parse/Bind/Execute)
  • Parameterized queries shown with parameter values when available
  • Portal/Statement names tracked for prepared statement correlation

RabbitMQ (AMQP)

  • AMQP 0-9-1 frame parsing
  • Shows method frames: basic.publish, basic.consume, queue.declare, etc.
  • Message bodies displayed in detail pane
  • Heartbeat frames can be filtered out via exclude rules

MongoDB

  • OP_MSG parsing (modern MongoDB wire protocol)
  • Command documents displayed as JSON
  • OP_QUERY and OP_REPLY (legacy) are captured but not fully parsed
  • Capture mode: discards unparseable legacy packets to prevent buffer pollution

Memcached

  • Text protocol: get, set, add, delete, incr, decr, etc.
  • Binary protocol not supported

Kafka

  • Request/response correlation
  • Shows API key, API version, and parsed request body
  • Common APIs: Produce, Fetch, ListOffsets, Metadata

HTTP / Elasticsearch

  • HTTP/1.x request line and headers displayed
  • Response status code and content type shown
  • Request/response bodies displayed in detail pane when content is text-based
  • Useful for Elasticsearch, Solr, or any HTTP-based service

Adding a New Protocol

See Adding a New Protocol for a step-by-step guide. The ProtocolHandler trait is designed to make adding new protocols straightforward — most protocols can be added by implementing 4-5 methods.

Clone this wiki locally