Your local time Write to us

Protocol engineering

Protocols specified, implemented and fuzzed, from binary device links to gRPC and QUIC services.


01 · Build

What we build

When two systems disagree, it is usually about a message neither side wrote down.

  • Written specifications with message formats, states and error codes
  • Parsers and stacks in Rust or C for TCP, UDP, CAN, Modbus and serial links
  • gRPC, QUIC and WebSocket services with versioned schemas
  • Wireshark dissectors, so every message can be read on the wire
  • Fuzzing with libFuzzer and AFL++ before any parser ships
  • Conformance suites that test other vendors’ implementations

02 · Demo · sample data

Try it live.

A working sample with made-up data. It runs in your browser; nothing is sent anywhere.

telemetry protocol: test and fuzzsample data
net@lab:~/tlm-proto$ cargo test --package tlm-codec
running 38 tests
test result: ok. 38 passed; 0 failed
net@lab:~/tlm-proto$ tlm-conform --peer 10.0.4.21:7400

03 · Features

What it does well

  • 01

    Specification first

    Formats, states and timeouts are written down and reviewed before code is written.

  • 02

    State machines

    Each connection follows an explicit state machine, so unexpected messages are rejected.

  • 03

    Versioned messages

    New fields are added without breaking older peers, and every version is tested.

  • 04

    Fuzzed parsers

    Parsers run for hours against malformed input before release, and crashes become tests.

  • 05

    Readable on the wire

    A dissector decodes your protocol in Wireshark and tshark for anyone debugging it.

  • 06

    Bounded resources

    Message sizes, queues and timeouts have limits, so one bad peer cannot stall the rest.

04 · FAQ

Questions

Should we design our own protocol at all?

Often not. If MQTT, OPC UA, gRPC or a published fieldbus already fits, we use it and save you a specification to maintain. A custom protocol makes sense for tight bandwidth, hard timing or a link no standard covers, and then it is written down in full.

Can you document a protocol nobody wrote down?

Yes, for systems you own or are licensed to use. We capture traffic, decode the messages, and write a specification from what we observe, marking anything inferred. That specification then becomes the basis for a new implementation or a test suite.

How do you test against other vendors?

We build a conformance suite from the specification: valid exchanges, edge cases and deliberately malformed messages. It runs against your implementation and any other you have access to, and reports exactly which message and field disagree.


Tell us what you need.

A person replies within 24 hours.