-
Notifications
You must be signed in to change notification settings - Fork 0
Supported Protocols
lex edited this page May 28, 2026
·
1 revision
| 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 |
- 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
-
Auto SSL stripping: MySQL clients that attempt SSL are transparently downgraded to cleartext. No need for
--ssl-mode=DISABLEDon the client side. -
Auth handshake: Handles
caching_sha2_passwordandmysql_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
- Simple query protocol (
Qmessage) and extended query protocol (Parse/Bind/Execute) - Parameterized queries shown with parameter values when available
- Portal/Statement names tracked for prepared statement correlation
- 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
- 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
- Text protocol:
get,set,add,delete,incr,decr, etc. - Binary protocol not supported
- Request/response correlation
- Shows API key, API version, and parsed request body
- Common APIs: Produce, Fetch, ListOffsets, Metadata
- 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
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.