2015-08-14 121 views
0

所以我有USBpcap,可以使用wireshark從我的USB鼠標捕獲數據包,現在我想寫一個程序來解釋這些數據包。我真的想要類似於Jnetpcap的東西,這樣我就可以從我的鼠標處理USB數據。使用Java的USB數據包捕獲

有誰知道從哪裏開始呢?我的目標是有一個程序,可以告訴你什麼時候你點擊鼠標,當你左右移動等等。從使用wireshark和USBpcap我知道每個數據包是什麼樣子,所以我需要一些幫助的是找到一種方法來讀取使用Java通過USB端口進來的數據包。

感謝您的幫助!

回答

0

這不可能只用java。您需要使用其他語言才能從USB端口獲取數據,然後使用JNI(Java本地接口)將數據傳輸到Java。

您可以改用C#(與Java非常相似),使用類似USB Event Tracing的東西。

您可以使用的另一種替代方法是僅監視鼠標而不是USB數據。這將帶來額外的優勢,即使用不同驅動程序的鼠標仍然可以與您的程序一起工作,更不用說這對您而言不會有什麼作用。 Here's a tutorial關於如何使用C++捕獲鼠標事件,然後通過JNI將它們發送給Java。

+0

謝謝,我將使用USB事件跟蹤來研究C#。我喜歡你的想法捕捉鼠標移動,但我想這樣做的原因是從更復雜的USB設備捕捉和解釋數據的做法。 – Calum

+0

然後你最好的選擇是使用C#或C++。由於其跨平臺性質,Java並沒有因爲這種類型的東西而被切斷。 –