【问题标题】:Read Data Transferred Between USB And OS, C++读取 USB 和操作系统之间传输的数据,C++
【发布时间】:2019-11-08 23:13:23
【问题描述】:

我们有一些 USB 设备可以连续发送一些原始数据,我应该将这些数据记录到日志文件中。
所以我尝试在 GNU/Linux 和 MS-Windows 10 上使用 libusb,但我意识到当我们想使用 libusb 时,它很好地删除了内核驱动程序和所有该数据将丢失。我怎么能捕捉到原始数据?

注意: 没有任何特殊的设备驱动程序,我们正在寻找一种通用方法来获取 USB 和操作系统之间的原始传输数据。

我们在 MS-Windows 10 上使用 C++ 和 MSVC2017,在 Debian 上使用 GCC 9。

【问题讨论】:

  • 它是什么样的“设备”?它有什么作用?它传输什么样的数据?您能详细说明一下您在使用 libusb 时遇到的问题吗?
  • 不幸的是问题就在这里,我们需要编写一个程序来捕获各种设备,比如 Wireshark,我无法理解 Wireshark 是如何做到的。

标签: c++ usb libusb


【解决方案1】:

Wireshark 能够处理capturing USB 数据。根据我的经验,它在 Linux 上效果更好。

【讨论】:

  • 谢谢,Wireshark 使用的是USBPcap,它没有任何 API 文档。而且我无法理解 Wireshark 是如何使用它的。
  • 您想在保持内核驱动程序运行的同时以编程方式捕获数据吗?使用 Wireshark,您可以轻松查看和分析捕获的数据。
  • 是的,我知道 Wireshark 可以为我做这件事,但我应该编写程序为我做这件事。我看到了 Wireshark 源代码并为此阅读了 Caturing USB,但我找不到任何使用 USBPcap API 的文档。
猜你喜欢
  • 1970-01-01
  • 2017-02-25
  • 2011-03-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-18
  • 2015-07-22
相关资源
最近更新 更多