-
Notifications
You must be signed in to change notification settings - Fork 13
Platform API
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.
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.
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)