RDP Inspector 是一个 Firefox 扩展,它拦截远程调试协议 (RDP) 并允许检查所有发送和接收的数据。
此扩展对希望通过实现新的可远程访问功能来扩展 Firefox 中的原生开发者工具,或希望了解内置工具如何使用协议在内部与后端调试服务器通信的人员很有用。
入门
最新版本的 RDP Inspector 可以从 addons.mozilla.org 安装(您需要安装至少 Firefox 38 版本)。源代码 也已提供。
安装后,您应该在浏览器窗口的右上角看到一个新的 RDP Inspector 按钮。
单击该按钮将打开 RDP Inspector 控制台窗口。
控制台显示通过网络传输的所有数据包。它还在右侧面板中显示数据包详细信息。
上面的屏幕截图还显示了从服务器接收到的第一个数据包(来自 root
,其中 applicationType="browser"
)。
这就是开发者工具工具箱与后端服务器之间连接的方式。
筛选数据包
数据包列表可能很长,您可以对其进行筛选。例如,要仅查看发送到根 actor 的 getTab
数据包,您可以在控制台窗口的右上角的框中输入 getTab
来筛选数据包列表。
提示:您也可以按 Ctrl+F 并使用浏览器的 查找栏 在数据包列表中进行搜索。
摘要数据
有时了解总共发送或接收了多少数据包或字节很有用。这通常也有助于优化协议流量并使新功能或现有功能更快。
控制台帮助您随时获得此摘要信息。您只需按下工具栏中的 摘要 按钮。
以下屏幕截图显示了在选择了网络面板时(请参见数据包列表底部)的 http://www.washingtonpost.com/ 页面加载时间摘要。
您可以看到已发送 1266 个数据包,接收 2973 个数据包,发送 75.80 KB,从服务器接收 2.27 MB 数据。
与服务器聊天
还可以向服务器后端发送测试数据包。您可以使用自己的属性组合一个新的数据包,将其发送到服务器,并获得响应,就好像它是开发者工具箱发送的数据包一样。您只需选择 发送数据包 侧面板,设置一些属性,然后按下 发送 按钮。
要创建新的数据包属性,请单击面板顶部的 新建…(黄色)行,并输入其名称。
只要按下 Enter 键,就会在列表末尾插入一个新的属性。
默认值为 undefined,您可以通过单击值文本输入框来更改它。字符串需要在引号内插入,而新对象(JSON 数据包子树)可以通过在值输入框中键入 {}
来创建。
数据包准备好后,按下发送按钮,然后查看列表中显示的新数据包。
上面的屏幕截图显示已发送我们的 test
属性。您还可以看到调试服务器的响应。
提示:您可能希望设置 在内联中显示数据包详细信息 选项(请参见工具栏中的 选项 按钮),并在数据包列表中直接查看所有数据包属性。这样,您就不需要不断地在 数据包详细信息 和 发送数据包 侧面板之间切换。
内省协议
在某些情况下,您需要了解后端服务器上有哪些服务可用,并对其进行测试。这些服务既可以是本地的,也可以是自定义的(已安装的)后端 API。该协议支持以下可用于动态内省的数据包类型。
requestTypes
发送到任何 actor 以获取支持的数据包类型(方法)列表。protocolDescription
发送到根 actor 以获取所有后端服务(actor)及其方法的列表
先前屏幕截图上已经显示了 requestType
的响应,您会看到 protocolDescription
是您可以发送到根 actor 的数据包类型之一。
下一个屏幕截图显示了 protocolDescription
数据包请求的响应。
很不错吧,您可以与协议进行聊天 ;-)
详细了解 RDP Inspector
在 项目 wiki 上详细了解 RDP Inspector,如果您发现任何问题或错误,请提供帮助。与往常一样,我们欢迎您的反馈。
Jan ‘Honza’ Odvarko
关于 Jan Honza Odvarko
Honza 正在开发 Firefox 开发者工具
一条评论