COM Sniffer 快速搜索
从基础搜索开始。
-
什么是 COM Sniffer?
-
为什么 COM Sniffer 属于 SerialTool 的一部分?
COM Sniffer 目前是 SerialTool 的集成模块。SerialTool 是一款跨平台的串口通信套件(Windows、macOS、Linux),具备丰富的高级功能。 未来 COM Sniffer 可能会以独立版本发布;目前它仅作为 SerialTool 的一部分提供。
如有任何问题,请直接联系 SerialTool 团队。
-
COM Sniffer 是否支持 macOS 或 Linux?
COM Sniffer 目前仅支持 Windows,因为在 Windows 上构建可靠的串口嗅探器需要内核级驱动和复杂的技术实现。 在 macOS 和 Linux 上有替代方案,这些方案不需要内核驱动,运行于用户空间。
-
如何 安装 COM Sniffer?
下载后,COM Sniffer 已包含在 SerialTool 安装包中。安装程序会自动安装所有必需的驱动,无需手动配置。几分钟内即可在 Windows 上开始监控串口。
-
COM Sniffer 支持哪些 操作系统?
由于 COM Sniffer 是 SerialTool 安装包的一部分,它支持所有 64 位 Windows 操作系统。
-
它能否与 USB 转串口转换器(如 RS485、RS422、RS232)或虚拟端口一起使用?
-
如何 发送或接收数据?
COM Sniffer 并不是串口通信程序:它不会通过 COM 端口发送或接收字节,也不会打开或控制端口。它仅处理串口流量的被动监控/嗅探和日志记录。
若需发送和接收数据、并行打开多个端口以及高级通信功能,COM Sniffer 已集成在 SerialTool 中,由其处理所有串口操作。
-
我可以同时监控多少个 串口?
您可以同时监控多个串口。为确保稳定性和高效内存使用,COM Sniffer 设置了最多 32 个 COM 端口同时监控的实际限制。
-
我能否记录、监控并嗅探 已被其他软件打开的 COM 端口?
记录、监控并嗅探已打开 COM 端口的数据正是 COM Sniffer 的主要用途。
当串口被其他程序使用时,COM Sniffer 会拦截并实时显示所有流量,以及配置参数(波特率、校验位、数据/停止位、RTS/DTR、超时)和底层调用(内核级 IOCTL/IRP)。这使您无需更改现有环境即可分析应用程序行为,并快速识别异常或错误。
-
我可以监控哪些 IOCTL_SERIAL 和 IRP_MJ 信号?
通常情况下,您可以监控 Windows 低层 ntddser.h 库中定义的所有信号,以及 IRP 主功能 (IRP_MJ) 的 READ 和 WRITE。
-
我能否 保存 串口流量?
-
我能否 分析串口流量的协议?
-
为什么分析串口需要 内核驱动?
要嗅探已打开串口上的所有流量,无法从用户空间重新打开端口。必须使用内核级过滤驱动来拦截并过滤所有发送至串口的请求和数据(IOCTL/IRP,READ/WRITE)。
一个有效的 内核 驱动必须稳定、设计良好,并获得微软数字签名(认证/WHQL),以便安全加载到所有受支持的 Windows 版本上(兼容安全启动,启用 DSE)。
没有内核驱动(其开发非常复杂)的应用程序无法在已使用的 COM 端口上实现相同级别的监控、嗅探和日志记录。
-
我能使用哪些 替代方法 来记录或监控串口?
在没有内核驱动的情况下,唯一的替代方法是物理接入 TX 和 RX 引脚来记录、监控和嗅探串口(COM)端口。实际上,您需要使用 USB 转串口转换器,并将接触点焊接(或用探针夹住)在 PCB 上。这样,借助 SerialTool 等软件,您就能看到传输的字节。
硬件方法的局限性包括:- 无法观察原始软件如何使用端口:打开/关闭、波特率、校验/数据/停止位、超时、握手的动态变化。
- 无法显示控制信号(如 RTS/DTR)或其状态变化,这些信号常用于复位或流量控制。
- 无法显示底层调用(IOCTL/IRP),也无法展示操作系统操作的精确顺序。
- 需要侵入式操作(焊接),可能存在硬件/保修风险,并需注意电气电平(RS-232/422/485)。