2015-08-14 60 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并没有因为这种类型的东西而被切断。 –