SpyPort串口嗅探器/记录器
串口嗅探器和记录器
SpyPort是什么?
SpyPort是SerialTool的一个功能,可以直接从内核监视Windows环境中串口的所有流量。
这种方法使用了由我们的团队专门为SerialTool开发的驱动程序,以拦截操作系统针对特定COM端口的所有调用。
更具体地说,即使COM端口已经打开并被另一个应用程序使用,内核驱动程序也会拦截并过滤Windows的IRP和IOCTL_SERIAL信号,因此可以“嗅探”串行通信。
该功能仅适用于SerialTool的PRO版本。
主要界面
可以嗅探和记录什么?
您可以选择性地过滤一些感兴趣的信号,也可以直接记录所有低级别的流量。 SpyPort提供了仅保存输出流量(IRP_MJ_WRITE)、输入流量(IRP_MJ_READ)或选择一个或所有的IOCTL_SERIAL的完整流量的选项。输入和输出数据可以分别保存为文本或二进制格式,针对IRP_MJ_WRITE和IRP_MJ_READ(COM端口的TX和RX),其他信号则保存为文本格式。
如何显示嗅探/记录的数据?
由于SerialTool具有先进的功能,可以详细显示每个数据包,以ASCII或十六进制格式显示其中的数据。
这个特性可以更快速和精确地进行查询,并且还可以在数据包中搜索特定模式、以二进制格式保存/导出感兴趣的数据包或将其以ASCII格式复制到剪贴板中。
每个数据包都会详细显示其所有重要数据,例如接收的精确时间(以毫秒为单位)、数据包类型以及前一个和后一个数据包之间的时间间隔。
数据包的分析类型符合SerialTool 1.6.0版本引入的会话包类型。
您可以随时停止记录,而不会影响当前正在使用COM端口的软件。
嗅探到的串口数据包的ASCII和十六进制显示
SpyPort与SerialTool的使用示例
SpyPort模块的使用领域多种多样,包括:
1. 监控自身和第三方应用程序。
在工业和嵌入式领域,发现和诊断错误通常非常困难。有时候,自己的应用程序或第三方应用程序在数小时后出现缺陷,而开发人员却无法在场,无法及时解决问题。因此,SerialTool的SpyPort模块被设计为在直观有效的环境中提供长时间的监听/记录,帮助开发人员找出问题的原因。
典型的例子是,工业应用程序通过串口与其他设备通信。
如果出现故障,重要的是能够监视官方“发布”模式下软件的行为,以确定问题出现的位置。SpyPort不会干扰正在监视的软件,并允许分析所有的输入和输出流量。
2. 逆向工程。
在需要“捕获”特定软件串口进出流量的场景中,例如在连接设备上下载固件时,SpyPort是理想的工具!
它可以直接将第三方软件传输的所有字节以二进制格式保存,并捕获感兴趣的数据(例如固件)。
3. 调试。
开发串口软件时,确保发送和接收的数据正确,遵循特定的时间表是绝对必要的,有时还需要正确控制COM端口的其他信号,如DTR和RTS。
当开发人员编写自己的软件时,SpyPort可以帮助验证串口的行为是否符合预期,串口是否正确打开,并且读取和写入是否按照规定执行
。
在这种情况下,SerialTool与其SpyPort模块成为验证所有软件正确编写的基本工具。当您想要创建与串口通信的软件时,SpyPort变得绝对必不可少。