Monitor USB IO "traffic"(任何语言)
Monitor USB IO "traffic" (in whatever language)
我想知道我是否可以监控 USB 的 I/O,例如:
[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 的工作方式,那我就是个彻头彻尾的白痴,这是有道理的。
不是这个级别。
You can monitor USB traffic using Wireshark,但您看到的操作将比您在这里想象的要低 MUCH 级别。 USB 大容量存储设备不了解文件或复制数据等高级抽象;它们处理的操作主要围绕在设备内的特定位置读取和写入数据。
(顺便说一句,这意味着USB存储设备并不像你想象的那样参与文件复制。计算机完全控制文件复制,并且通过向USB设备写入数据来实现它们.USB 设备永远不会从计算机请求文件;它甚至没有任何方式请求该文件。)
更适合您需要的工具可能是 Process Monitor,它可以让您监控 Windows API 呼叫。这可能仍然是一个比您预期的更低级别的视图,但它至少会显示文件方面的操作。
我想知道我是否可以监控 USB 的 I/O,例如:
[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 的工作方式,那我就是个彻头彻尾的白痴,这是有道理的。
不是这个级别。
You can monitor USB traffic using Wireshark,但您看到的操作将比您在这里想象的要低 MUCH 级别。 USB 大容量存储设备不了解文件或复制数据等高级抽象;它们处理的操作主要围绕在设备内的特定位置读取和写入数据。
(顺便说一句,这意味着USB存储设备并不像你想象的那样参与文件复制。计算机完全控制文件复制,并且通过向USB设备写入数据来实现它们.USB 设备永远不会从计算机请求文件;它甚至没有任何方式请求该文件。)
更适合您需要的工具可能是 Process Monitor,它可以让您监控 Windows API 呼叫。这可能仍然是一个比您预期的更低级别的视图,但它至少会显示文件方面的操作。