2016-07-15 30 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調用。這仍然可能是您期望的較低級別的視圖,但它至少會以文件形式顯示操作。