有没有免费的方法来监视Windows 7 x64上的串行端口?


15

我环顾了很多时间,但是我还没有找到一种监视串行端口的免费方法(无需从其他应用程序打开或阻止它),该方法可在Windows 7 64位系统上运行。

甚至微软自己的Portmon也无法正常工作。一些帖子谈到了在兼容模式下运行它,但对我而言不起作用。我已经尝试了Windows XP Service Pack 2和3(下拉列表中唯一可用的兼容模式)的兼容模式,但都不允许它起作用。

是的,有什么方法可以监视Windows 7 64位的串行端口吗?


2
来自MS / Sysinternals的PortMon无法正常工作,因为驱动程序取决于操作系统的位数。与用户模式程序不同,后者可以使用WOW64在x64系统上运行32位应用程序。
0xC0000022L2012年

Answers:



1

我过去使用与32位VM完全相同的情况时所使用的解决方法。

它不是最好的解决方案,但是它确实有效并且没有成本(除了设置虚拟机环境相关的任何成本)。


VM的例子是什么?
彼得·莫滕森

因此,您是说VM(上的进程)可以监视主机上的端口而不会阻止主机上的应用程序吗?我认为主机设备可以由主机来宾访问,但不能同时访问两者。
斯科特,

1
@Scott他建议在32位VM中运行的PortMon可以监视VM的串行连接。
jpaugh

1

如果您有另一台计算机,建议您运行POSIX OS,并socat在记录流量时将数据从一个端口“管道化”到另一个端口。这基本上就像一个基于硬件的解决方案,但是它使用的是通用硬件,而不是特殊的东西。例如这样的事情:

sudo socat -x -v -d /dev/ttyUSB0,b115200,rawer,cr /dev/ttyUSB1,b115200,rawer,cr

该程序真正的优点是,它在您可以连接到什么方面具有很高的灵活性。您可以使用TCP / IP套接字,文件/流等。转换波特率,更改行尾等。此处提供介绍性文章(日期为2009,但仍然有用)。

编辑:只是为了澄清,而不是具有这样的硬件配置:

Main computer serial port <--> Device serial port

就像这样:

Main computer serial port <--> sniffer computer serial port 1 Device serial port <--> sniffer computer serial port 2


的确如此,但是它将允许人们观察物理端口上发送或接收的所有数据。由于OP没有指定“端口”是抽象/软件还是物理/硬件,所以我认为这仍然是一个合理的答案。
iX3

@jpaugh我不明白你的意思。什么是“未运行”?只要数据流过物理端口,此解决方案就可以使用任何软件或硬件。只需在连接中附加连接一台其他计算机/设备,然后socat在记录数据时运行以转发数据。我将在答案中添加一个简单的图表,以期解决此问题。
iX3

好的。是的,我误会了。现在,我明白了,我认为您说的没错。最初,我是来这里尝试处理虚拟串行设备(例如USB)的,因此对于这种情况当然是没有意义的。对不起,泰铢。
jpaugh

1
对于USB连接调试,我强烈建议您这样做:desowin.org/usbpcap wiki.wireshark.org/CaptureSetup/USB
iX3
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.