RemoteDesk RDP Session Spike
This standalone helper verifies that a target is reachable through DNS and TCP and that IronRDP can decode its X.224/RDP security negotiation response.
It intentionally stops in IronRDP's EnhancedSecurityUpgrade state. It does not start TLS, CredSSP/NLA, authenticate, create a desktop session, receive graphics, or render frames. A successful result proves an NLA-capable RDP endpoint responded to IronRDP; it does not prove that any account can log in.
The process accepts one bounded JSON object on stdin:
{"target":"rdp-host.example:3389","timeout_ms":3000}
target and timeout_ms are the only accepted fields. In particular, username and password are rejected. The target never appears in JSON output, Debug, error messages, or command-line arguments.
Run from the repository root:
'{"target":"127.0.0.1:3389","timeout_ms":3000}' |
cargo run --manifest-path client/helpers/rdp-session/Cargo.toml --quiet
Example success shape:
{"ok":true,"stage":"rdp_negotiation","security_protocol":"hybrid_extended","tcp_latency_ms":1,"total_latency_ms":8}
The helper is part of the root Cargo workspace and is packaged beside the control service.