2016-07-15 33 views
0

我想知道如果我可以监视USB的I/O,例如:监控USB IO “交通”(在任何语言)

[Ask] PC->Port 1: Requesting contents of "D:\folder\file.txt" 
[Res] Port 1->PC: File exists, <response> 

[Ask] PC->Port 1: Copy "C:\folder\file2.txt" to "D:\folder\file2.txt" 
[Ask] Port 1->PC: Requesting contents of "C:\folder\file2.txt" 
[Res] ... etc. You get the idea 

我宁愿如果我能做到这一点的Java,但C的任何变体也是可以接受的。

有没有办法完成这个?如果这不是USB如何工作,那么我是一个完全白痴,这是有道理的。

+0

它必须是USB吗?将WinAPI呼叫记录到复制工作? – a3f

+0

@ a3f我想看看为什么和我的USB做什么(看似)随机 –

+0

你检查了'usbpcap'吗? – a3f

回答

2

不在这个级别。

You can monitor USB traffic using Wireshark,但是您所看到的操作将会在您想象的更低级别上显示为很多。 USB大容量存储设备不知道文件或复制数据等高级抽象;他们所处理的操作主要是围绕在设备内的特定位置读取和写入数据。 (顺便说一句,这意味着USB存储设备不会像您想象的那样参与文件复制,计算机完全控制文件副本,并且会通过将数据写入USB设备来实现。 USB设备绝对不会要求计算机上的文件;它甚至没有任何要求的方式。)

更适合您的需求的工具可能是Process Monitor,它将允许您监视Windows API调用。这仍然可能是您期望的较低级别的视图,但它至少会以文件形式显示操作。