使用 Java 捕获 USB 数据包

USB packet capture with Java

所以我有 USBpcap,可以使用 wireshark 从我的 USB 鼠标实时捕获数据包,现在我想编写一个程序来解释这些数据包。我真的想要类似于 Jnetpcap 的东西,这样我就可以处理来自鼠标的 USB 数据。

有人知道从哪里开始吗?我的目标是有一个程序可以告诉你什么时候点击鼠标,什么时候左右移动等等。通过将 wireshark 与 USBpcap 一起使用,我知道这些数据包中的每一个是什么样子,所以我需要一些帮助的是找到一种方法来使用 java 读取数据包,因为它们通过 USB 端口进入。

感谢您的帮助!

仅使用 java 是不可能的。您需要使用其他语言从 USB 端口获取数据,然后使用 JNI(Java 本机接口)将数据获取到 Java.

您可以改用 C#(这与 Java 非常相似),使用 USB Event Tracing.

之类的东西

您可以使用的另一种替代方法是仅监控鼠标而不是 USB 数据。这会有额外的好处,即使用不同驱动程序的鼠标仍然可以在您的程序中工作,更不用说您的工作量会少得多。 Here's a tutorial 关于如何使用 C++ 捕获鼠标事件,然后通过 JNI 将它们发送到 Java。