# rtr_debug_client `rtr_debug_client` 是一个用于调试和联调 RTR(RPKI-to-Router)服务端的小型客户端工具。 它的目标不是做一个完整的生产级 router client,而是提供一个简单、直接、可观察的调试入口,用于: - 连接 RTR server - 发送 `Reset Query` 或 `Serial Query` - 接收并打印服务端返回的 PDU - 辅助排查协议实现、会话状态、序列号增量、PDU 编码等问题 --- ## 适用场景 这个工具适合以下场景: - 开发 RTR server 时做本地联调 - 验证服务端是否正确返回 `Cache Response` - 检查 `IPv4 Prefix` / `IPv6 Prefix` / `ASPA` / `End of Data` 等 PDU - 验证 `Serial Query` 路径是否正确 - 观察异常响应,例如 `Cache Reset` 或 `Error Report` - 后续扩展为支持 TLS、自动断言、会话统计等调试能力 --- ## 当前能力 当前版本支持: - TCP 连接 RTR server - 发送 `Reset Query` - 发送 `Serial Query` - 持续读取服务端返回的 PDU - 解析并打印以下常见 PDU: - `Serial Notify` - `Serial Query` - `Reset Query` - `Cache Response` - `IPv4 Prefix` - `IPv6 Prefix` - `End of Data` - `Cache Reset` - `Error Report` - `ASPA` - 基础长度校验 - 最大 PDU 长度限制,防止异常数据导致过大内存分配 --- ## 目录结构 建议目录如下: ```text src/ └── bin/ └── rtr_debug_client/ ├── main.rs ├── protocol.rs ├── io.rs ├── pretty.rs └── README.md