Skip to content
Jan Odvarko edited this page Aug 18, 2015 · 7 revisions

RDP Inspector (RDPi) is intended to intercept Remote Debugging Protocol (RDP) and show all data sent and received. Implementation of this extension is based on platform API that allows to observe set of events and get all data sent through the wire. Let's see how these API are designed.

Terminology

RDP communication is based on simple packet exchange and this docs is using following terminology to describe the logic.

  • Client - This is usually the front-end consumed by the user (e.g. the Toolbox in Firefox desktop browser).
  • Backend - The debuggee the client is connected to (can also be called the server).
  • Connection - Ensuring paring of the client and backend. It's responsible for data exchange. There can be more clients to one backend at the same time.
  • Packet - RDP communication is based on data chunks called packets. The packet is the entity sent or received and responsible for carrying an optional payload.

Platform Support

API for RDP monitoring has been introduced in Firefox 38 (see also bug 1126274).

API goals:

  • Get list of existing connections
  • Track creation of new connections
  • Observe connection close
  • Intercept all sent/received packets for specific connection
  • Access full packet data (including the payload)
Clone this wiki locally