2

我有一个通过 USB 连接到 pc 的设备,它通过驱动程序和软件映射到虚拟串行端口,连接到该串行端口并允许我管理设备。我不知道使用什么协议软件来连接设备。我可以通过查看设备和软件之间的通信来找出协议,但是串口的问题是,一旦软件连接到串口,其他软件也无法连接到该端口(这当然是有道理的)。

所以我想我可以写一个软件来做以下事情:

  1. 连接到设备所在的虚拟串行端口
  2. 创建软件将连接到的虚拟串行端口
  3. 在内部将所有内容从第一个端口传输到第二个端口,反之亦然,但将所有这些信息记录到某个转储文件中

我的问题是:是否可以使用 .NET 创建虚拟串行端口?我听说没有,因为您需要以某种方式创建驱动程序或其他东西,并且需要内核级编程,对吗?如果仍然如此,有没有一种方法可以在没有任何桥接软件的情况下观察设备和软件之间的通信?

提前致谢!亚伦

4

2 回答 2

3

你试过波特蒙吗?

这是网站上说的

它是一个实用程序,用于监视和显示系统上的所有串行和并行端口活动。它具有高级过滤和搜索功能,使其成为探索 Windows 工作方式、查看应用程序如何使用端口或跟踪系统或应用程序配置中的问题的强大工具。

http://technet.microsoft.com/en-us/sysinternals/bb896644

已知问题:PortMon v3.03 中存在一个错误(请参阅此处),这使得所需的“计算机”菜单项不会出现在某些系统上。一种解决方法是在打开 v3.03 之前连接到v3.02中的本地计算机。

于 2012-01-22T10:22:19.970 回答
3

如果菜单 Capture / Ports 为灰色,则此方法有效:

在命令提示符下使用 portmon /c 启动一个 portmon 实例。然后再启动一个,使用 ctrl-r 以 127.0.0.1 作为地址连接到自己的 PC。

于 2015-04-18T17:38:14.403 回答